X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/1c41c9ccd6545ff905a04b1004a11bf3cf82dc4f..8800895ae8a1e9c49c739839a6623292d7a473d0:/src/src/acl.c diff --git a/src/src/acl.c b/src/src/acl.c index 1be2e095c..06fa6e898 100644 --- a/src/src/acl.c +++ b/src/src/acl.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/acl.c,v 1.45 2005/09/06 13:17:36 ph10 Exp $ */ +/* $Cambridge: exim/src/src/acl.c,v 1.47 2005/09/12 10:08:54 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -140,13 +140,16 @@ enum { #endif CONTROL_ERROR, CONTROL_CASEFUL_LOCAL_PART, CONTROL_CASELOWER_LOCAL_PART, CONTROL_ENFORCE_SYNC, CONTROL_NO_ENFORCE_SYNC, CONTROL_FREEZE, - CONTROL_QUEUE_ONLY, CONTROL_SUBMISSION, + CONTROL_QUEUE_ONLY, CONTROL_SUBMISSION, CONTROL_SUPPRESS_LOCAL_FIXUPS, #ifdef WITH_CONTENT_SCAN CONTROL_NO_MBOX_UNSPOOL, #endif CONTROL_FAKEDEFER, CONTROL_FAKEREJECT, CONTROL_NO_MULTILINE }; -/* ACL control names; keep in step with the table above! */ +/* ACL control names; keep in step with the table above! This list is used for +turning ids into names. The actual list of recognized names is in the variable +control_def controls_list[] below. The fact that there are two lists is a mess +and should be tidied up. */ static uschar *controls[] = { #ifdef EXPERIMENTAL_BRIGHTMAIL @@ -157,10 +160,11 @@ static uschar *controls[] = { #endif US"error", US"caseful_local_part", US"caselower_local_part", US"enforce_sync", US"no_enforce_sync", US"freeze", - US"queue_only", US"submission", + US"queue_only", US"submission", US"suppress_local_fixups", #ifdef WITH_CONTENT_SCAN US"no_mbox_unspool", #endif + US"no_multiline"}; /* Flags to indicate for which conditions /modifiers a string expansion is done @@ -482,6 +486,10 @@ static unsigned int control_forbids[] = { ~((1<next) { uschar *pp = p + 6; while (*pp != 0 && *pp != '/') pp++; - originator_name = string_copy(parse_fix_phrase(p+6, pp-p-6, + submission_name = string_copy(parse_fix_phrase(p+6, pp-p-6, big_buffer, big_buffer_size)); p = pp; } @@ -2506,6 +2515,10 @@ for (; cb != NULL; cb = cb->next) return ERROR; } break; + + case CONTROL_SUPPRESS_LOCAL_FIXUPS: + suppress_local_fixups = TRUE; + break; } break;