Fix enabling SASL_SEC_NONSTD_CBIND#882
Conversation
This security flag is supposed to allow explicitly enabling channel bindings for the GSSAPI mechanism. However, if I set this flag in the test programs it results in the mechanism being rejected when the library checks to see if it's suitable. Adding it to the flags defined in the plugins fixed the tests, but also appeared to revert to channel bindings being enabled by default. The only way I was able to get the tests working and still require explicit enablement was to ignore this flag while doing the comparisons, which feels wrong but it's been over a year and no one has offered an alternative solution. Signed-off-by: Paul Arthur <paul.arthur@flowerysong.com>
|
@flowerysong Did you see my proposal (#853 (comment)) for an alternative solution? |
|
@GuidoKiener I have an interest in fixing the test suite, which is currently broken because GSSAPI channel bindings are no longer enabled by default, and cannot be enabled by setting the flag that is supposed to enable them. This change fixes the existing, broken functionality. You appear to be proposing a more comprehensive overhaul of how channel bindings work, which is not something I have an opinion on. That would require me to know what they are and care how they are used. |
|
(English text is revised by Chatgpt. Thanks!) Why Channel Binding Is ImportantChannel binding helps detect “man-in-the-middle” (MITM) attacks. Some organizations or tools can intercept encrypted connections between a client and a server by using forged certificates. Channel binding mitigates such attacks because the client and server incorporate shared, cryptographically bound secrets into the authentication process — secrets that a MITM attacker cannot reproduce without brute force. Test Suite and GSSAPII assume the test suite currently works with Cyrus SASL version 2.1.28, but not version 2.2.0. Enabling OpenLDAPChannel binding support for GSSAPI was introduced by 975edbb from @simo5 on the main branch, sparking a discussion about its correctness. A related article from Microsoft provides further context: Recommendation: Remove the
|
|
@GuidoKiener I'm not going to read that, since you couldn't be bothered to write it. I don't think any part of my answer was unclear or invited you to vomit text at me, but I'll restate: I don't have a position on whether channel binding support should be reworked, and I will not be putting in the effort to form an opinion. There is currently a feature in |
|
@flowerysong : Hmm, it's a pity. I spent some time to write this summary for you and the community. Chatgpt only does a nice rewording of my text. Nevertheless, it's not my project and I wish you good luck! |
|
The issue here is not thinking that channel binding is without value. It is these facts together:
So I am trying to figure out how a safe and responsible release of cyrus-sasl can get made, but until that happens, this ticket is effectively blocked. |
Fixes #853
This security flag is supposed to allow explicitly enabling channel bindings for the GSSAPI mechanism. However, if I set this flag in the test programs it results in the mechanism being rejected when the library checks to see if it's suitable. Adding it to the flags defined in the plugins fixed the tests, but also appeared to revert to channel bindings being enabled by default.
The only way I was able to get the tests working and still require explicit enablement was to ignore this flag while doing the comparisons, which feels wrong but it's been over a year and no one has offered an alternative solution so maybe it's correct.