-/* $Cambridge: exim/src/src/dkim.c,v 1.2 2009/06/10 07:34:04 tom Exp $ */
+/* $Cambridge: exim/src/src/dkim.c,v 1.4 2009/10/13 18:32:05 tom Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
switch(what) {
case DKIM_ALGO:
- return dkim_cur_sig->algo?
- (uschar *)(dkim_cur_sig->algo)
- :dkim_exim_expand_defaults(what);
+ switch(dkim_cur_sig->algo) {
+ case PDKIM_ALGO_RSA_SHA1:
+ return US"rsa-sha1";
+ case PDKIM_ALGO_RSA_SHA256:
+ default:
+ return US"rsa-sha256";
+ }
case DKIM_BODYLENGTH:
return (dkim_cur_sig->bodylength >= 0)?
(uschar *)string_sprintf(OFF_T_FMT,(LONGLONG_T)dkim_cur_sig->bodylength)
:dkim_exim_expand_defaults(what);
case DKIM_CANON_BODY:
- return dkim_cur_sig->canon_body?
- (uschar *)(dkim_cur_sig->canon_body)
- :dkim_exim_expand_defaults(what);
+ switch(dkim_cur_sig->canon_body) {
+ case PDKIM_CANON_RELAXED:
+ return US"relaxed";
+ case PDKIM_CANON_SIMPLE:
+ default:
+ return US"simple";
+ }
case DKIM_CANON_HEADERS:
- return dkim_cur_sig->canon_headers?
- (uschar *)(dkim_cur_sig->canon_headers)
- :dkim_exim_expand_defaults(what);
+ switch(dkim_cur_sig->canon_headers) {
+ case PDKIM_CANON_RELAXED:
+ return US"relaxed";
+ case PDKIM_CANON_SIMPLE:
+ default:
+ return US"simple";
+ }
case DKIM_COPIEDHEADERS:
return dkim_cur_sig->copiedheaders?
(uschar *)(dkim_cur_sig->copiedheaders)
/* Looks like a filename, load the private key. */
memset(big_buffer,0,big_buffer_size);
privkey_fd = open(CS dkim_private_key,O_RDONLY);
- (void)read(privkey_fd,big_buffer,16383);
+ if (privkey_fd < 0) {
+ log_write(0, LOG_MAIN|LOG_PANIC, "unable to open "
+ "private key file for reading: %s", dkim_private_key);
+ rc = NULL;
+ goto CLEANUP;
+ }
+ (void)read(privkey_fd,big_buffer,(big_buffer_size-2));
(void)close(privkey_fd);
dkim_private_key = big_buffer;
}