mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-30 13:30:57 +08:00
updatedn can add '' rooted entries (according to ACLs)
This commit is contained in:
parent
7793ece6ce
commit
616d409817
@ -210,7 +210,8 @@ ldbm_back_add(
|
||||
|
||||
/* no parent, must be adding entry to root */
|
||||
if ( !be_isroot( be, op->o_ndn ) ) {
|
||||
if ( be_issuffix( be, "" ) ) {
|
||||
if ( be_issuffix( be, "" )
|
||||
|| be_isupdate( be, op->o_ndn ) ) {
|
||||
static const Entry rootp = { NOID, "", "", NULL, NULL };
|
||||
p = (Entry *)&rootp;
|
||||
|
||||
|
@ -154,7 +154,8 @@ ldbm_back_delete(
|
||||
} else {
|
||||
/* no parent, must be root to delete */
|
||||
if( ! be_isroot( be, op->o_ndn ) ) {
|
||||
if ( be_issuffix( be, "" ) ) {
|
||||
if ( be_issuffix( be, "" )
|
||||
|| be_isupdate( be, op->o_ndn ) ) {
|
||||
static const Entry rootp = { NOID, "", "", NULL, NULL };
|
||||
p = (Entry *)&rootp;
|
||||
|
||||
|
@ -208,7 +208,8 @@ ldbm_back_modrdn(
|
||||
/* no parent, must be root to modify rdn */
|
||||
isroot = be_isroot( be, op->o_ndn );
|
||||
if ( ! be_isroot ) {
|
||||
if ( be_issuffix( be, "" ) ) {
|
||||
if ( be_issuffix( be, "" )
|
||||
|| be_isupdate( be, op->o_ndn ) ) {
|
||||
static const Entry rootp = { NOID, "", "", NULL, NULL };
|
||||
p = (Entry *)&rootp;
|
||||
|
||||
@ -387,7 +388,8 @@ ldbm_back_modrdn(
|
||||
}
|
||||
|
||||
if ( ! be_isroot ) {
|
||||
if ( be_issuffix( be, "" ) ) {
|
||||
if ( be_issuffix( be, "" )
|
||||
|| be_isupdate( be, op->o_ndn ) ) {
|
||||
static const Entry rootp = { NOID, "", "", NULL, NULL };
|
||||
np = (Entry *)&rootp;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user