From 54fc37be07da512eb01e9061c5b42006bc4e4b15 Mon Sep 17 00:00:00 2001 From: William Brown Date: Jun 07 2017 00:24:36 +0000 Subject: Ticket 49273 - bak2db doesn't operate with dbversion Bug Description: in the dbversion corruption fix we checked for both ldbmversion and dataversion: however, we don't use dataversion in mostcases, and this causes an erro in db2bak during DBVERSION restore. Fix Description: Only check ldbmversion, not dataversion. dataversion is checked with a warning. https://pagure.io/389-ds-base/issue/49273 Author: wibrown Review by: mreynosd (Thanks!) --- diff --git a/ldap/servers/slapd/back-ldbm/dbversion.c b/ldap/servers/slapd/back-ldbm/dbversion.c index 33ca329..58b6732 100644 --- a/ldap/servers/slapd/back-ldbm/dbversion.c +++ b/ldap/servers/slapd/back-ldbm/dbversion.c @@ -177,7 +177,10 @@ dbversion_read(struct ldbminfo *li, const char *directory, } (void)PR_Close( prfd ); - if (*ldbmversion == NULL || *dataversion == NULL) { + if (*dataversion == NULL ) { + slapi_log_err(SLAPI_LOG_DEBUG, "dbversion_read", "dataversion not present in \"%s\"\n", filename); + } + if (*ldbmversion == NULL ) { /* DBVERSIOn is corrupt, COMPLAIN! */ /* This is IDRM Identifier removed (POSIX.1) * which seems appropriate for the error here :) @@ -186,7 +189,6 @@ dbversion_read(struct ldbminfo *li, const char *directory, slapi_log_err(SLAPI_LOG_CRIT, "dbversion_read", "It may be possible to recover by replacing with a valid DBVERSION file from another DB instance\n"); return EIDRM; } - return 0; } }