s3-libads: Print the debug string of a failed call with LDAP_OTHER.
authorAndreas Schneider <asn@samba.org>
Wed, 12 Jun 2013 08:07:22 +0000 (10:07 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 12 Jun 2013 11:46:57 +0000 (13:46 +0200)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Wed Jun 12 13:46:57 CEST 2013 on sn-devel-104

source3/libads/ldap.c

index 2a4a83b34ae9ea9aff53e8e85debb6ee88967090..c8ef5b5774d72a4fefadbaaf1c449a54c851c2f9 100644 (file)
@@ -1041,6 +1041,24 @@ static ADS_STATUS ads_do_paged_search_args(ADS_STRUCT *ads,
        if (rc) {
                DEBUG(3,("ads_do_paged_search_args: ldap_search_with_timeout(%s) -> %s\n", expr,
                         ldap_err2string(rc)));
+               if (rc == LDAP_OTHER) {
+                       char *ldap_errmsg;
+                       int ret;
+
+                       ret = ldap_parse_result(ads->ldap.ld,
+                                               *res,
+                                               NULL,
+                                               NULL,
+                                               &ldap_errmsg,
+                                               NULL,
+                                               NULL,
+                                               0);
+                       if (ret == LDAP_SUCCESS) {
+                               DEBUG(3, ("ldap_search_with_timeout(%s) "
+                                         "error: %s\n", expr, ldap_errmsg));
+                               ldap_memfree(ldap_errmsg);
+                       }
+               }
                goto done;
        }