r24103: add some useful debug messages, as not all LDAP
authorStefan Metzmacher <metze@samba.org>
Tue, 31 Jul 2007 12:27:25 +0000 (12:27 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:29:07 +0000 (12:29 -0500)
libraries support wrapping hooks...

metze

source/libads/sasl.c

index 0bc741c02a450d44e71bebaa08431edc467f8bb0..fa9afd7869946e34c4f4f37981f833593dcb306b 100644 (file)
@@ -251,7 +251,13 @@ static ADS_STATUS ads_sasl_spnego_ntlmssp_bind(ADS_STRUCT *ads)
                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 +588,12 @@ static ADS_STATUS ads_sasl_spnego_gsskrb5_bind(ADS_STRUCT *ads, const gss_name_t
                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 +1070,12 @@ static ADS_STATUS ads_sasl_gssapi_do_bind(ADS_STRUCT *ads, const gss_name_t serv
                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;
        }