Disallow queue= modifier from DATA ACL
authorJeremy Harris <jgh146exb@wizmail.org>
Tue, 31 May 2016 17:28:17 +0000 (18:28 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Tue, 31 May 2016 17:28:34 +0000 (18:28 +0100)
doc/doc-docbook/spec.xfpt
src/src/acl.c

index 15491c3f19f493353738b79daa1510271d065c90..174873d07a0528abc5b3498164bb4c453f280a26 100644 (file)
@@ -28619,6 +28619,8 @@ effect.
 .vitem &*queue*&&~=&~<&'text'&>
 This modifier specifies the use of a named queue for spool files
 for the message.
+It can only be used before the message is received (i.e. not in
+the DATA ACL).
 This could be used, for example, for known high-volume burst sources
 of traffic, or for quarantine of messages.
 Separate queue-runner processes will be needed for named queues.
index ec1505bf0023f685ae7c5f301fae005479493b2f..0972a23fcd2a9cca9f2a992105580c7a981760da 100644 (file)
@@ -513,7 +513,12 @@ static unsigned int cond_forbids[] = {
   ~(1<<ACL_WHERE_MIME),                            /* mime_regex */
   #endif
 
-  0,                                               /* queue */
+  (1<<ACL_WHERE_NOTSMTP)|                          /* queue */
+  #ifndef DISABLE_PRDR
+    (1<<ACL_WHERE_PRDR)|
+  #endif
+    (1<<ACL_WHERE_DATA),
+
   0,                                               /* ratelimit */
 
   (unsigned int)