]> git.sur5r.net Git - openldap/commitdiff
let req_modify_s and req_modrdn_s have a common portion to interoperate within slap_m...
authorPierangelo Masarati <ando@openldap.org>
Thu, 16 Aug 2007 09:48:53 +0000 (09:48 +0000)
committerPierangelo Masarati <ando@openldap.org>
Thu, 16 Aug 2007 09:48:53 +0000 (09:48 +0000)
servers/slapd/back-bdb/modify.c
servers/slapd/back-ldap/modify.c
servers/slapd/back-monitor/log.c
servers/slapd/back-monitor/modify.c
servers/slapd/back-shell/modify.c
servers/slapd/back-sql/modify.c
servers/slapd/modify.c
servers/slapd/overlays/rwm.c
servers/slapd/slap.h

index 67f3b723ce67303e59d1532a0faf44258772ad07..1ca4692a4c82d1a94c7d62338c70f2dbe8d78446 100644 (file)
@@ -522,7 +522,7 @@ retry:      /* transaction retry */
        }
        /* Modify the entry */
        dummy = *e;
-       rs->sr_err = bdb_modify_internal( op, lt2, op->oq_modify.rs_modlist,
+       rs->sr_err = bdb_modify_internal( op, lt2, op->orm_modlist,
                &dummy, &rs->sr_text, textbuf, textlen );
 
        if( rs->sr_err != LDAP_SUCCESS ) {
index 3c287cd8db02c67fffdebdc2b239da4e1f119849..fc247cb571c65b4331bc975e450000f832d396b8 100644 (file)
@@ -52,7 +52,7 @@ ldap_back_modify(
                return rs->sr_err;
        }
 
-       for ( i = 0, ml = op->oq_modify.rs_modlist; ml; i++, ml = ml->sml_next )
+       for ( i = 0, ml = op->orm_modlist; ml; i++, ml = ml->sml_next )
                /* just count mods */ ;
 
        modv = (LDAPMod **)ch_malloc( ( i + 1 )*sizeof( LDAPMod * )
@@ -64,7 +64,7 @@ ldap_back_modify(
        mods = (LDAPMod *)&modv[ i + 1 ];
 
        isupdate = be_shadow_update( op );
-       for ( i = 0, ml = op->oq_modify.rs_modlist; ml; ml = ml->sml_next ) {
+       for ( i = 0, ml = op->orm_modlist; ml; ml = ml->sml_next ) {
                if ( !isupdate && !get_relax( op ) && ml->sml_desc->ad_type->sat_no_user_mod  )
                {
                        continue;
index c25261b07c4890ddd72567ca371be3d910c3a713..8f6d07d29f75b595daa825a5de82ea10fc8127bc 100644 (file)
@@ -111,7 +111,7 @@ monitor_subsys_log_modify(
        int             rc = LDAP_OTHER;
        int             newlevel = ldap_syslog;
        Attribute       *save_attrs;
-       Modifications   *modlist = op->oq_modify.rs_modlist;
+       Modifications   *modlist = op->orm_modlist;
        Modifications   *ml;
 
        ldap_pvt_thread_mutex_lock( &monitor_log_mutex );
index a8d6c887dbc68bc54fe08032f58c65a8afe364d3..5001bfabcf3af857d70761598ca6c9ed72a97f5b 100644 (file)
@@ -62,7 +62,7 @@ monitor_back_modify( Operation *op, SlapReply *rs )
                return rs->sr_err;
        }
 
-       if ( !acl_check_modlist( op, e, op->oq_modify.rs_modlist )) {
+       if ( !acl_check_modlist( op, e, op->orm_modlist )) {
                rc = LDAP_INSUFFICIENT_ACCESS;
 
        } else {
index 277c3c1dcd502fec0ffae5fbfe7a493f5815d84c..d87a9bcccf7db3c8211fb3ec93076b8425ba6dff 100644 (file)
@@ -46,7 +46,7 @@ shell_back_modify(
        Modification *mod;
        struct shellinfo        *si = (struct shellinfo *) op->o_bd->be_private;
        AttributeDescription *entry = slap_schema.si_ad_entry;
-       Modifications *ml  = op->oq_modify.rs_modlist;
+       Modifications *ml  = op->orm_modlist;
        Entry e;
        FILE                    *rfp, *wfp;
        int                     i;
index 4ee11dbd58e7bccda9df2e64fdecc73f7526bc05..cbd261dc4635ebc65025414a7534ddddad9ed99e 100644 (file)
@@ -127,14 +127,14 @@ backsql_modify( Operation *op, SlapReply *rs )
        oc = backsql_id2oc( bi, bsi.bsi_base_id.eid_oc_id );
        assert( oc != NULL );
 
-       if ( !acl_check_modlist( op, &m, op->oq_modify.rs_modlist ) ) {
+       if ( !acl_check_modlist( op, &m, op->orm_modlist ) ) {
                rs->sr_err = LDAP_INSUFFICIENT_ACCESS;
                e = &m;
                goto done;
        }
 
        rs->sr_err = backsql_modify_internal( op, rs, dbh, oc,
-                       &bsi.bsi_base_id, op->oq_modify.rs_modlist );
+                       &bsi.bsi_base_id, op->orm_modlist );
        if ( rs->sr_err != LDAP_SUCCESS ) {
                e = &m;
                goto do_transact;
index 140973ae3b85517edb4e29745ed1888a1bd5a494..37fceebe43d46466438442f5823e0e7cefa52811 100644 (file)
@@ -1002,9 +1002,9 @@ slap_parse_modlist(
        ber_tag_t       tag;
        ber_len_t       len;
        char            *last;
-       Modifications   **modtail = &ms->rs_modlist;
+       Modifications   **modtail = &ms->rs_mods.rs_modlist;
 
-       ms->rs_modlist = NULL;
+       ms->rs_mods.rs_modlist = NULL;
        ms->rs_increment = 0;
 
        rs->sr_err = LDAP_SUCCESS;
@@ -1082,8 +1082,8 @@ slap_parse_modlist(
 
 done:
        if ( rs->sr_err != LDAP_SUCCESS ) {
-               slap_mods_free( ms->rs_modlist, 1 );
-               ms->rs_modlist = NULL;
+               slap_mods_free( ms->rs_mods.rs_modlist, 1 );
+               ms->rs_mods.rs_modlist = NULL;
                ms->rs_increment = 0;
        }
 
index 61523b398ce88c27155f267473c655824b3168c9..031f9f5d3c22ec18a094af944d392cf81322c2a0 100644 (file)
@@ -502,7 +502,7 @@ rwm_op_modify( Operation *op, SlapReply *rs )
        }
 
        isupdate = be_shadow_update( op );
-       for ( mlp = &op->oq_modify.rs_modlist; *mlp; ) {
+       for ( mlp = &op->orm_modlist; *mlp; ) {
                int                     is_oc = 0;
                Modifications           *ml;
                struct ldapmapping      *mapping = NULL;
index abfde097d41ddf376ecb67e0fb851ce9609da767..d1e7b99fdd4b3d8165c8d065249b6d71384ff94a 100644 (file)
@@ -1908,23 +1908,27 @@ typedef struct req_compare_s {
        AttributeAssertion *rs_ava;
 } req_compare_s;
 
-typedef struct req_modify_s {
+typedef struct req_modifications_s {
        Modifications *rs_modlist;
-       int rs_increment;               /* FIXME: temporary */
        char rs_no_opattrs;             /* don't att modify operational attrs */
+} req_modifications_s;
+
+typedef struct req_modify_s {
+       req_modifications_s rs_mods;    /* NOTE: must be first in req_modify_s & req_modrdn_s */
+       int rs_increment;
 } req_modify_s;
 
 typedef struct req_modrdn_s {
-       Modifications *rs_modlist;
+       req_modifications_s rs_mods;    /* NOTE: must be first in req_modify_s & req_modrdn_s */
+       int rs_deleteoldrdn;
        struct berval rs_newrdn;
        struct berval rs_nnewrdn;
        struct berval *rs_newSup;
        struct berval *rs_nnewSup;
-       int rs_deleteoldrdn;
 } req_modrdn_s;
 
 typedef struct req_add_s {
-       Modifications *rs_modlist;      /* FIXME: temporary */
+       Modifications *rs_modlist;
        Entry *rs_e;
 } req_add_s;
 
@@ -2450,20 +2454,24 @@ struct Operation {
 #define ors_filter oq_search.rs_filter
 #define ors_filterstr oq_search.rs_filterstr
 
+#define orr_modlist oq_modrdn.rs_mods.rs_modlist
+#define orr_no_opattrs oq_modrdn.rs_mods.rs_no_opattrs
+#define orr_deleteoldrdn oq_modrdn.rs_deleteoldrdn
 #define orr_newrdn oq_modrdn.rs_newrdn
 #define orr_nnewrdn oq_modrdn.rs_nnewrdn
 #define orr_newSup oq_modrdn.rs_newSup
 #define orr_nnewSup oq_modrdn.rs_nnewSup
-#define orr_deleteoldrdn oq_modrdn.rs_deleteoldrdn
-#define orr_modlist oq_modrdn.rs_modlist
 
 #define orc_ava oq_compare.rs_ava
+
 #define ora_e oq_add.rs_e
 #define ora_modlist oq_add.rs_modlist
+
 #define orn_msgid oq_abandon.rs_msgid
-#define orm_modlist oq_modify.rs_modlist
+
+#define orm_modlist oq_modify.rs_mods.rs_modlist
+#define orm_no_opattrs oq_modify.rs_mods.rs_no_opattrs
 #define orm_increment oq_modify.rs_increment
-#define orm_no_opattrs oq_modify.rs_no_opattrs
 
 #define ore_reqoid oq_extended.rs_reqoid
 #define ore_flags oq_extended.rs_flags