]> git.sur5r.net Git - openldap/commitdiff
ITS#6665
authorQuanah Gibson-Mount <quanah@openldap.org>
Sun, 12 Dec 2010 03:08:46 +0000 (03:08 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Sun, 12 Dec 2010 03:08:46 +0000 (03:08 +0000)
CHANGES
servers/slapd/back-meta/search.c

diff --git a/CHANGES b/CHANGES
index b05b85f0a5978b10cb1011d9e1b6861ef3245073..3a9e211cbd84b544296217b776d2aaffaef6b08f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -11,6 +11,7 @@ OpenLDAP 2.4.24 Engineering
        Fixed slapd-bdb entry cache delete failure (ITS#6577)
        Fixed slapd-ndb to honor rootpw setting (ITS#6661)
        Fixed slapd-meta anon retry with failed auth method (ITS#6643)
+       Fixed slapd-meta rebind proc (ITS#6665)
        Fixed slapd-null back-config support (ITS#6624)
        Fixed slapo-pcache callback freeing (ITS#6640)
        Fixed slapo-pcache to ignore undefined attrs (ITS#6600)
index 38271b86752063dbc552b626008905aa6b0956d1..00000313cdebf76498c3a8fe185468b568bd2205 100644 (file)
@@ -378,6 +378,7 @@ meta_search_dobind_result(
        LDAPMessage             *res )
 {
        metainfo_t              *mi = ( metainfo_t * )op->o_bd->be_private;
+       metatarget_t            *mt = mi->mi_targets[ candidate ];
        metaconn_t              *mc = *mcp;
        metasingleconn_t        *msc = &mc->mc_conns[ candidate ];
 
@@ -418,6 +419,12 @@ meta_search_dobind_result(
                        LDAP_BACK_CONN_ISANON_SET( msc );
 
                } else {
+                       if ( META_BACK_TGT_SAVECRED( mt ) &&
+                               !BER_BVISNULL( &msc->msc_cred ) &&
+                               !BER_BVISEMPTY( &msc->msc_cred ) )
+                       {
+                               ldap_set_rebind_proc( msc->msc_ld, mt->mt_rebind_f, msc );
+                       }
                        LDAP_BACK_CONN_ISBOUND_SET( msc );
                }
                retcode = META_SEARCH_CANDIDATE;