From ae4b3c1b589af9c04e44ae2ed48db7f175c14e95 Mon Sep 17 00:00:00 2001 From: Tom Kistner Date: Tue, 24 Feb 2009 18:43:59 +0000 Subject: [PATCH] wip --- src/src/dkim.c | 17 ++++++++++++++--- src/src/dkim.h | 7 ++++++- src/src/functions.h | 6 ++---- src/src/pdkim/sha1.c | 6 +++--- src/src/pdkim/sha1.h | 4 ++-- src/src/transport.c | 4 ++-- 6 files changed, 29 insertions(+), 15 deletions(-) diff --git a/src/src/dkim.c b/src/src/dkim.c index a898b75d7..fb846beb4 100644 --- a/src/src/dkim.c +++ b/src/src/dkim.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/dkim.c,v 1.1.2.1 2009/02/24 15:57:55 tom Exp $ */ +/* $Cambridge: exim/src/src/dkim.c,v 1.1.2.2 2009/02/24 18:43:59 tom Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -16,6 +16,17 @@ #include "pdkim/pdkim.h" + +void dkim_exim_verify_init(void) { +} + +void dkim_exim_verify_finish(void) { +} + +int dkim_exim_verify_result(uschar *domain, uschar **result, uschar **error) { + return OK; +} + uschar *dkim_exim_sign(int dkim_fd, uschar *dkim_private_key, uschar *dkim_domain, @@ -29,6 +40,7 @@ uschar *dkim_exim_sign(int dkim_fd, int sread; char buf[4096]; int save_errno = 0; + int old_pool = store_pool; dkim_domain = expand_string(dkim_domain); if (dkim_domain == NULL) { @@ -80,7 +92,6 @@ uschar *dkim_exim_sign(int dkim_fd, goto CLEANUP; } } - dkim_exim_sign_headers = dkim_sign_headers; /* Get private key to use. */ dkim_private_key = expand_string(dkim_private_key); @@ -117,7 +128,7 @@ uschar *dkim_exim_sign(int dkim_fd, pdkim_set_optional(ctx, PDKIM_INPUT_SMTP, - (char *)dkim_exim_sign_headers, + (char *)dkim_sign_headers, NULL, pdkim_canon, pdkim_canon, diff --git a/src/src/dkim.h b/src/src/dkim.h index d5dc5b551..8d6be1e35 100644 --- a/src/src/dkim.h +++ b/src/src/dkim.h @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/dkim.h,v 1.1.2.1 2009/02/24 15:57:55 tom Exp $ */ +/* $Cambridge: exim/src/src/dkim.h,v 1.1.2.2 2009/02/24 18:43:59 tom Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -14,3 +14,8 @@ uschar *dkim_exim_sign(int , uschar *, uschar *); +void dkim_exim_verify_init(void); +void dkim_exim_verify_finish(void); +int dkim_exim_verify_result(uschar *domain, + uschar **, + uschar **); diff --git a/src/src/functions.h b/src/src/functions.h index 41b334a15..402e738b2 100644 --- a/src/src/functions.h +++ b/src/src/functions.h @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/functions.h,v 1.43.2.1 2009/02/24 15:57:55 tom Exp $ */ +/* $Cambridge: exim/src/src/functions.h,v 1.43.2.2 2009/02/24 18:43:59 tom Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -86,9 +86,7 @@ extern BOOL directory_make(uschar *, uschar *, int, BOOL); #ifndef DISABLE_DKIM extern BOOL dkim_transport_write_message(address_item *, int, int, int, uschar *, uschar *, uschar *, uschar *, rewrite_rule *, - int, uschar *, uschar *, uschar *, uschar *, uschar *, uschar *, - uschar *, uschar *, uschar *, uschar *, uschar *, uschar * - ); + int, uschar *, uschar *, uschar *, uschar *, uschar *, uschar *); #endif extern dns_address *dns_address_from_rr(dns_answer *, dns_record *); extern void dns_build_reverse(uschar *, uschar *); diff --git a/src/src/pdkim/sha1.c b/src/src/pdkim/sha1.c index ab1b56faf..532097957 100644 --- a/src/src/pdkim/sha1.c +++ b/src/src/pdkim/sha1.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/pdkim/sha1.c,v 1.1.2.1 2009/02/24 13:13:47 tom Exp $ */ +/* $Cambridge: exim/src/src/pdkim/sha1.c,v 1.1.2.2 2009/02/24 18:43:59 tom Exp $ */ /* * FIPS-180-1 compliant SHA-1 implementation * @@ -309,7 +309,7 @@ void sha1_finish( sha1_context *ctx, unsigned char output[20] ) /* * output = SHA-1( input buffer ) */ -void sha1( unsigned char *input, int ilen, unsigned char output[20] ) +void sha1_oneshot( unsigned char *input, int ilen, unsigned char output[20] ) { sha1_context ctx; @@ -362,7 +362,7 @@ void sha1_hmac_starts( sha1_context *ctx, unsigned char *key, int keylen ) if( keylen > 64 ) { - sha1( key, keylen, sum ); + sha1_oneshot( key, keylen, sum ); keylen = 20; key = sum; } diff --git a/src/src/pdkim/sha1.h b/src/src/pdkim/sha1.h index f5b85ff9b..620fc3dc2 100644 --- a/src/src/pdkim/sha1.h +++ b/src/src/pdkim/sha1.h @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/pdkim/sha1.h,v 1.1.2.1 2009/02/24 13:13:47 tom Exp $ */ +/* $Cambridge: exim/src/src/pdkim/sha1.h,v 1.1.2.2 2009/02/24 18:43:59 tom Exp $ */ /** * \file sha1.h * @@ -72,7 +72,7 @@ void sha1_finish( sha1_context *ctx, unsigned char output[20] ); * \param ilen length of the input data * \param output SHA-1 checksum result */ -void sha1( unsigned char *input, int ilen, unsigned char output[20] ); +void sha1_oneshot( unsigned char *input, int ilen, unsigned char output[20] ); /** * \brief Output = SHA-1( file contents ) diff --git a/src/src/transport.c b/src/src/transport.c index 6f201c3a2..bbdc7da96 100644 --- a/src/src/transport.c +++ b/src/src/transport.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/transport.c,v 1.23.2.1 2009/02/24 15:57:55 tom Exp $ */ +/* $Cambridge: exim/src/src/transport.c,v 1.23.2.2 2009/02/24 18:43:59 tom Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -1059,7 +1059,6 @@ dkim_transport_write_message(address_item *addr, int fd, int options, } } } - #endif /* Fetch file positition (the size) */ size = lseek(dkim_fd,0,SEEK_CUR); @@ -1129,6 +1128,7 @@ dkim_transport_write_message(address_item *addr, int fd, int options, errno = save_errno; return rc; } + #endif -- 2.30.2