]> git.sur5r.net Git - openldap/blobdiff - contrib/slapd-modules/cloak/cloak.c
Merge remote-tracking branch 'origin/mdb.master' into OPENLDAP_REL_ENG_2_4
[openldap] / contrib / slapd-modules / cloak / cloak.c
index 8121563be9c324a8ccf4d6d2710315bb2992d3fc..5c7f56988369913976dbc5dde0b2496125dd7378 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2008-2010 The OpenLDAP Foundation.
+ * Copyright 2008-2013 The OpenLDAP Foundation.
  * Portions Copyright 2008 Emmanuel Dreyfus
  * All rights reserved.
  *
@@ -220,10 +220,8 @@ cloak_search_response_cb( Operation *op, SlapReply *rs )
        /*
         * We are now committed to cloak an attribute.
         */
-       if ( rs->sr_flags & REP_ENTRY_MODIFIABLE )
-               me = e;
-       else
-               me = entry_dup( e );
+       rs_entry2modifiable( op, rs, (slap_overinst *) op->o_bd->bd_info );
+       me = rs->sr_entry;
                
        for ( ci = (cloak_info_t *)sc->sc_private; ci; ci = ci->ci_next ) {
                Attribute *a;
@@ -250,14 +248,6 @@ cloak_search_response_cb( Operation *op, SlapReply *rs )
 
        }
 
-       if ( me != e ) {
-               if ( rs->sr_flags & REP_ENTRY_MUSTBEFREED )
-                       entry_free( e );
-
-               rs->sr_entry = me;
-               rs->sr_flags |= REP_ENTRY_MODIFIABLE | REP_ENTRY_MUSTBEFREED;
-       }
-
        return ( SLAP_CB_CONTINUE );
 }