honor relax by not applying constraints (ITS#5705)

This commit is contained in:
Pierangelo Masarati 2008-09-18 21:12:13 +00:00
parent 2dc2c14485
commit d2c6714ebf
2 changed files with 12 additions and 1 deletions

View file

@ -20,6 +20,10 @@ like telephone numbers, post codes, FQDNs, etc.
It constrains only LDAP \fIadd\fP, \fImodify\fP and \fIrename\fP commands
and only seeks to control the \fIadd\fP and \fIreplace\fP values
of \fImodify\fP and \fIrename\fP requests.
.LP
No constraints are applied for operations performed with the
.I relax
control set.
.SH CONFIGURATION
This
.B slapd.conf

View file

@ -757,6 +757,10 @@ constraint_add( Operation *op, SlapReply *rs )
int rc;
char *msg = NULL;
if (get_relax(op)) {
return SLAP_CB_CONTINUE;
}
if ((a = op->ora_e->e_attrs) == NULL) {
op->o_bd->bd_info = (BackendInfo *)(on->on_info);
send_ldap_error(op, rs, LDAP_INVALID_SYNTAX,
@ -833,6 +837,10 @@ constraint_update( Operation *op, SlapReply *rs )
int rc;
char *msg = NULL;
if (get_relax(op)) {
return SLAP_CB_CONTINUE;
}
switch ( op->o_tag ) {
case LDAP_REQ_MODIFY:
modlist = op->orm_modlist;
@ -846,7 +854,6 @@ constraint_update( Operation *op, SlapReply *rs )
/* impossible! assert? */
return LDAP_OTHER;
}
Debug( LDAP_DEBUG_CONFIG|LDAP_DEBUG_NONE, "constraint_update()\n", 0,0,0);
if ((m = modlist) == NULL) {