Dan White wrote:
On 04/19/15 17:11 +0000, Osipov, Michael wrote:
On 04/15/15 21:10 +0000, Osipov, Michael wrote:
Hi folks,
I am binding against Active Directory with GSSAPI mech and would
like to disable SASL integrity for debugging purposes with Wireshark. Unfortunately, this call fails:
Setting a minssf should not be necessary. Do you also get this error with "maxssf=0"? "maxssf=1" may be a more workable option, since encryption is really what you want to turn off, not integrity.
Yes, the error remains the same. Maxssf=1 does not help because integrity won't be disabled. The encryption you are talking about is GSS confidentiality which won't be active anyway with maxssf=1.
I recall being able to capture GSSAPI traffic with wireshark several
years
ago. I wasn't doing it programatically though. I was either using
maxssf=1
or maxssf=0, and was likely using Heimdal.
If all you want is a readable packet log, you only need to disable confidentiality, not integrity.
This is what I did but having a look at the Wireshark output, you'll See SASL GSS-API Integrity with a hexdump of the data not a browseable Structure.
Meanwhile, you can just use libldap's packet logging if you want a packet trace even with confidentiality.
To be honest, the documentation is extremely short on that. I have tried debugging on ldapsearch first and did not find any enumeration of the debug levels. Only googling revealed level 7. After that, I tried to apply that to my code by reading ldapsearch.c/common.c it did not work. I ended by reverse engineering other source code and did
int debug_level = -1; rc = ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, &debug_level); ber_set_option(NULL, LBER_OPT_BER_DEBUG, &debug_level);
I am still not happy with that.
Michael