]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#7249 Let backend_attribute know who's calling it
authorOndřej Kuzník <ondra@mistotebe.net>
Thu, 16 Jan 2025 15:26:52 +0000 (15:26 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Wed, 19 Feb 2025 17:29:04 +0000 (17:29 +0000)
servers/slapd/overlays/memberof.c

index 052d4eeee99d47e958b1c1dd35d048a2186bfc2b..391c94ee0c5ea641d3b1256f93d061b313637c94 100644 (file)
@@ -1301,10 +1301,8 @@ done2:;
        if ( save_member ) {
                op->o_dn = op->o_bd->be_rootdn;
                op->o_ndn = op->o_bd->be_rootndn;
-               op->o_bd->bd_info = (BackendInfo *)on->on_info;
                rc = backend_attribute( op, NULL, &op->o_req_ndn,
                                mo->mo_ad_member, &mci->member, ACL_READ );
-               op->o_bd->bd_info = (BackendInfo *)on;
        }
 
        sc->sc_next = op->o_callback;
@@ -1503,10 +1501,8 @@ memberof_res_modify( Operation *op, SlapReply *rs )
 
                case LDAP_MOD_REPLACE:
                        /* delete all ... */
-                       op->o_bd->bd_info = (BackendInfo *)on->on_info;
                        rc = backend_attribute( op, NULL, &op->o_req_ndn,
                                        mo->mo_ad_memberof, &vals, ACL_READ );
-                       op->o_bd->bd_info = (BackendInfo *)on;
                        if ( rc == LDAP_SUCCESS ) {
                                for ( i = 0; !BER_BVISNULL( &vals[ i ] ); i++ ) {
                                        memberof_value_modify( op,
@@ -1641,10 +1637,8 @@ memberof_res_modrdn( Operation *op, SlapReply *rs )
        }
 
        if ( mci->what & MEMBEROF_IS_GROUP ) {
-               op->o_bd->bd_info = (BackendInfo *)on->on_info;
                rc = backend_attribute( op, NULL, &op->orr_nnewDN,
                                mo->mo_ad_member, &vals, ACL_READ );
-               op->o_bd->bd_info = (BackendInfo *)on;
 
                if ( rc == LDAP_SUCCESS ) {
                        for ( i = 0; !BER_BVISNULL( &vals[ i ] ); i++ ) {
@@ -1658,10 +1652,8 @@ memberof_res_modrdn( Operation *op, SlapReply *rs )
        }
 
        if ( MEMBEROF_REFINT( mo ) && ( mci->what & MEMBEROF_IS_MEMBER ) ) {
-               op->o_bd->bd_info = (BackendInfo *)on->on_info;
                rc = backend_attribute( op, NULL, &op->orr_nnewDN,
                                mo->mo_ad_memberof, &vals, ACL_READ );
-               op->o_bd->bd_info = (BackendInfo *)on;
 
                if ( rc == LDAP_SUCCESS ) {
                        for ( i = 0; !BER_BVISNULL( &vals[ i ] ); i++ ) {