diff --git a/CHANGES b/CHANGES index 22caa824763e3ff9ede86a51aa8f6faa74bb9ae7..943dec55a8c9a8e43474a32c388e0cd1c2c2e84c 100644 --- a/CHANGES +++ b/CHANGES @@ -23,6 +23,7 @@ OpenLDAP 2.4.14 Engineering Fixed slapd-ldif rename on same DN (ITS#5319) Fixed slapd-ldif deadlock (ITS#5329) Fixed slapd-meta double response sending (ITS#5854) + Fixed slapd-meta alias deref for retry (ITS#5889) Fixed slapo-ppolicy to not be global (ITS#5858) Updated contrib/addpartial module (ITS#5764) Added contrib/cloak module (ITS#5872) diff --git a/servers/slapd/back-meta/search.c b/servers/slapd/back-meta/search.c index da9fa387ec965150073752bcd8bb57ddfd7d62ea..c90e0e13fc9c7cbe11d00222dc12509d3a490748 100644 --- a/servers/slapd/back-meta/search.c +++ b/servers/slapd/back-meta/search.c @@ -583,13 +583,6 @@ meta_back_search_start( goto done; } - /* should we check return values? */ - if ( op->ors_deref != -1 ) { - assert( msc->msc_ld != NULL ); - (void)ldap_set_option( msc->msc_ld, LDAP_OPT_DEREF, - ( void * )&op->ors_deref ); - } - if ( op->ors_tlimit != SLAP_NO_LIMIT ) { tv.tv_sec = op->ors_tlimit > 0 ? op->ors_tlimit : 1; tv.tv_usec = 0; @@ -597,6 +590,13 @@ meta_back_search_start( } retry:; + /* should we check return values? */ + if ( op->ors_deref != -1 ) { + assert( msc->msc_ld != NULL ); + (void)ldap_set_option( msc->msc_ld, LDAP_OPT_DEREF, + ( void * )&op->ors_deref ); + } + ctrls = op->o_ctrls; if ( meta_back_controls_add( op, rs, *mcp, candidate, &ctrls ) != LDAP_SUCCESS )