diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2020-06-14 21:29:08 +0100 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2020-06-14 21:29:08 +0100 |
commit | e89d95f1909c0972b0e854ae05f50246f4d727d6 (patch) | |
tree | 25df6d59e2ce6397f1680ae9fd362df98b61e995 /src | |
parent | 9eed571fd7c3236326cc6ea74f1455b027df7604 (diff) |
Relax restrictions on which ACLs verify conditions may be used
Diffstat (limited to 'src')
-rw-r--r-- | src/src/acl.c | 8 | ||||
-rw-r--r-- | src/src/macros.h | 8 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/src/acl.c b/src/src/acl.c index 297489b3f..e1e6f9ce4 100644 --- a/src/src/acl.c +++ b/src/src/acl.c @@ -1517,14 +1517,14 @@ static verify_type_t verify_type_list[] = { { US"certificate", VERIFY_CERT, (unsigned)~0, TRUE, 0 }, { US"helo", VERIFY_HELO, (unsigned)~0, TRUE, 0 }, { US"csa", VERIFY_CSA, (unsigned)~0, FALSE, 0 }, - { US"header_syntax", VERIFY_HDR_SYNTAX, ACL_BIT_DATA | ACL_BIT_NOTSMTP, TRUE, 0 }, - { US"not_blind", VERIFY_NOT_BLIND, ACL_BIT_DATA | ACL_BIT_NOTSMTP, FALSE, 0 }, - { US"header_sender", VERIFY_HDR_SNDR, ACL_BIT_DATA | ACL_BIT_NOTSMTP, FALSE, 0 }, + { US"header_syntax", VERIFY_HDR_SYNTAX, ACL_BITS_HAVEDATA, TRUE, 0 }, + { US"not_blind", VERIFY_NOT_BLIND, ACL_BITS_HAVEDATA, FALSE, 0 }, + { US"header_sender", VERIFY_HDR_SNDR, ACL_BITS_HAVEDATA, FALSE, 0 }, { US"sender", VERIFY_SNDR, ACL_BIT_MAIL | ACL_BIT_RCPT | ACL_BIT_PREDATA | ACL_BIT_DATA | ACL_BIT_NOTSMTP, FALSE, 6 }, { US"recipient", VERIFY_RCPT, ACL_BIT_RCPT, FALSE, 0 }, - { US"header_names_ascii", VERIFY_HDR_NAMES_ASCII, ACL_BIT_DATA | ACL_BIT_NOTSMTP, TRUE, 0 }, + { US"header_names_ascii", VERIFY_HDR_NAMES_ASCII, ACL_BITS_HAVEDATA, TRUE, 0 }, #ifdef EXPERIMENTAL_ARC { US"arc", VERIFY_ARC, ACL_BIT_DATA, FALSE , 0 }, #endif diff --git a/src/src/macros.h b/src/src/macros.h index f6012447d..b5221c7ec 100644 --- a/src/src/macros.h +++ b/src/src/macros.h @@ -974,7 +974,9 @@ enum { ACL_WHERE_RCPT, /* Some controls are for RCPT only */ #define ACL_BIT_MIME BIT(ACL_WHERE_MIME) #define ACL_BIT_DKIM BIT(ACL_WHERE_DKIM) #define ACL_BIT_DATA BIT(ACL_WHERE_DATA) -#ifndef DISABLE_PRDR +#ifdef DISABLE_PRDR +# define ACL_BIT_PRDR 0 +#else # define ACL_BIT_PRDR BIT(ACL_WHERE_PRDR) #endif #define ACL_BIT_NOTSMTP BIT(ACL_WHERE_NOTSMTP) @@ -992,6 +994,10 @@ enum { ACL_WHERE_RCPT, /* Some controls are for RCPT only */ #define ACL_BIT_DELIVERY BIT(ACL_WHERE_DELIVERY) #define ACL_BIT_UNKNOWN BIT(ACL_WHERE_UNKNOWN) +#define ACL_BITS_HAVEDATA (ACL_BIT_MIME | ACL_BIT_DKIM | ACL_BIT_DATA \ + | ACL_BIT_PRDR \ + | ACL_BIT_NOTSMTP | ACL_BIT_QUIT | ACL_BIT_NOTQUIT) + /* Situations for spool_write_header() */ |