X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Facl.c;h=4ad2b01b9a1cc7f04110b7b45592df706d2f376e;hb=261dc43e32f6039781ca92535e56f5caaa68b809;hp=04b7fe5f59bd59b1f730908744e4446f0791ea4f;hpb=f3766eb5a200d0deb99dc3f096ced249727940cd;p=exim.git diff --git a/src/src/acl.c b/src/src/acl.c index 04b7fe5f5..4ad2b01b9 100644 --- a/src/src/acl.c +++ b/src/src/acl.c @@ -1,10 +1,10 @@ -/* $Cambridge: exim/src/src/acl.c,v 1.84 2009/10/14 14:48:41 nm4 Exp $ */ +/* $Cambridge: exim/src/src/acl.c,v 1.88 2010/06/06 00:27:52 pdp Exp $ */ /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2007 */ +/* Copyright (c) University of Cambridge 1995 - 2009 */ /* See the file NOTICE for conditions of use and distribution. */ /* Code for handling Access Control Lists (ACLs) */ @@ -171,6 +171,7 @@ enum { #ifdef EXPERIMENTAL_BRIGHTMAIL CONTROL_BMI_RUN, #endif + CONTROL_DEBUG, #ifndef DISABLE_DKIM CONTROL_DKIM_VERIFY, #endif @@ -204,6 +205,7 @@ static uschar *controls[] = { #ifdef EXPERIMENTAL_BRIGHTMAIL US"bmi_run", #endif + US"debug", #ifndef DISABLE_DKIM US"dkim_disable_verify", #endif @@ -361,6 +363,7 @@ static unsigned int cond_forbids[] = { ~((1<next) } break; + case CONTROL_DEBUG: + while (*p == '/') + { + if (Ustrncmp(p, "/tag=", 5) == 0) + { + uschar *pp = p + 5; + while (*pp != '\0' && *pp != '/') pp++; + debug_tag = string_copyn(p+5, pp-p-5); + p = pp; + } + else if (Ustrncmp(p, "/opts=", 6) == 0) + { + uschar *pp = p + 6; + while (*pp != '\0' && *pp != '/') pp++; + debug_opts = string_copyn(p+6, pp-p-6); + p = pp; + } + } + debug_logging_activate(debug_tag, debug_opts); + break; + case CONTROL_SUPPRESS_LOCAL_FIXUPS: suppress_local_fixups = TRUE; break; @@ -2789,20 +2818,11 @@ for (; cb != NULL; cb = cb->next) #ifndef DISABLE_DKIM case ACLC_DKIM_SIGNER: - if (dkim_signing_domain != NULL) - { - rc = match_isinlist(dkim_signing_domain, + if (dkim_cur_signer != NULL) + rc = match_isinlist(dkim_cur_signer, &arg,0,NULL,NULL,MCL_STRING,TRUE,NULL); - if (rc == FAIL) - { - rc = match_isinlist(dkim_exim_expand_query(DKIM_IDENTITY), - &arg,0,NULL,NULL,MCL_STRING,TRUE,NULL); - } - } else - { rc = FAIL; - } break; case ACLC_DKIM_STATUS: