From e25bce9124a944b19eafc29eaec2d5e6b823ab53 Mon Sep 17 00:00:00 2001 From: Hallvard Furuseth Date: Mon, 20 Jun 2011 21:33:50 +0200 Subject: [PATCH] Tweak back-ldif messages about CRC checksums. --- servers/slapd/back-ldif/ldif.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/servers/slapd/back-ldif/ldif.c b/servers/slapd/back-ldif/ldif.c index 586b6d6025..1ec238cb77 100644 --- a/servers/slapd/back-ldif/ldif.c +++ b/servers/slapd/back-ldif/ldif.c @@ -420,6 +420,7 @@ ldif_read_file( const char *path, char **datap ) int res = -1; /* 0:success, <0:error, >0:file too big/growing. */ struct stat st; char *data = NULL, *ptr = NULL; + const char *msg; if ( datap == NULL ) { res = stat( path, &st ); @@ -453,14 +454,13 @@ ldif_read_file( const char *path, char **datap ) done: if ( res == 0 ) { #ifdef LDAP_DEBUG - Debug( LDAP_DEBUG_TRACE, "ldif_read_file: %s: \"%s\"\n", - datap ? "read entry file" : "entry file exists", path, 0 ); + msg = "entry file exists"; if ( datap ) { + msg = "read entry file"; len = ptr - data; ptr = strstr( data, "\n# CRC32" ); if (!ptr) { - Debug( LDAP_DEBUG_TRACE, "ldif_read_file: no checksum \"%s\"\n", - path, 0, 0 ); + msg = "read entry file without checksum"; } else { unsigned int crc1 = 0, crc2 = 1; if ( sscanf( ptr + 9, "%08x", &crc1) == 1) { @@ -474,9 +474,11 @@ ldif_read_file( const char *path, char **datap ) if ( crc1 != crc2 ) { Debug( LDAP_DEBUG_ANY, "ldif_read_file: checksum error on \"%s\"\n", path, 0, 0 ); + return rc; } } } + Debug( LDAP_DEBUG_TRACE, "ldif_read_file: %s: \"%s\"\n", msg, path, 0 ); #endif /* LDAP_DEBUG */ } else { if ( res < 0 && errno == ENOENT ) { @@ -484,7 +486,7 @@ ldif_read_file( const char *path, char **datap ) "no entry file \"%s\"\n", path, 0, 0 ); rc = LDAP_NO_SUCH_OBJECT; } else { - const char *msg = res < 0 ? STRERROR( errno ) : "bad stat() size"; + msg = res < 0 ? STRERROR( errno ) : "bad stat() size"; Debug( LDAP_DEBUG_ANY, "ldif_read_file: %s for \"%s\"\n", msg, path, 0 ); rc = LDAP_OTHER;