]> git.sur5r.net Git - openldap/commitdiff
merge sml_managing into sml_flags (SLAP_MOD_MANAGING)
authorPierangelo Masarati <ando@openldap.org>
Thu, 18 Aug 2005 08:48:10 +0000 (08:48 +0000)
committerPierangelo Masarati <ando@openldap.org>
Thu, 18 Aug 2005 08:48:10 +0000 (08:48 +0000)
servers/slapd/acl.c
servers/slapd/add.c
servers/slapd/modify.c
servers/slapd/modrdn.c
servers/slapd/overlays/ppolicy.c
servers/slapd/overlays/refint.c
servers/slapd/passwd.c
servers/slapd/sasl.c
servers/slapd/slap.h
servers/slapd/syncrepl.c

index cb6c91ba802985099952a6ad19c6e5e5c9893dc0..a96104f84fa925b21f9123283e91db5566cdd107 100644 (file)
@@ -2312,7 +2312,7 @@ acl_check_modlist(
                 * by the user
                 */
                if ( is_at_no_user_mod( mlist->sml_desc->ad_type )
-                               && !mlist->sml_managing )
+                               && ! ( mlist->sml_flags & SLAP_MOD_MANAGING ) )
                {
                        Debug( LDAP_DEBUG_ACL, "acl: no-user-mod %s:"
                                " modify access granted\n",
@@ -2329,7 +2329,7 @@ acl_check_modlist(
                         */
                        if ( ! access_allowed( op, e,
                                mlist->sml_desc, NULL,
-                               mlist->sml_managing ? ACL_MANAGE : ACL_WDEL,
+                               ( mlist->sml_flags & SLAP_MOD_MANAGING ) ? ACL_MANAGE : ACL_WDEL,
                                &state ) )
                        {
                                ret = 0;
@@ -2349,7 +2349,7 @@ acl_check_modlist(
                        {
                                if ( ! access_allowed( op, e,
                                        mlist->sml_desc, bv,
-                                       mlist->sml_managing ? ACL_MANAGE : ACL_WADD,
+                                       ( mlist->sml_flags & SLAP_MOD_MANAGING ) ? ACL_MANAGE : ACL_WADD,
                                        &state ) )
                                {
                                        ret = 0;
@@ -2362,7 +2362,7 @@ acl_check_modlist(
                        if ( mlist->sml_values == NULL ) {
                                if ( ! access_allowed( op, e,
                                        mlist->sml_desc, NULL,
-                                       mlist->sml_managing ? ACL_MANAGE : ACL_WDEL,
+                                       ( mlist->sml_flags & SLAP_MOD_MANAGING ) ? ACL_MANAGE : ACL_WDEL,
                                        NULL ) )
                                {
                                        ret = 0;
@@ -2376,7 +2376,7 @@ acl_check_modlist(
                        {
                                if ( ! access_allowed( op, e,
                                        mlist->sml_desc, bv,
-                                       mlist->sml_managing ? ACL_MANAGE : ACL_WDEL,
+                                       ( mlist->sml_flags & SLAP_MOD_MANAGING ) ? ACL_MANAGE : ACL_WDEL,
                                        &state ) )
                                {
                                        ret = 0;
index e446eaf2480da8afa9fb190502d12472bf23aa5b..7df87348aa1c7b1b5b8740e63044c4b5e5b24230 100644 (file)
@@ -110,7 +110,6 @@ do_add( Operation *op, SlapReply *rs )
                }
 
                mod  = (Modifications *) ch_malloc( sizeof(Modifications) );
-               mod->sml_managing = 0;
                mod->sml_op = LDAP_MOD_ADD;
                mod->sml_flags = 0;
                mod->sml_next = NULL;
@@ -578,7 +577,6 @@ slap_entry2mods(
        while ( a_new != NULL ) {
                a_new_desc = a_new->a_desc;
                mod = (Modifications *) malloc( sizeof( Modifications ));
-               mod->sml_managing = 0;
                
                mod->sml_op = LDAP_MOD_REPLACE;
                mod->sml_flags = 0;
index e25b40b81feb8e87cc25df40d521a10baf5f23ee..ba5477b7f8f4845d6065d2822633212f59038c21 100644 (file)
@@ -106,7 +106,6 @@ do_modify(
                mod->sml_values = tmp.sml_values;
                mod->sml_nvalues = NULL;
                mod->sml_desc = NULL;
-               mod->sml_managing = 0;
                mod->sml_next = NULL;
                *modtail = mod;
 
@@ -502,7 +501,7 @@ slap_mods_no_user_mod_check(
 
                if ( get_manageDIT( op ) ) {
                        if ( ml->sml_desc->ad_type->sat_flags & SLAP_AT_MANAGEABLE ) {
-                               ml->sml_managing = 1;
+                               ml->sml_flags |= SLAP_MOD_MANAGING;
                                continue;
                        }
 
@@ -884,7 +883,6 @@ int slap_mods_opattrs(
                        if( rc != LDAP_SUCCESS ) return rc;
 
                        mod = (Modifications *) ch_malloc( sizeof( Modifications ) );
-                       mod->sml_managing = 0;
                        mod->sml_op = mop;
                        mod->sml_flags = SLAP_MOD_INTERNAL;
                        BER_BVZERO( &mod->sml_type );
@@ -920,7 +918,6 @@ int slap_mods_opattrs(
                                tmpval.bv_val = uuidbuf;
                        
                                mod = (Modifications *) ch_malloc( sizeof( Modifications ) );
-                               mod->sml_managing = 0;
                                mod->sml_op = mop;
                                mod->sml_flags = SLAP_MOD_INTERNAL;
                                BER_BVZERO( &mod->sml_type );
@@ -953,7 +950,6 @@ int slap_mods_opattrs(
 
                        if ( mod == *modtail ) {
                                mod = (Modifications *) ch_malloc( sizeof( Modifications ) );
-                               mod->sml_managing = 0;
                                mod->sml_op = mop;
                                mod->sml_flags = SLAP_MOD_INTERNAL;
                                BER_BVZERO( &mod->sml_type );
@@ -983,7 +979,6 @@ int slap_mods_opattrs(
 
                        if ( mod == *modtail ) {
                                mod = (Modifications *) ch_malloc( sizeof( Modifications ) );
-                               mod->sml_managing = 0;
                                mod->sml_op = mop;
                                mod->sml_flags = SLAP_MOD_INTERNAL;
                                BER_BVZERO( &mod->sml_type );
@@ -1002,7 +997,6 @@ int slap_mods_opattrs(
 
        if ( SLAP_LASTMOD( op->o_bd ) ) {
                mod = (Modifications *) ch_malloc( sizeof( Modifications ) );
-               mod->sml_managing = 0;
                mod->sml_op = mop;
                mod->sml_flags = SLAP_MOD_INTERNAL;
                BER_BVZERO( &mod->sml_type );
@@ -1026,7 +1020,6 @@ int slap_mods_opattrs(
 
                if ( mod == *modtail ) {
                        mod = (Modifications *) ch_malloc( sizeof( Modifications ) );
-                       mod->sml_managing = 0;
                        mod->sml_op = mop;
                        mod->sml_flags = SLAP_MOD_INTERNAL;
                        BER_BVZERO( &mod->sml_type );
@@ -1055,7 +1048,6 @@ int slap_mods_opattrs(
 
                if ( mod == *modtail ) {
                        mod = (Modifications *) ch_malloc( sizeof( Modifications ) );
-                       mod->sml_managing = 0;
                        mod->sml_op = mop;
                        mod->sml_flags = SLAP_MOD_INTERNAL;
                        BER_BVZERO( &mod->sml_type );
index 3412b9319b2b57b7f5261c182e148057626e138f..f54f714103772eb95bcc8a3de356dd6e5668e478 100644 (file)
@@ -443,7 +443,6 @@ slap_modrdn2mods(
                }
                mod_tmp->sml_op = SLAP_MOD_SOFTADD;
                mod_tmp->sml_flags = SLAP_MOD_INTERNAL;
-               mod_tmp->sml_managing = 0;
                mod_tmp->sml_next = mod;
                mod = mod_tmp;
        }
@@ -499,7 +498,6 @@ slap_modrdn2mods(
                        }
                        mod_tmp->sml_op = LDAP_MOD_DELETE;
                        mod_tmp->sml_flags = SLAP_MOD_INTERNAL;
-                       mod_tmp->sml_managing = 0;
                        mod_tmp->sml_next = mod;
                        mod = mod_tmp;
                }
index eaa21a70281e16cb42a68d3057a067c48831451d..6d0757c2dfc64d59af8b0b1ac99156f80553fe59 100644 (file)
@@ -241,7 +241,6 @@ account_locked( Operation *op, Entry *e,
                        m->sml_flags = 0;
                        m->sml_type = ad_pwdAccountLockedTime->ad_cname;
                        m->sml_desc = ad_pwdAccountLockedTime;
-                       m->sml_managing = 0;
                        m->sml_next = *mod;
                        *mod = m;
                }
@@ -714,7 +713,6 @@ ppolicy_bind_resp( Operation *op, SlapReply *rs )
                m->sml_values = ch_calloc( sizeof(struct berval), 2 );
 
                ber_dupbv( &m->sml_values[0], &timestamp );
-               m->sml_managing = 0;
                m->sml_next = mod;
                mod = m;
 
@@ -761,7 +759,6 @@ ppolicy_bind_resp( Operation *op, SlapReply *rs )
                        m->sml_desc = ad_pwdAccountLockedTime;
                        m->sml_values = ch_calloc( sizeof(struct berval), 2 );
                        ber_dupbv( &m->sml_values[0], &timestamp );
-                       m->sml_managing = 0;
                        m->sml_next = mod;
                        mod = m;
                }
@@ -776,7 +773,6 @@ ppolicy_bind_resp( Operation *op, SlapReply *rs )
                        m->sml_flags = 0;
                        m->sml_type = ad_pwdFailureTime->ad_cname;
                        m->sml_desc = ad_pwdFailureTime;
-                       m->sml_managing = 0;
                        m->sml_next = mod;
                        mod = m;
                }
@@ -865,7 +861,6 @@ grace:
                m->sml_desc = ad_pwdGraceUseTime;
                m->sml_values = ch_calloc( sizeof(struct berval), 2 );
                ber_dupbv( &m->sml_values[0], &timestamp );
-               m->sml_managing = 0;
                m->sml_next = mod;
                mod = m;
 
@@ -1306,7 +1301,6 @@ ppolicy_modify( Operation *op, SlapReply *rs )
                ml->sml_values[1].bv_len = 0;
                ml->sml_values[1].bv_val = NULL;
                ml->sml_nvalues = NULL;
-               ml->sml_managing = 0;
                ml->sml_next = op->orm_modlist;
                op->orm_modlist = ml;
                delmod = ml;
@@ -1465,7 +1459,6 @@ do_modify:
                }
                mods->sml_flags = SLAP_MOD_INTERNAL;
                mods->sml_nvalues = NULL;
-               mods->sml_managing = 0;
                mods->sml_next = NULL;
                modtail->sml_next = mods;
                modtail = mods;
@@ -1478,7 +1471,6 @@ do_modify:
                        mods->sml_desc = ad_pwdGraceUseTime;
                        mods->sml_values = NULL;
                        mods->sml_nvalues = NULL;
-                       mods->sml_managing = 0;
                        mods->sml_next = NULL;
                        modtail->sml_next = mods;
                        modtail = mods;
@@ -1493,7 +1485,6 @@ do_modify:
                        mods->sml_desc = ad_pwdReset;
                        mods->sml_values = NULL;
                        mods->sml_nvalues = NULL;
-                       mods->sml_managing = 0;
                        mods->sml_next = NULL;
                        modtail->sml_next = mods;
                        modtail = mods;
@@ -1532,7 +1523,6 @@ do_modify:
                                        mods->sml_values[i].bv_len = 0;
                                        ber_dupbv( &(mods->sml_values[i]), &p->bv );
                                }
-                               mods->sml_managing = 0;
                                mods->sml_next = NULL;
                                modtail->sml_next = mods;
                                modtail = mods;
@@ -1561,7 +1551,6 @@ do_modify:
                                mods->sml_values[ 1 ].bv_val = NULL;
                                mods->sml_values[ 1 ].bv_len = 0;
                                make_pwd_history_value( timebuf, &mods->sml_values[0], pa );
-                               mods->sml_managing = 0;
                                mods->sml_next = NULL;
                                modtail->sml_next = mods;
                                modtail = mods;
index d61e105df3b8a5f279b804b535434d6ea18b56b9..41e1cbc9cf0739e4f49a38ceff0836545a565879 100644 (file)
@@ -294,7 +294,6 @@ refint_delete_cb(
                                mp->sml_flags = 0;
                                ber_dupbv(&mp->sml_values[0],  &dd->nothing);
                                ber_dupbv(&mp->sml_nvalues[0], &dd->nnothing);
-                               mp->sml_managing = 0;
                                mp->sml_next = ma;
                                ma = mp;
                        }
@@ -310,7 +309,6 @@ refint_delete_cb(
                        mp->sml_flags = 0;
                        ber_dupbv(&mp->sml_values[0], &dd->dn);
                        ber_dupbv(&mp->sml_nvalues[0], &mp->sml_values[0]);
-                       mp->sml_managing = 0;
                        mp->sml_next = ma;
                        ma = mp;
                        Debug(LDAP_DEBUG_TRACE, "refint_delete_cb: %s: %s\n",
@@ -402,7 +400,6 @@ refint_modrdn_cb(
                        ber_dupbv(&mp->sml_nvalues[0], &dd->nnewdn);
                        mp->sml_values[1].bv_len = mp->sml_nvalues[1].bv_len = 0;
                        mp->sml_values[1].bv_val = mp->sml_nvalues[1].bv_val = NULL;
-                       mp->sml_managing = 0;
                        mp->sml_next = ip->mm;
                        ip->mm = mp;
                        mp = ch_malloc(sizeof(Modifications));
@@ -416,7 +413,6 @@ refint_modrdn_cb(
                        ber_dupbv(&mp->sml_nvalues[0], &dd->dn);
                        mp->sml_values[1].bv_len = mp->sml_nvalues[1].bv_len = 0;
                        mp->sml_values[1].bv_val = mp->sml_nvalues[1].bv_val = NULL;
-                       mp->sml_managing = 0;
                        mp->sml_next = ip->mm;
                        ip->mm = mp;
                        Debug(LDAP_DEBUG_TRACE, "refint_modrdn_cb: %s: %s\n",
index 8a187bca92725aa68593c80da86b31c4c90a28f4..3d63e447fe2bf3bc7113e3102aa834c0c8ccfb8d 100644 (file)
@@ -226,7 +226,6 @@ int passwd_extop(
        ml->sml_desc = slap_schema.si_ad_userPassword;
        ml->sml_op = LDAP_MOD_REPLACE;
        ml->sml_flags = 0;
-       ml->sml_managing = 0;
        ml->sml_next = qpw->rs_mods;
        qpw->rs_mods = ml;
 
index 645889ef85939f5d87ac2d98a91304c243ac6670..66c591a956c5496648599ac266b835508f5a078a 100644 (file)
@@ -460,7 +460,6 @@ slap_auxprop_store(
                BER_BVZERO( &mod->sml_values[j] );
                mod->sml_nvalues = NULL;
                mod->sml_desc = NULL;
-               mod->sml_managing = 0;
                *modtail = mod;
                modtail = &mod->sml_next;
        }
index 5fed372fd32afbd93d6c84847110b76be269b6e4..a212f44bd1e481b7c9b8546f2c510258811f0a07 100644 (file)
@@ -1158,6 +1158,7 @@ typedef struct slap_mod {
  * running as non-root user, for user modifiable attributes.
  */
 #define        SLAP_MOD_INTERNAL       0x01
+#define        SLAP_MOD_MANAGING       0x02
 
        AttributeDescription *sm_desc;
        struct berval sm_type;
@@ -1173,7 +1174,6 @@ typedef struct slap_mod_list {
 #define        sml_type        sml_mod.sm_type
 #define sml_values     sml_mod.sm_values
 #define sml_nvalues    sml_mod.sm_nvalues
-       char sml_managing;
        struct slap_mod_list *sml_next;
 } Modifications;
 
index a2c707a4ed957600136a57c82a6426b70ee7a672..4ca77f84635cf1356e5011381efd6c6515960dcd 100644 (file)
@@ -1102,7 +1102,6 @@ syncrepl_message_to_entry(
                mod->sml_type = tmp.sml_type;
                mod->sml_values = tmp.sml_values;
                mod->sml_nvalues = NULL;
-               mod->sml_managing = 0;
 
                *modtail = mod;
                modtail = &mod->sml_next;
@@ -1479,7 +1478,6 @@ retry_add:;
                                mod->sml_type = mod->sml_desc->ad_cname;
                                mod->sml_values = NULL;
                                mod->sml_nvalues = NULL;
-                               mod->sml_managing = 0;
                                if ( !modhead ) modhead = mod;
                                if ( modtail ) {
                                        modtail->sml_next = mod;
@@ -1509,7 +1507,6 @@ retry_add:;
                        ber_bvarray_add( &mod->sml_values, &uuid_bv );
                        ber_dupbv( &uuid_bv, syncUUID );
                        ber_bvarray_add( &mod->sml_nvalues, &uuid_bv );
-                       mod->sml_managing = 0;
                        modtail->sml_next = mod;
                                        
                        op->o_tag = LDAP_REQ_MODIFY;