X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/a05d3e341fae03426a9caa9c5e9ce8fe60e3d384..1eedc10f0c518d1878a5d94ff17b84cad233b23e:/src/src/pdkim/pdkim.c diff --git a/src/src/pdkim/pdkim.c b/src/src/pdkim/pdkim.c index b884671da..679607dbd 100644 --- a/src/src/pdkim/pdkim.c +++ b/src/src/pdkim/pdkim.c @@ -654,7 +654,8 @@ while ((ele = string_nextinlist(&raw_record, &sep, NULL, 0))) } /* Set fallback defaults */ -if (!pub->version ) pub->version = string_copy(PDKIM_PUB_RECORD_VERSION); +if (!pub->version) + pub->version = string_copy(PDKIM_PUB_RECORD_VERSION); else if (Ustrcmp(pub->version, PDKIM_PUB_RECORD_VERSION) != 0) { DEBUG(D_acl) debug_printf(" Bad v= field\n"); @@ -1305,10 +1306,7 @@ pdkim_pubkey * p; dns_txt_name = string_sprintf("%s._domainkey.%s.", sig->selector, sig->domain); -dns_txt_reply = store_get(PDKIM_DNS_TXT_MAX_RECLEN); -memset(dns_txt_reply, 0, PDKIM_DNS_TXT_MAX_RECLEN); - -if ( ctx->dns_txt_callback(CS dns_txt_name, CS dns_txt_reply) != PDKIM_OK +if ( !(dns_txt_reply = ctx->dns_txt_callback(CS dns_txt_name)) || dns_txt_reply[0] == '\0' ) { @@ -1712,7 +1710,7 @@ return PDKIM_OK; /* -------------------------------------------------------------------------- */ DLLEXPORT pdkim_ctx * -pdkim_init_verify(int(*dns_txt_callback)(char *, char *), BOOL dot_stuffing) +pdkim_init_verify(uschar * (*dns_txt_callback)(char *), BOOL dot_stuffing) { pdkim_ctx * ctx; @@ -1816,7 +1814,7 @@ return; void pdkim_init_context(pdkim_ctx * ctx, BOOL dot_stuffed, - int(*dns_txt_callback)(char *, char *)) + uschar * (*dns_txt_callback)(char *)) { memset(ctx, 0, sizeof(pdkim_ctx)); ctx->flags = dot_stuffed ? PDKIM_MODE_SIGN | PDKIM_DOT_TERM : PDKIM_MODE_SIGN;