mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-06 10:46:21 +08:00
update dn can add/modrdn/delete entries rooted at '' (according to ACLs)
This commit is contained in:
parent
563694039f
commit
4c283cfe65
@ -195,7 +195,7 @@ retry: rc = txn_abort( ltid );
|
||||
* or with parent ""
|
||||
*/
|
||||
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;
|
||||
|
@ -163,7 +163,7 @@ retry: /* transaction retry */
|
||||
|
||||
/* 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;
|
||||
|
@ -212,7 +212,7 @@ retry: /* transaction retry */
|
||||
/* no parent, modrdn entry directly under root */
|
||||
isroot = be_isroot( be, op->o_ndn );
|
||||
if ( ! isroot ) {
|
||||
if ( be_issuffix( be, "" ) ) {
|
||||
if ( be_issuffix( be, "" ) || be_isupdate( be, op->o_ndn ) ) {
|
||||
|
||||
p = (Entry *)&roote;
|
||||
|
||||
@ -333,7 +333,7 @@ retry: /* transaction retry */
|
||||
|
||||
/* no parent, modrdn entry directly under root */
|
||||
if ( ! isroot ) {
|
||||
if ( be_issuffix( be, "" ) ) {
|
||||
if ( be_issuffix( be, "" ) || be_isupdate( be, op->o_ndn ) ) {
|
||||
|
||||
np = (Entry *)&roote;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user