[CDRIVER-2579] Handshake changes for SDAM and Auth Created: 29/Mar/18  Updated: 10/Jan/24  Resolved: 13/Jun/18

Status: Closed
Project: C Driver
Component/s: auth
Affects Version/s: None
Fix Version/s: 1.11.0

Type: New Feature Priority: Major - P3
Reporter: Rathi Gnanasekaran Assignee: Kevin Albertson
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by CXX-1541 Handshake changes for SDAM and Auth Closed
is depended on by PHPC-1153 Handshake changes for SDAM and Auth Closed
is depended on by DRIVERS-466 Handshake changes for SDAM and Auth Closed
Related
related to CDRIVER-4812 Single-threaded monitoring commands m... Backlog
Epic Link: CDRIVER MongoDB 4.0 Support
Backwards Compatibility: Fully Compatible

 Description   

tl;dr:

  • Monitoring-only sockets must not send SCRAM mechanism negotiation in isMaster and must not authenticate at all.
  • Non-monitoring sockets (e.g. connection pool or single-threaded client) do a "normal" handshake and authenticate if there are credentials.
  • An authentication error on a socket must close all (and only) non-monitoring sockets to the same server.

Possible backward breaking change:

  • Some drivers were resetting a server's topology description to Unknown on an authentication error and should stop doing so. This means the topology will always be "correct" even when authentication fails.
  • It will no longer be possible for authentication errors to be masked as server selection errors.

Detailed changes:



 Comments   
Comment by Githook User [ 13/Jun/18 ]

Author:

{'username': 'kevinAlbs', 'name': 'Kevin Albertson', 'email': 'kevin.albertson@10gen.com'}

Message: CDRIVER-2579 handshake changes for auth

Negotiate auth mechanisms when authenticating against a node. Single
threaded clients negotiate in the topology scanner the first time
running an ismaster against a node. Pooled clients negotiate when
a cluster stream is created.
Branch: master
https://github.com/mongodb/mongo-c-driver/commit/c67dc1636596d9340b8e5fe8e0c41cc4aa90fb76

Generated at Wed Feb 07 21:15:40 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.