mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-06 10:46:21 +08:00
ITS#5146 better check for single val in modify
This commit is contained in:
parent
115635a5ef
commit
8f56be2ce8
@ -1559,8 +1559,6 @@ ppolicy_modify( Operation *op, SlapReply *rs )
|
|||||||
if ((ml->sml_op == LDAP_MOD_ADD) ||
|
if ((ml->sml_op == LDAP_MOD_ADD) ||
|
||||||
(ml->sml_op == LDAP_MOD_REPLACE))
|
(ml->sml_op == LDAP_MOD_REPLACE))
|
||||||
{
|
{
|
||||||
addmod = ml;
|
|
||||||
|
|
||||||
/* FIXME: there's no easy way to ensure
|
/* FIXME: there's no easy way to ensure
|
||||||
* that add does not cause multiple
|
* that add does not cause multiple
|
||||||
* userPassword values; one way (that
|
* userPassword values; one way (that
|
||||||
@ -1572,13 +1570,15 @@ ppolicy_modify( Operation *op, SlapReply *rs )
|
|||||||
* Let's check at least that a single value
|
* Let's check at least that a single value
|
||||||
* is being added
|
* is being added
|
||||||
*/
|
*/
|
||||||
assert( addmod->sml_values != NULL );
|
assert( ml->sml_values != NULL );
|
||||||
assert( !BER_BVISNULL( &addmod->sml_values[ 0 ] ) );
|
assert( !BER_BVISNULL( &ml->sml_values[ 0 ] ) );
|
||||||
if ( !BER_BVISNULL( &addmod->sml_values[ 1 ] ) ) {
|
if ( !BER_BVISNULL( addmod || &ml->sml_values[ 1 ] ) ) {
|
||||||
rs->sr_err = LDAP_CONSTRAINT_VIOLATION;
|
rs->sr_err = LDAP_CONSTRAINT_VIOLATION;
|
||||||
rs->sr_text = "Password policy only allows one password value";
|
rs->sr_text = "Password policy only allows one password value";
|
||||||
goto return_results;
|
goto return_results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addmod = ml;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if ( !is_at_operational( ml->sml_desc->ad_type ) ) {
|
} else if ( !is_at_operational( ml->sml_desc->ad_type ) ) {
|
||||||
|
Loading…
Reference in New Issue
Block a user