Author: metze Date: 2007-07-31 12:32:01 +0000 (Tue, 31 Jul 2007) New Revision: 24105
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24105 Log: merge from SAMBA_3_2: add some useful debug messages, as not all LDAP libraries support wrapping hooks... metze Modified: branches/SAMBA_3_2_0/source/libads/sasl.c Changeset: Modified: branches/SAMBA_3_2_0/source/libads/sasl.c =================================================================== --- branches/SAMBA_3_2_0/source/libads/sasl.c 2007-07-31 12:30:37 UTC (rev 24104) +++ branches/SAMBA_3_2_0/source/libads/sasl.c 2007-07-31 12:32:01 UTC (rev 24105) @@ -126,6 +126,7 @@ struct berval cred, *scred = NULL; int rc; NTSTATUS nt_status; + ADS_STATUS status; int turn = 1; uint32 features = 0; @@ -251,7 +252,13 @@ ads->ldap.out.sig_size = NTLMSSP_SIG_SIZE; ads->ldap.in.min = 4; ads->ldap.in.max = 0x0FFFFFFF; - ads_setup_sasl_wrapping(ads, &ads_sasl_ntlmssp_ops, ntlmssp_state); + status = ads_setup_sasl_wrapping(ads, &ads_sasl_ntlmssp_ops, ntlmssp_state); + if (!ADS_ERR_OK(status)) { + DEBUG(0, ("ads_setup_sasl_wrapping() failed: %s\n", + ads_errstr(status))); + ntlmssp_end(&ntlmssp_state); + return status; + } } else { ntlmssp_end(&ntlmssp_state); } @@ -582,7 +589,12 @@ ads->ldap.out.sig_size = max_msg_size - ads->ldap.out.max; ads->ldap.in.min = 4; ads->ldap.in.max = max_msg_size; - ads_setup_sasl_wrapping(ads, &ads_sasl_gssapi_ops, context_handle); + status = ads_setup_sasl_wrapping(ads, &ads_sasl_gssapi_ops, context_handle); + if (!ADS_ERR_OK(status)) { + DEBUG(0, ("ads_setup_sasl_wrapping() failed: %s\n", + ads_errstr(status))); + goto failed; + } /* make sure we don't free context_handle */ context_handle = GSS_C_NO_CONTEXT; } @@ -1059,7 +1071,12 @@ ads->ldap.out.sig_size = max_msg_size - ads->ldap.out.max; ads->ldap.in.min = 4; ads->ldap.in.max = max_msg_size; - ads_setup_sasl_wrapping(ads, &ads_sasl_gssapi_ops, context_handle); + status = ads_setup_sasl_wrapping(ads, &ads_sasl_gssapi_ops, context_handle); + if (!ADS_ERR_OK(status)) { + DEBUG(0, ("ads_setup_sasl_wrapping() failed: %s\n", + ads_errstr(status))); + goto failed; + } /* make sure we don't free context_handle */ context_handle = GSS_C_NO_CONTEXT; }