]> git.sur5r.net Git - openldap/commitdiff
import fix to ITS#5513
authorPierangelo Masarati <ando@openldap.org>
Sun, 18 May 2008 11:25:45 +0000 (11:25 +0000)
committerPierangelo Masarati <ando@openldap.org>
Sun, 18 May 2008 11:25:45 +0000 (11:25 +0000)
CHANGES
servers/slapd/back-ldap/search.c

diff --git a/CHANGES b/CHANGES
index dfd58caa15302a487082fb64fabc22cc409aa078..c921cecd6e41699bf6dc161cd49f034162e6809e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,8 @@
 OpenLDAP 2.3 Change Log
 
+OpenLDAP 2.3.43 Engineering
+       Fixed slapd-ldap entry_get() op-dependent behavior (ITS#5513)
+
 OpenLDAP 2.3.42 Release (2008/05/15)
        Fixed slapd abstract objectClass inheritance check (ITS#5474)
        Fixed slapd connection handling (ITS#5469)
index b31bc484d257330a096e8f1ac6bcf22229ec445e..23519a3ebcb10e8ba46385e7b67ced98620937c9 100644 (file)
@@ -795,8 +795,9 @@ ldap_back_entry_get(
        ldapinfo_t      *li = (ldapinfo_t *) op->o_bd->be_private;
 
        ldapconn_t      *lc = NULL;
-       int             rc = 1,
+       int             rc,
                        do_not_cache;
+       ber_tag_t       tag;
        struct berval   bdn;
        LDAPMessage     *result = NULL,
                        *e = NULL;
@@ -810,12 +811,18 @@ ldap_back_entry_get(
 
        /* Tell getconn this is a privileged op */
        do_not_cache = op->o_do_not_cache;
+       tag = op->o_tag;
+       /* do not cache */
        op->o_do_not_cache = 1;
-       if ( !ldap_back_dobind( &lc, op, &rs, LDAP_BACK_DONTSEND ) ) {
-               op->o_do_not_cache = do_not_cache;
+       /* ldap_back_entry_get() is an entry lookup, so it does not need
+        * to know what the entry is being looked up for */
+       op->o_tag = LDAP_REQ_SEARCH;
+       rc = ldap_back_dobind( &lc, op, &rs, LDAP_BACK_DONTSEND );
+       op->o_do_not_cache = do_not_cache;
+       op->o_tag = tag;
+       if ( !rc ) {
                return rs.sr_err;
        }
-       op->o_do_not_cache = do_not_cache;
 
        if ( at ) {
                attrp = attr;