mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-02-13 07:43:50 -05:00
rootdn can exceed limit on number of dynamic objects
This commit is contained in:
parent
72d2ee4d19
commit
63e80ef12e
1 changed files with 12 additions and 10 deletions
|
|
@ -389,16 +389,18 @@ dds_op_add( Operation *op, SlapReply *rs )
|
|||
char ttlbuf[] = "31557600";
|
||||
char tsbuf[ LDAP_LUTIL_GENTIME_BUFSIZE ];
|
||||
struct berval bv;
|
||||
|
||||
ldap_pvt_thread_mutex_lock( &di->di_mutex );
|
||||
rs->sr_err = ( di->di_max_dynamicObjects &&
|
||||
di->di_num_dynamicObjects >= di->di_max_dynamicObjects );
|
||||
ldap_pvt_thread_mutex_unlock( &di->di_mutex );
|
||||
if ( rs->sr_err ) {
|
||||
op->o_bd->bd_info = (BackendInfo *)on->on_info;
|
||||
send_ldap_error( op, rs, LDAP_UNWILLING_TO_PERFORM,
|
||||
"too many dynamicObjects in context" );
|
||||
return rs->sr_err;
|
||||
|
||||
if ( !be_isroot_dn( op->o_bd, &op->o_req_ndn ) ) {
|
||||
ldap_pvt_thread_mutex_lock( &di->di_mutex );
|
||||
rs->sr_err = ( di->di_max_dynamicObjects &&
|
||||
di->di_num_dynamicObjects >= di->di_max_dynamicObjects );
|
||||
ldap_pvt_thread_mutex_unlock( &di->di_mutex );
|
||||
if ( rs->sr_err ) {
|
||||
op->o_bd->bd_info = (BackendInfo *)on->on_info;
|
||||
send_ldap_error( op, rs, LDAP_UNWILLING_TO_PERFORM,
|
||||
"too many dynamicObjects in context" );
|
||||
return rs->sr_err;
|
||||
}
|
||||
}
|
||||
|
||||
ttl = DDS_DEFAULT_TTL( di );
|
||||
|
|
|
|||
Loading…
Reference in a new issue