From 8e61d2807317ed66163a395c1cd8666fd442d9aa Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Tue, 4 May 2021 16:08:18 +0100 Subject: [PATCH] Debug: output dmarc library version --- src/src/dmarc.c | 25 +++++++++++++++++++------ src/src/dmarc.h | 1 + src/src/exim.c | 3 +++ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/src/dmarc.c b/src/src/dmarc.c index 5328f4f7d..599ecc454 100644 --- a/src/src/dmarc.c +++ b/src/src/dmarc.c @@ -51,21 +51,34 @@ static dmarc_exim_p dmarc_policy_description[] = { { US"reject", DMARC_RECORD_P_REJECT }, { NULL, 0 } }; + + +void +dmarc_version_report(FILE *f) +{ +const char *implementation, *version; + +fprintf(f, "Library version: dmarc: Compile: %d.%d.%d.%d\n", + (OPENDMARC_LIB_VERSION & 0xff000000) >> 24, (OPENDMARC_LIB_VERSION & 0x00ff0000) >> 16, + (OPENDMARC_LIB_VERSION & 0x0000ff00) >> 8, OPENDMARC_LIB_VERSION & 0x000000ff); +} + + /* Accept an error_block struct, initialize if empty, parse to the - * end, and append the two strings passed to it. Used for adding - * variable amounts of value:pair data to the forensic emails. */ +end, and append the two strings passed to it. Used for adding +variable amounts of value:pair data to the forensic emails. */ static error_block * add_to_eblock(error_block *eblock, uschar *t1, uschar *t2) { error_block *eb = store_malloc(sizeof(error_block)); -if (eblock == NULL) +if (!eblock) eblock = eb; else { /* Find the end of the eblock struct and point it at eb */ error_block *tmp = eblock; - while(tmp->next != NULL) + while(tmp->next) tmp = tmp->next; tmp->next = eb; } @@ -76,8 +89,8 @@ return eblock; } /* dmarc_init sets up a context that can be re-used for several - messages on the same SMTP connection (that come from the - same host with the same HELO string) */ +messages on the same SMTP connection (that come from the +same host with the same HELO string) */ int dmarc_init() diff --git a/src/src/dmarc.h b/src/src/dmarc.h index ef967e0b7..f3c29b00a 100644 --- a/src/src/dmarc.h +++ b/src/src/dmarc.h @@ -17,6 +17,7 @@ # endif /* SUPPORT_SPF */ /* prototypes */ +void dmarc_version_report(FILE *); int dmarc_init(); int dmarc_store_data(header_line *); int dmarc_process(); diff --git a/src/src/exim.c b/src/src/exim.c index a3983f88d..3e08f0376 100644 --- a/src/src/exim.c +++ b/src/src/exim.c @@ -1138,6 +1138,9 @@ show_db_version(fp); #ifdef SUPPORT_I18N utf8_version_report(fp); #endif +#ifdef SUPPORT_DMARC + dmarc_version_report(fp); +#endif #ifdef SUPPORT_SPF spf_lib_version_report(fp); #endif -- 2.30.2