diff --git a/CHANGES b/CHANGES index 3c662de1d8eced07df8ee134fb7261f4f7c91902..b371d1f4e0027f7d9833a396eacfcdae8bffc7d3 100644 --- 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) diff --git a/servers/slapd/back-ldap/search.c b/servers/slapd/back-ldap/search.c index a3718aca4c02d83829e413f9254faacec0f2b7fe..e9788e2fbed78fe8c85f6aa6188cf7b425495edc 100644 --- a/servers/slapd/back-ldap/search.c +++ b/servers/slapd/back-ldap/search.c @@ -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; diff --git a/servers/slapd/back-meta/search.c b/servers/slapd/back-meta/search.c index 6f237ea08ec3c06068e22a56b972d61fa688b874..5e96995b360bf6b4868b316da1d1ae8e8939e7d4 100644 --- a/servers/slapd/back-meta/search.c +++ b/servers/slapd/back-meta/search.c @@ -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;