From 2f079f46bc72c815552f0572500d151a19fd27da Mon Sep 17 00:00:00 2001 From: Philip Hazel Date: Tue, 29 Mar 2005 10:56:48 +0000 Subject: [PATCH] Further tidies and minor fixes to the tables that control which ACL condition is allowed when. --- doc/doc-txt/ChangeLog | 10 ++++- src/src/acl.c | 101 ++++++++++++------------------------------ 2 files changed, 37 insertions(+), 74 deletions(-) diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index ed449756f..4a1d45045 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -1,4 +1,4 @@ -$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.100 2005/03/29 09:49:49 ph10 Exp $ +$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.101 2005/03/29 10:56:48 ph10 Exp $ Change log file for Exim from version 4.21 ------------------------------------------- @@ -10,7 +10,7 @@ Exim version 4.51 TK/01 Added Yahoo DomainKeys support via libdomainkeys. See doc/experimental-spec.txt for details. (http://domainkeys.sf.net) -TK/02 Fix ACL "control" statment not being available in MIME ACL. +TK/02 Fix ACL "control" statement not being available in MIME ACL. TK/03 Fix ACL "regex" condition not being available in MIME ACL. @@ -82,6 +82,12 @@ PH/14 Modified the default configuration to add an acl_smtp_data ACL, with SpamAssassin. Also added commented examples of av_scanner and spamd_address settings. +PH/15 Further to TK/02 and TK/03 above, tidied up the tables of what conditions + and controls are allowed in which ACLs. There were a couple of minor + errors. Some of the entries in the conditions table (which is a table of + where they are NOT allowed) were getting very unwieldy; rewrote them as a + negation of where the condition IS allowed. + A note about Exim versions 4.44 and 4.50 ---------------------------------------- diff --git a/src/src/acl.c b/src/src/acl.c index 8fb6a7eef..704e9cb5e 100644 --- a/src/src/acl.c +++ b/src/src/acl.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/acl.c,v 1.25 2005/03/15 15:36:41 ph10 Exp $ */ +/* $Cambridge: exim/src/src/acl.c,v 1.26 2005/03/29 10:56:48 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -244,7 +244,8 @@ static uschar cond_modifiers[] = { }; /* Bit map vector of which conditions are not allowed at certain times. For -each condition, there's a bitmap of dis-allowed times. */ +each condition, there's a bitmap of dis-allowed times. For some, it is easier +to specify the negation of a small number of allowed times. */ static unsigned int cond_forbids[] = { 0, /* acl */ @@ -265,34 +266,24 @@ static unsigned int cond_forbids[] = { 0, /* condition */ /* Certain types of control are always allowed, so we let it through - always and check in the control processing itself */ + always and check in the control processing itself. */ 0, /* control */ #ifdef WITH_CONTENT_SCAN - (1<