1. The cause of the crash was freeing a to-be-added entry in
tombstone_to_glue although the entry is consumed in
This patch removes the redundant slapi_entry_free from
2. Introducing is_suffix_dn_ext to pass is_tombstone flag
for getting the proper parent sdn of a tombstoned entry.
3. Logic handling ancestor tombstone was broken.
In _entryrdn_insert_key, if _entryrdn_get_tombstone_elem finds
a child node, it was checking if the node is a tombstone or
not immediately. It should have been done in the next loop.
4. Reducing repeated "WARNING: bad entry: ID ##" messages.
git patch file (master) -- excluded autogen files
1. DB suffix ".db4" is changed to ".db" if the server is linked
with db5 (libdb); it remains ".db4" if linked with db4.
2. Fixed DB_VERSION macro to pick up the correct APIs for db5.
3. DB upgrade flag DBVERSION_UPGRADE_4_5 is introduced and set
once it is found the db4 to db5 upgrade is necessary.
Upgrade from db4 to 5 requires cleaning up the region files
(__db.##) then update transaction log files. The database
files are compatible.
4. Added a code to db.m4 to check /usr/include/libdb/db.h.
If /usr/include/db4/db.h does not exists AND libdb does,
the db5 (libdb) header file is used.
Note: package db4-devel and libdb-devel cannot coexist.