mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-25 17:19:43 -05:00
allow noUserMod attrs write proxying when manageDIT is set (still to work in frontend for add)
This commit is contained in:
parent
5873048347
commit
557f5eb2ca
5 changed files with 13 additions and 6 deletions
|
|
@ -69,7 +69,8 @@ ldap_back_add(
|
|||
|
||||
isupdate = be_shadow_update( op );
|
||||
for ( i = 0, a = op->oq_add.rs_e->e_attrs; a; a = a->a_next ) {
|
||||
if ( !isupdate && a->a_desc->ad_type->sat_no_user_mod ) {
|
||||
if ( !isupdate && !get_manageDIT( op ) && a->a_desc->ad_type->sat_no_user_mod )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,8 @@ ldap_back_modify(
|
|||
|
||||
isupdate = be_shadow_update( op );
|
||||
for ( i = 0, ml = op->oq_modify.rs_modlist; ml; ml = ml->sml_next ) {
|
||||
if ( !isupdate && ml->sml_desc->ad_type->sat_no_user_mod ) {
|
||||
if ( !isupdate && !!get_manageDIT( op ) && ml->sml_desc->ad_type->sat_no_user_mod )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -83,7 +83,8 @@ meta_back_add( Operation *op, SlapReply *rs )
|
|||
for ( i = 0, a = op->ora_e->e_attrs; a; a = a->a_next ) {
|
||||
int j, is_oc = 0;
|
||||
|
||||
if ( !isupdate && a->a_desc->ad_type->sat_no_user_mod ) {
|
||||
if ( !isupdate && !get_manageDIT( op ) && a->a_desc->ad_type->sat_no_user_mod )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -89,7 +89,8 @@ meta_back_modify( Operation *op, SlapReply *rs )
|
|||
for ( i = 0, ml = op->orm_modlist; ml; ml = ml->sml_next ) {
|
||||
int j, is_oc = 0;
|
||||
|
||||
if ( !isupdate && ml->sml_desc->ad_type->sat_no_user_mod ) {
|
||||
if ( !isupdate && !get_manageDIT( op ) && ml->sml_desc->ad_type->sat_no_user_mod )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -154,7 +154,8 @@ rwm_op_add( Operation *op, SlapReply *rs )
|
|||
}
|
||||
}
|
||||
|
||||
} else if ( !isupdate && (*ap)->a_desc->ad_type->sat_no_user_mod ) {
|
||||
} else if ( !isupdate && !get_manageDIT( op ) && (*ap)->a_desc->ad_type->sat_no_user_mod )
|
||||
{
|
||||
goto next_attr;
|
||||
|
||||
} else {
|
||||
|
|
@ -437,7 +438,8 @@ rwm_op_modify( Operation *op, SlapReply *rs )
|
|||
{
|
||||
is_oc = 1;
|
||||
|
||||
} else if ( !isupdate && (*mlp)->sml_desc->ad_type->sat_no_user_mod ) {
|
||||
} else if ( !isupdate && !get_manageDIT( op ) && (*mlp)->sml_desc->ad_type->sat_no_user_mod )
|
||||
{
|
||||
goto next_mod;
|
||||
|
||||
} else {
|
||||
|
|
@ -895,6 +897,7 @@ rwm_attrs( Operation *op, SlapReply *rs, Attribute** a_first, int stripEntryDN )
|
|||
}
|
||||
|
||||
} else if ( !isupdate
|
||||
&& !get_manageDIT( op )
|
||||
&& (*ap)->a_desc->ad_type->sat_no_user_mod
|
||||
&& (*ap)->a_desc->ad_type != slap_schema.si_at_undefined )
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue