From a0cff45dd8be7a102de156e4f35f2ca08ba68139 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 12 Dec 2019 13:13:31 +0000 Subject: [PATCH] Log blocks that are being fed into the signature Signed-off-by: Michael Tremer --- src/database.c | 8 +++++++- src/writer.c | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/database.c b/src/database.c index 8c85d28..fc97a2f 100644 --- a/src/database.c +++ b/src/database.c @@ -470,6 +470,8 @@ LOC_EXPORT int loc_database_verify(struct loc_database* db, FILE* f) { struct loc_database_magic magic; fread(&magic, 1, sizeof(magic), db->f); + hexdump(db->ctx, &magic, sizeof(magic)); + // Feed magic into the hash r = EVP_DigestVerifyUpdate(mdctx, &magic, sizeof(magic)); if (r != 1) { @@ -491,8 +493,10 @@ LOC_EXPORT int loc_database_verify(struct loc_database* db, FILE* f) { header_v0.signature[i] = '\0'; } + hexdump(db->ctx, &header_v0, sizeof(header_v0)); + // Feed header into the hash - EVP_DigestVerifyUpdate(mdctx, &header_v0, sizeof(header_v0)); + r = EVP_DigestVerifyUpdate(mdctx, &header_v0, sizeof(header_v0)); if (r != 1) { ERROR(db->ctx, "%s\n", ERR_error_string(ERR_get_error(), NULL)); r = 1; @@ -514,6 +518,8 @@ LOC_EXPORT int loc_database_verify(struct loc_database* db, FILE* f) { while (!feof(db->f)) { size_t bytes_read = fread(buffer, 1, sizeof(buffer), db->f); + hexdump(db->ctx, buffer, bytes_read); + r = EVP_DigestVerifyUpdate(mdctx, buffer, bytes_read); if (r != 1) { ERROR(db->ctx, "%s\n", ERR_error_string(ERR_get_error(), NULL)); diff --git a/src/writer.c b/src/writer.c index 6c74805..cf0ae32 100644 --- a/src/writer.c +++ b/src/writer.c @@ -530,6 +530,8 @@ static int loc_writer_create_signature(struct loc_writer* writer, struct loc_database_magic magic; fread(&magic, 1, sizeof(magic), f); + hexdump(writer->ctx, &magic, sizeof(magic)); + // Feed magic into the signature r = EVP_DigestSignUpdate(mdctx, &magic, sizeof(magic)); if (r != 1) { @@ -537,6 +539,8 @@ static int loc_writer_create_signature(struct loc_writer* writer, goto END; } + hexdump(writer->ctx, header, sizeof(*header)); + // Feed the header into the signature r = EVP_DigestSignUpdate(mdctx, header, sizeof(*header)); if (r != 1) { @@ -558,6 +562,8 @@ static int loc_writer_create_signature(struct loc_writer* writer, goto END; } + hexdump(writer->ctx, buffer, bytes_read); + r = EVP_DigestSignUpdate(mdctx, buffer, bytes_read); if (r != 1) { ERROR(writer->ctx, "%s\n", ERR_error_string(ERR_get_error(), NULL)); -- 2.47.3