Skip to content
Snippets Groups Projects
Commit 546bc9cf authored by Howard Chu's avatar Howard Chu
Browse files

ITS#3267 fix out-of-order slapadd

parent 02464d6e
No related branches found
No related tags found
No related merge requests found
......@@ -215,7 +215,7 @@ static int bdb_tool_next_id(
struct berval dn = e->e_name;
struct berval ndn = e->e_nname;
struct berval pdn, npdn;
EntryInfo *ei = NULL;
EntryInfo *ei = NULL, eidummy;
int rc;
if (ndn.bv_len == 0) return 0;
......@@ -224,6 +224,7 @@ static int bdb_tool_next_id(
if ( ei ) bdb_cache_entryinfo_unlock( ei );
if ( rc == DB_NOTFOUND ) {
if ( !be_issuffix( op->o_bd, &ndn ) ) {
ID eid = e->e_id;
dnParent( &dn, &pdn );
dnParent( &ndn, &npdn );
e->e_name = pdn;
......@@ -234,6 +235,10 @@ static int bdb_tool_next_id(
if ( rc ) {
return rc;
}
if ( eid != e->e_id ) {
eidummy.bei_id = e->e_id;
ei = &eidummy;
}
}
rc = bdb_next_id( op->o_bd, tid, &e->e_id );
if ( rc ) {
......
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