]> git.sur5r.net Git - openldap/commitdiff
Fix ITS#5931 crasher bits
authorQuanah Gibson-Mount <quanah@openldap.org>
Mon, 9 Feb 2009 21:30:54 +0000 (21:30 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Mon, 9 Feb 2009 21:30:54 +0000 (21:30 +0000)
CHANGES
servers/slapd/back-ldap/search.c
servers/slapd/back-meta/search.c

diff --git a/CHANGES b/CHANGES
index 3c662de1d8eced07df8ee134fb7261f4f7c91902..b371d1f4e0027f7d9833a396eacfcdae8bffc7d3 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -39,6 +39,7 @@ OpenLDAP 2.4.14 Engineering
        Fixed slapd-ldap idassert-bind validity checking (ITS#5863)
        Fixed slapd-ldap/meta RFC4525 increment support (ITS#5912)
        Fixed slapd-ldap/meta search dereferencing (ITS#5916)
+       Fixed slapd-ldap/meta with intermediate response (ITS#5931)
        Fixed slapd-ldif numerous bugs (ITS#5408)
        Fixed slapd-ldif rename on same DN (ITS#5319)
        Fixed slapd-ldif deadlock (ITS#5329)
index a3718aca4c02d83829e413f9254faacec0f2b7fe..e9788e2fbed78fe8c85f6aa6188cf7b425495edc 100644 (file)
@@ -423,6 +423,12 @@ retry:
                                rs->sr_ctrls = NULL;
                        }
 
+               } else if ( rc == LDAP_RES_INTERMEDIATE ) {
+                       Debug( LDAP_DEBUG_ANY,
+                               "%s ldap_back_search: "
+                               "intermediate response not supported yet.\n",
+                               op->o_log_prefix, 0, 0 );
+
                } else {
                        char            *err = NULL;
 
index 6f237ea08ec3c06068e22a56b972d61fa688b874..5e96995b360bf6b4868b316da1d1ae8e8939e7d4 100644 (file)
@@ -1411,6 +1411,16 @@ really_bad:;
                                         */
                                        assert( ncandidates > 0 );
                                        --ncandidates;
+
+                               } else if ( rc == LDAP_RES_INTERMEDIATE ) {
+                                       /* TODO: ITS#5931 */
+
+                                       /* ignore right now */
+                                       Debug( LDAP_DEBUG_ANY,
+                                               "%s meta_back_search[%ld]: "
+                                               "intermediate response message not supported yet.\n",
+                                               op->o_log_prefix,
+                                               i, 0 );
        
                                } else if ( rc == LDAP_RES_BIND ) {
                                        meta_search_candidate_t retcode;
@@ -1450,7 +1460,12 @@ really_bad:;
                                        }
        
                                } else {
-                                       assert( 0 );
+                                       Debug( LDAP_DEBUG_ANY,
+                                               "%s meta_back_search[%ld]: "
+                                               "unrecognized response message tag=%d\n",
+                                               op->o_log_prefix,
+                                               i, rc );
+                               
                                        ldap_msgfree( res );
                                        res = NULL;
                                        goto really_bad;