Based on https://jira.mongodb.org/browse/CDRIVER-323, the canonicalizeHostName flag is being passed in the uri string during kerberos authentication. When using the mongo-c-driver v1.5.0 with kerberos authetication, the driver hangs when using canonicalizeHostName=true. Precisely, the hang takes places inside the _mongoc_cluster_get_canonicalized_name function. This hang was not observed when using the mongo-c-driver v1.1.10. Not sure if this is the cause but the implementation of mongoc_stream_get_base_stream function (called within _mongoc_cluster_get_canonicalized_name) has changed since the 1.1.10 version.
If the flag (canonicalizeHostName) is not set at all, then the kerberos authentication mechanism works for the mongo-c-driver v1.5.0. Is using the flag a requirement?
The testing was performed with the following setup:
MongoDB server version: 3.4.4 (enterprise)
MongoDB server installed on: Centos 7
MongoDB Client on: Centos7 (tested on Windows 7 as well)
Mongo-c-driver version: 1.5.0
In case it is helpful, the format of the connection string being used when using canonicalizedHostName is:
mongodb://example%20TEST.COM@mongocdriver:27017/test?authMechanism=GSSAPI&gssapiServiceName=mongodb&canonicalizeHostname=true&connectTimeoutMS=1213&serverSelectionTimeoutMS=1234&socketTimeoutMS=123321
- is related to
-
CDRIVER-323 Support canonicalizeHostname from URI option.
- Closed