-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Command Logging and Monitoring
Motivation
See linked ticket
Open Questions
- What do we mean by "redact"?
- We will replace the credentials with an empty object.
User & Downstream impact
- Removes access to the credentials via the ConnectionPoolCreatedEvent
- Prevents accidental printing of credentials
Implementation Requirements
- Redact the credentials from the options object `ConnectionPoolCreatedEvent.constructor` by replacing them with an empty object (`{}`). (Be sure to not modify the input options)
- Update the typescript to properly declare the empty object
The v6 fix removed all non-spec properties from `ConnectionPoolCreatedEvent.options`. For our 4.x and 5.x fixes, we only want to redact the credentials.
Testing Requirements
- When auth is not enabled for the server + driver, confirm that a `ConnectionPoolCreatedEvent` does not have a `credentials` property on its `options` property.
- When auth is enabled, confirm that `ConnectionPoolCreatedEvent` has a `credentials` property that is an empty object `{}`.