Skip to content
Snippets Groups Projects
Commit 52e69dfc authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

All "o=foo" add to suffix "" if bound as root.

parent c57e5952
No related branches found
No related tags found
No related merge requests found
......@@ -52,9 +52,13 @@ bdb2i_back_add_internal(
* add the entry.
*/
if ( (pdn = dn_parent( be, e->e_ndn )) != NULL ) {
pdn = dn_parent( be, e->e_ndn );
if( pdn != NULL && *pdn != '\0' && !be_issuffix(be, "") ) {
char *matched = NULL;
assert( *pdn != '\0' );
/* get parent with writer lock */
if ( (p = bdb2i_dn2entry_w( be, pdn, &matched )) == NULL ) {
Debug( LDAP_DEBUG_TRACE, "parent does not exist\n", 0,
......@@ -93,10 +97,17 @@ bdb2i_back_add_internal(
}
} else {
if(pdn != NULL) {
assert( *pdn == '\0' );
free(pdn);
}
/* no parent, must be adding entry to root */
if ( ! be_isroot( be, op->o_ndn ) ) {
Debug( LDAP_DEBUG_TRACE, "no parent & not root\n", 0,
0, 0 );
Debug( LDAP_DEBUG_TRACE, "%s add denied\n",
pdn == NULL ? "suffix" : "entry at root",
0, 0 );
send_ldap_result( conn, op, LDAP_INSUFFICIENT_ACCESS,
"", "" );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment