git://git.exim.org
/
users
/
jgh
/
exim.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
bb1d997
)
The last bits of DKIM support
author
Tom Kistner
<tom@duncanthrax.net>
Tue, 9 Jun 2009 14:19:56 +0000
(14:19 +0000)
committer
Tom Kistner
<tom@duncanthrax.net>
Tue, 9 Jun 2009 14:19:56 +0000
(14:19 +0000)
src/src/acl.c
patch
|
blob
|
history
diff --git
a/src/src/acl.c
b/src/src/acl.c
index fece68be73c1d9d813c0d2835e344f7415d66888..a317512ee88937803125547de210cca0b425b52d 100644
(file)
--- a/
src/src/acl.c
+++ b/
src/src/acl.c
@@
-1,4
+1,4
@@
-/* $Cambridge: exim/src/src/acl.c,v 1.82.2.
2 2009/05/20 14:30:14
tom Exp $ */
+/* $Cambridge: exim/src/src/acl.c,v 1.82.2.
3 2009/06/09 14:19:56
tom Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
/*************************************************
* Exim - an Internet mail transport agent *
@@
-64,6
+64,10
@@
enum { ACLC_ACL,
ACLC_DELAY,
#ifdef WITH_OLD_DEMIME
ACLC_DEMIME,
ACLC_DELAY,
#ifdef WITH_OLD_DEMIME
ACLC_DEMIME,
+#endif
+#ifndef DISABLE_DKIM
+ ACLC_DKIM_SIGNER,
+ ACLC_DKIM_STATUS,
#endif
ACLC_DNSLISTS,
ACLC_DOMAINS,
#endif
ACLC_DNSLISTS,
ACLC_DOMAINS,
@@
-122,6
+126,10
@@
static uschar *conditions[] = {
US"delay",
#ifdef WITH_OLD_DEMIME
US"demime",
US"delay",
#ifdef WITH_OLD_DEMIME
US"demime",
+#endif
+#ifndef DISABLE_DKIM
+ US"dkim_signer",
+ US"dkim_status",
#endif
US"dnslists",
US"domains",
#endif
US"dnslists",
US"domains",
@@
-242,6
+250,10
@@
static uschar cond_expand_at_top[] = {
TRUE, /* delay */
#ifdef WITH_OLD_DEMIME
TRUE, /* demime */
TRUE, /* delay */
#ifdef WITH_OLD_DEMIME
TRUE, /* demime */
+#endif
+#ifndef DISABLE_DKIM
+ TRUE, /* dkim_signer */
+ TRUE, /* dkim_status */
#endif
TRUE, /* dnslists */
FALSE, /* domains */
#endif
TRUE, /* dnslists */
FALSE, /* domains */
@@
-298,6
+310,10
@@
static uschar cond_modifiers[] = {
TRUE, /* delay */
#ifdef WITH_OLD_DEMIME
FALSE, /* demime */
TRUE, /* delay */
#ifdef WITH_OLD_DEMIME
FALSE, /* demime */
+#endif
+#ifndef DISABLE_DKIM
+ FALSE, /* dkim_signer */
+ FALSE, /* dkim_status */
#endif
FALSE, /* dnslists */
FALSE, /* domains */
#endif
FALSE, /* dnslists */
FALSE, /* domains */
@@
-388,6
+404,14
@@
static unsigned int cond_forbids[] = {
~((1<<ACL_WHERE_DATA)|(1<<ACL_WHERE_NOTSMTP)), /* demime */
#endif
~((1<<ACL_WHERE_DATA)|(1<<ACL_WHERE_NOTSMTP)), /* demime */
#endif
+ #ifndef DISABLE_DKIM
+ (unsigned int)
+ ~(1<<ACL_WHERE_DKIM), /* dkim_signer */
+
+ (unsigned int)
+ ~(1<<ACL_WHERE_DKIM), /* dkim_status */
+ #endif
+
(1<<ACL_WHERE_NOTSMTP)| /* dnslists */
(1<<ACL_WHERE_NOTSMTP_START),
(1<<ACL_WHERE_NOTSMTP)| /* dnslists */
(1<<ACL_WHERE_NOTSMTP_START),
@@
-2760,6
+2784,18
@@
for (; cb != NULL; cb = cb->next)
break;
#endif
break;
#endif
+ #ifndef DISABLE_DKIM
+ case ACLC_DKIM_SIGNER:
+ rc = match_isinlist(dkim_signing_domain,
+ &arg,0,NULL,NULL,MCL_STRING,TRUE,NULL);
+ break;
+
+ case ACLC_DKIM_STATUS:
+ rc = match_isinlist(dkim_exim_expand_query(DKIM_VERIFY_STATUS),
+ &arg,0,NULL,NULL,MCL_STRING,TRUE,NULL);
+ break;
+ #endif
+
case ACLC_DNSLISTS:
rc = verify_check_dnsbl(&arg);
break;
case ACLC_DNSLISTS:
rc = verify_check_dnsbl(&arg);
break;