From: Kurt Zeilenga Date: Tue, 13 Nov 2001 19:45:47 +0000 (+0000) Subject: Port ITS#1430 changes from ldbm X-Git-Tag: LDBM_PRE_GIANT_RWLOCK~870 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=525cd6f783b54bfacadf98ef81b045c4318258fa;p=openldap Port ITS#1430 changes from ldbm --- diff --git a/servers/slapd/back-bdb/delete.c b/servers/slapd/back-bdb/delete.c index 550c476b91..1aa089e66c 100644 --- a/servers/slapd/back-bdb/delete.c +++ b/servers/slapd/back-bdb/delete.c @@ -162,7 +162,7 @@ retry: /* transaction retry */ ch_free( pdn ); /* no parent, must be root to delete */ - if( ! be_isroot( be, op->o_ndn ) ) { + if( ! be_isroot( be, op->o_ndn ) && ! be_issuffix( be, "" ) ) { Debug( LDAP_DEBUG_TRACE, "<=- bdb_delete: no parent and not root\n", 0, 0, 0); diff --git a/servers/slapd/back-bdb/modrdn.c b/servers/slapd/back-bdb/modrdn.c index 1707a54026..bc183cb9fa 100644 --- a/servers/slapd/back-bdb/modrdn.c +++ b/servers/slapd/back-bdb/modrdn.c @@ -391,7 +391,7 @@ retry: /* transaction retry */ /* ACL check of newly added attrs */ val.bv_val = new_rdn_vals[ a_cnt ]; val.bv_len = strlen( val.bv_val ); - if ( !access_allowed( be, conn, op, p, + if ( !access_allowed( be, conn, op, e, desc, &val, ACL_WRITE ) ) { Debug( LDAP_DEBUG_TRACE, "bdb_modrdn: access to attr \"%s\" " @@ -443,7 +443,7 @@ retry: /* transaction retry */ /* ACL check of newly added attrs */ val.bv_val = new_rdn_vals[ d_cnt ]; val.bv_len = strlen( val.bv_val ); - if ( !access_allowed( be, conn, op, p, + if ( !access_allowed( be, conn, op, e, desc, &val, ACL_WRITE ) ) { Debug( LDAP_DEBUG_TRACE, "bdb_modrdn: access to attr \"%s\" "