From ea39a99ebd0f33628c3269f164ddf4acff98e61d Mon Sep 17 00:00:00 2001 From: Mark Reynolds Date: Aug 10 2020 16:04:26 +0000 Subject: Issue 51233 - ds-replcheck crashes in offline mode Bug Description: When processing all the DN's found in the Master LDIF it is possible that the LDIF is not in the expected order and ldifsearch fails (crashing the tool). Fix Description: If ldifsearch does not find an entry, start from the beginning of the LDIF and try again. relates: https://pagure.io/389-ds-base/issue/51233 Reviewed by: spichugi(Thanks!) --- diff --git a/ldap/admin/src/scripts/ds-replcheck b/ldap/admin/src/scripts/ds-replcheck index 5bb7dfc..1c133f4 100755 --- a/ldap/admin/src/scripts/ds-replcheck +++ b/ldap/admin/src/scripts/ds-replcheck @@ -725,6 +725,10 @@ def do_offline_report(opts, output_file=None): missing = False for dn in master_dns: mresult = ldif_search(MLDIF, dn) + if mresult['entry'] is None and mresult['conflict'] is None and not mresult['tombstone']: + # Try from the beginning + MLDIF.seek(0) + mresult = ldif_search(MLDIF, dn) rresult = ldif_search(RLDIF, dn) if dn in replica_dns: