]> git.sur5r.net Git - openldap/commitdiff
allow no-user-modification propagations if back-ldap is used for replication (i.e...
authorPierangelo Masarati <ando@openldap.org>
Tue, 17 Feb 2004 12:39:42 +0000 (12:39 +0000)
committerPierangelo Masarati <ando@openldap.org>
Tue, 17 Feb 2004 12:39:42 +0000 (12:39 +0000)
servers/slapd/back-ldap/add.c
servers/slapd/back-ldap/modify.c

index d2f6a384f27cc51ab5bd9c1e8c4b8758fc6c246f..3aff8df61e19042e34e679833dfcefc8c82ac632 100644 (file)
@@ -45,6 +45,7 @@ ldap_back_add(
        struct berval mdn = { 0, NULL };
        ber_int_t msgid;
        dncookie dc;
+       int update;
 #ifdef LDAP_BACK_PROXY_AUTHZ 
        LDAPControl **ctrls = NULL;
        int rc = LDAP_SUCCESS;
@@ -88,8 +89,10 @@ ldap_back_add(
 #ifdef ENABLE_REWRITE
        dc.ctx = "addDnAttr";
 #endif
+
+       update = op->o_bd->be_update_ndn.bv_len;
        for (i=0, a=op->oq_add.rs_e->e_attrs; a; a=a->a_next) {
-               if ( a->a_desc->ad_type->sat_no_user_mod  ) {
+               if ( !update && a->a_desc->ad_type->sat_no_user_mod  ) {
                        continue;
                }
 
index edba521aadd9554f43bc584899caf4c47f8e4fbc..2c54ceb7a1ed392a9d9996f166d504f6d3dcfde9 100644 (file)
@@ -46,6 +46,7 @@ ldap_back_modify(
        struct berval mdn = { 0, NULL };
        ber_int_t msgid;
        dncookie dc;
+       int update;
 #ifdef LDAP_BACK_PROXY_AUTHZ 
        LDAPControl **ctrls = NULL;
 #endif /* LDAP_BACK_PROXY_AUTHZ */
@@ -89,10 +90,12 @@ ldap_back_modify(
 #ifdef ENABLE_REWRITE
        dc.ctx = "modifyAttrDN";
 #endif
+
+       update = op->o_bd->be_update_ndn.bv_len;
        for (i=0, ml=op->oq_modify.rs_modlist; ml; ml=ml->sml_next) {
                int     is_oc = 0;
 
-               if ( ml->sml_desc->ad_type->sat_no_user_mod  ) {
+               if ( !update && ml->sml_desc->ad_type->sat_no_user_mod  ) {
                        continue;
                }