ldapts: LDAP SASL `EXTERNAL` broken in 4.2.0
Version 4.1.1 works fine, but 4.2.0 breaks this:
await client.bind('EXTERNAL');
It gives:
SaslBindInProgressError: SASL(0): successful result: Code: 0xe
at StatusCodeParser.parse (/home/user1/code/projectA/node_modules/ldapts/StatusCodeParser.js:28:24)
at Client._sendBind (/home/user1/code/projectA/node_modules/ldapts/Client.js:472:55)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Client.bindSASL (/home/user1/code/projectA/node_modules/ldapts/Client.js:168:9)
at async Client.bind (/home/user1/code/projectA/node_modules/ldapts/Client.js:141:13)
at async getUserDetails (file:///home/user1/code/projectA/framework/authentication/ldapAdp.js:210:7)
at async Strategy._verify (file:///home/user1/code/projectA/framework/authentication/ldapAdp.js:100:13) {
code: 14,
response: BindResponse {
version: 3,
messageId: 2,
controls: [],
status: 14,
matchedDN: '',
errorMessage: 'SASL(0): successful result: ',
data: [Array],
protocolOperation: 97
}
}
}
There is something in https://github.com/ldapts/ldapts/pull/120 that must handle this incorrect.
For info: Calling BIND twice does not help.
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 15 (15 by maintainers)
Mine too
my tests are successful too
@jgeurts just update and tested and can confirm the version above is working
Could you please try ldapts@5.0.0-beta1 when you have a chance?
@wattry @TimoHocker the fix works 😃
@TimoHocker I’m going to put in a PR with the change necessary to fix this for external binds from failing without a password. I think it’s a better change from a usability standpoint although I think a warning is annoying on your end.