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;
        }

Reply via email to