diff --git a/package-lock.json b/package-lock.json index 77515f7b5d2..3a6831f3c13 100644 --- a/package-lock.json +++ b/package-lock.json @@ -89594,6 +89594,7 @@ "ampersand-rest-collection": "^6.0.0", "debug": "^4.1.1", "lodash": "^4.17.15", + "mongodb-connection-string-url": "^1.0.0", "mongodb3": "npm:mongodb@^3.6.3", "raf": "^3.4.1", "ssh2": "^0.8.7", @@ -163912,6 +163913,7 @@ "mocha": "^8.0.1", "mock-require": "^3.0.3", "mongodb": "4.0.0-beta.5", + "mongodb-connection-string-url": "^1.0.0", "mongodb-runner": "^4.8.1", "mongodb3": "npm:mongodb@^3.6.3", "proxyquire": "^2.1.0", diff --git a/packages/connection-model/lib/connect.js b/packages/connection-model/lib/connect.js index e01b66a2a8f..950857162e6 100644 --- a/packages/connection-model/lib/connect.js +++ b/packages/connection-model/lib/connect.js @@ -2,6 +2,7 @@ const { EventEmitter, once } = require('events'); const { MongoClient } = require('mongodb'); const { default: SSHTunnel } = require('@mongodb-js/ssh-tunnel'); +const { default: ConnectionString } = require('mongodb-connection-string-url'); const Connection = require('./extended-model'); @@ -12,6 +13,12 @@ const { const debug = require('debug')('mongodb-connection-model:connect'); +function removeGssapiServiceName(url) { + const uri = new ConnectionString(url); + uri.searchParams.delete('gssapiServiceName'); + return uri.toString(); +} + async function openSshTunnel(model) { if (!model.sshTunnel || model.sshTunnel === 'NONE' || @@ -59,7 +66,7 @@ async function connect(model, setupListeners) { debug('connecting ...'); - const url = model.driverUrlWithSsh; + const url = removeGssapiServiceName(model.driverUrlWithSsh); const options = { ...model.driverOptions }; diff --git a/packages/connection-model/package.json b/packages/connection-model/package.json index 84de7d50ec9..39c87f48f43 100644 --- a/packages/connection-model/package.json +++ b/packages/connection-model/package.json @@ -32,6 +32,7 @@ "ampersand-rest-collection": "^6.0.0", "debug": "^4.1.1", "lodash": "^4.17.15", + "mongodb-connection-string-url": "^1.0.0", "mongodb3": "npm:mongodb@^3.6.3", "raf": "^3.4.1", "ssh2": "^0.8.7",