]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.3-20051126
authorWietse Venema <wietse@porcupine.org>
Sat, 26 Nov 2005 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:31:49 +0000 (06:31 +0000)
17 files changed:
postfix/HISTORY
postfix/conf/access
postfix/html/access.5.html
postfix/html/postconf.5.html
postfix/html/trivial-rewrite.8.html
postfix/man/man5/access.5
postfix/man/man5/postconf.5
postfix/man/man8/trivial-rewrite.8
postfix/proto/access
postfix/proto/postconf.proto
postfix/src/bounce/bounce_template.c
postfix/src/bounce/bounce_templates.c
postfix/src/cleanup/cleanup_extracted.c
postfix/src/global/mail_version.h
postfix/src/global/resolve_clnt.c
postfix/src/smtpd/smtpd_check.c
postfix/src/trivial-rewrite/trivial-rewrite.c

index 5b2275f292adc20e12b65c384cdd03f68d3ba4fb..4faa2d5e1ce2fc095f9e7b1ce11333e64cc72f53 100644 (file)
@@ -11342,7 +11342,8 @@ Apologies for any names omitted.
        a race condition. This time window was increased when queue
        file creation was postponed from MAIL FROM until the first
        accepted RCPT TO.  The window is closed again. Found by
-       Victor. Files: global/mail_stream.c, global/mail_queue.c.
+       Victor. Files: global/mail_stream.c, global/mail_queue.c,
+       cleanup/cleanup_message.c.
 
 20051109
 
@@ -11457,6 +11458,14 @@ Apologies for any names omitted.
        extended version of a patch by Mathias Hasselmann.  Files:
        smtp/smtp_connect.c, smtp/smtp_sasl_glue.c.
 
+20051126
+
+       Workaround: log warning when REDIRECT or FILTER are used
+       in smtpd_end_of_data_restrictions. File: smtpd/smtpd_check.c.
+
+       Log warning when REDIRECT or FILTER are used in
+       smtpd_etrn_restrictions. File: smtpd/smtpd_check.c.
+
 Open problems:
 
        "postsuper -r" no longer resets the message arrival time,
@@ -11464,8 +11473,8 @@ Open problems:
        information. This can be a problem when mail "on hold" is
        released after a long time.
 
-       Is it safe to cache a connection after it has been used
-       for more than some number of address verification probes?
+       Is it safe to cache a connection after it has been used for
+       more than some number of address verification probes?
 
        Access map actions such as FILTER and REDIRECT don't work
        in smtpd_end_of_data_restrictions (or anything else that
@@ -11546,8 +11555,6 @@ Open problems:
        become arbitrarily short when an event is scheduled just
        before the current second rolls over.
 
-       Low: per-sender resolver personalities?
-
        Low: configurable internal/system locking method.
 
        Low: make sure CCARGS -I options come at the end.
@@ -11560,7 +11567,7 @@ Open problems:
 
        Low: noise filter: allow smtp(8) to retry immediately if
        all MXes return a quick ECONNRESET or 4xx reply during the
-       initial handshake.
+       initial handshake. Retry once? How many times?
 
        Low: make post-install a "postfix-only script" so it can
        take data from the environment instead of main.cf.
@@ -11581,7 +11588,9 @@ Open problems:
        unthrottle disabled transports or queues.
 
        Med: postsuper -r should do something with recipients in
-       bounce logfiles.
+       bounce logfiles, to make sure the sender will be notified.
+       To be perfectly safe, no process other than the queue manager
+       should move a queue file from the active queue.
 
        Low: postsuper re-run after renaming files, but only a
        limited number of times.
index ed1c2e0030f16f8af90285fe416b2b3082f57a73..af9435ee32f8be7731d69aa87155a9a1615c1af7 100644 (file)
 #               transport(5) table to direct mail to the discard(8)
 #               service.
 # 
+#               Note:  this  action  currently  does  not  work  in
+#               smtpd_end_of_data_restrictions.
+# 
 #               This feature is available in Postfix 2.0 and later.
 # 
-#        DUNNO  Pretend that the lookup key  was  not  found.  This
-#               prevents  Postfix  from  trying  substrings  of the
-#               lookup key (such as a subdomain name, or a  network
+#        DUNNO  Pretend  that  the  lookup  key was not found. This
+#               prevents Postfix  from  trying  substrings  of  the
+#               lookup  key (such as a subdomain name, or a network
 #               address subnetwork).
 # 
 #               This feature is available in Postfix 2.0 and later.
 # 
 #        FILTER transport:destination
-#               After the message is queued, send the  entire  mes-
+#               After  the  message is queued, send the entire mes-
 #               sage through the specified external content filter.
-#               The transport:destination syntax  is  described  in
-#               the  transport(5)  manual  page.   More information
-#               about external content filters is  in  the  Postfix
+#               The  transport:destination  syntax  is described in
+#               the transport(5)  manual  page.   More  information
+#               about  external  content  filters is in the Postfix
 #               FILTER_README file.
 # 
-#               Note:   this  action  overrides  the  main.cf  con-
+#               Note:  this  action  overrides  the  main.cf   con-
 #               tent_filter  setting,  and  currently  affects  all
 #               recipients of the message.
 # 
+#               Note:  this  action  currently  does  not  work  in
+#               smtpd_end_of_data_restrictions.
+# 
 #               This feature is available in Postfix 2.0 and later.
 # 
 #        HOLD optional text...
 #               Note: this action currently affects all  recipients
 #               of the message.
 # 
+#               Note:  this  action  currently  does  not  work  in
+#               smtpd_end_of_data_restrictions.
+# 
 #               This feature is available in Postfix 2.0 and later.
 # 
 #        PREPEND headername: headervalue
-#               Prepend the specified message header  to  the  mes-
+#               Prepend  the  specified  message header to the mes-
 #               sage.  When this action is used multiple times, the
-#               first prepended header appears  before  the  second
+#               first  prepended  header  appears before the second
 #               etc. prepended header.
 # 
-#               Note:  this action does not support multi-line mes-
+#               Note: this action does not support multi-line  mes-
 #               sage headers.
 # 
 #               This feature is available in Postfix 2.1 and later.
 # 
 #        REDIRECT user@domain
-#               After  the  message  is queued, send the message to
+#               After the message is queued, send  the  message  to
 #               the  specified  address  instead  of  the  intended
 #               recipient(s).
 # 
-#               Note:  this action overrides the FILTER action, and
+#               Note: this action overrides the FILTER action,  and
 #               currently affects all recipients of the message.
 # 
+#               Note:  this  action  currently  does  not  work  in
+#               smtpd_end_of_data_restrictions.
+# 
 #               This feature is available in Postfix 2.1 and later.
 # 
 #        WARN optional text...
index 85c10ed263817f432378d5bd01a28c285d6094b9..a9ec6353e76fcbc6271a36c58dce24f73a227a2f 100644 (file)
@@ -227,27 +227,33 @@ ACCESS(5)                                                            ACCESS(5)
               <a href="transport.5.html">transport(5)</a> table to direct mail to the <a href="discard.8.html">discard(8)</a>
               service.
 
+              Note:  this  action  currently  does  not  work  in
+              <b><a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a></b>.
+
               This feature is available in Postfix 2.0 and later.
 
-       <b>DUNNO</b>  Pretend that the lookup key  was  not  found.  This
-              prevents  Postfix  from  trying  substrings  of the
-              lookup key (such as a subdomain name, or a  network
+       <b>DUNNO</b>  Pretend  that  the  lookup  key was not found. This
+              prevents Postfix  from  trying  substrings  of  the
+              lookup  key (such as a subdomain name, or a network
               address subnetwork).
 
               This feature is available in Postfix 2.0 and later.
 
        <b>FILTER</b> <i>transport:destination</i>
-              After the message is queued, send the  entire  mes-
+              After  the  message is queued, send the entire mes-
               sage through the specified external content filter.
-              The <i>transport:destination</i> syntax  is  described  in
-              the  <a href="transport.5.html"><b>transport</b>(5)</a>  manual  page.   More information
-              about external content filters is  in  the  Postfix
+              The  <i>transport:destination</i>  syntax  is described in
+              the <a href="transport.5.html"><b>transport</b>(5)</a>  manual  page.   More  information
+              about  external  content  filters is in the Postfix
               <a href="FILTER_README.html">FILTER_README</a> file.
 
-              Note:   this  action  overrides  the  <b>main.cf  <a href="postconf.5.html#content_filter">con</a>-</b>
+              Note:  this  action  overrides  the  <b>main.cf   <a href="postconf.5.html#content_filter">con</a>-</b>
               <b><a href="postconf.5.html#content_filter">tent_filter</a></b>  setting,  and  currently  affects  all
               recipients of the message.
 
+              Note:  this  action  currently  does  not  work  in
+              <b><a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a></b>.
+
               This feature is available in Postfix 2.0 and later.
 
        <b>HOLD</b> <i>optional text...</i>
@@ -268,27 +274,33 @@ ACCESS(5)                                                            ACCESS(5)
               Note: this action currently affects all  recipients
               of the message.
 
+              Note:  this  action  currently  does  not  work  in
+              <b><a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a></b>.
+
               This feature is available in Postfix 2.0 and later.
 
        <b>PREPEND</b> <i>headername: headervalue</i>
-              Prepend the specified message header  to  the  mes-
+              Prepend  the  specified  message header to the mes-
               sage.  When this action is used multiple times, the
-              first prepended header appears  before  the  second
+              first  prepended  header  appears before the second
               etc. prepended header.
 
-              Note:  this action does not support multi-line mes-
+              Note: this action does not support multi-line  mes-
               sage headers.
 
               This feature is available in Postfix 2.1 and later.
 
        <b>REDIRECT</b> <i>user@domain</i>
-              After  the  message  is queued, send the message to
+              After the message is queued, send  the  message  to
               the  specified  address  instead  of  the  intended
               recipient(s).
 
-              Note:  this action overrides the FILTER action, and
+              Note: this action overrides the FILTER action,  and
               currently affects all recipients of the message.
 
+              Note:  this  action  currently  does  not  work  in
+              <b><a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a></b>.
+
               This feature is available in Postfix 2.1 and later.
 
        <b>WARN</b> <i>optional text...</i>
index 271364db1c16cf84197dc1865dc83bea59fb9e98..fa2eef1fd95cfd6feb15592b7a648d42b00e3acc 100644 (file)
@@ -10254,7 +10254,7 @@ deferred.
 
 <p>
 The default mail delivery transport and next-hop destination for
-final delivery to domains listed with <a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
+final delivery to domains listed with $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
 This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
 </p>
 
index 1aaa7183d56333ca3294531221f8d34298269964..6f62be23997a528d40d7ff04864fbd3c3aba9875 100644 (file)
@@ -154,7 +154,7 @@ TRIVIAL-REWRITE(8)                                          TRIVIAL-REWRITE(8)
        <b><a href="postconf.5.html#virtual_transport">virtual_transport</a> (virtual)</b>
               The  default  mail  delivery transport and next-hop
               destination for final delivery  to  domains  listed
-              with <a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
+              with $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
 
        <b><a href="postconf.5.html#relay_transport">relay_transport</a> (relay)</b>
               The  default  mail  delivery transport and next-hop
index b4895794cf5ef2456dbfc63116326aae121de017..496f58a2699921b74e280de104510c57b766f730 100644 (file)
@@ -212,6 +212,9 @@ Note: this action currently affects all recipients of the message.
 To discard only one recipient without discarding the entire message,
 use the transport(5) table to direct mail to the discard(8) service.
 .sp
+Note: this action currently does not work in
+\fBsmtpd_end_of_data_restrictions\fR.
+.sp
 This feature is available in Postfix 2.0 and later.
 .IP \fBDUNNO\fR
 Pretend that the lookup key was not found. This
@@ -229,6 +232,9 @@ about external content filters is in the Postfix FILTER_README file.
 Note: this action overrides the \fBmain.cf content_filter\fR setting,
 and currently affects all recipients of the message.
 .sp
+Note: this action currently does not work in
+\fBsmtpd_end_of_data_restrictions\fR.
+.sp
 This feature is available in Postfix 2.0 and later.
 .IP "\fBHOLD \fIoptional text...\fR"
 Place the message on the \fBhold\fR queue, where it will sit
@@ -246,6 +252,9 @@ or \fB$bounce_queue_lifetime\fR, or longer.
 .sp
 Note: this action currently affects all recipients of the message.
 .sp
+Note: this action currently does not work in
+\fBsmtpd_end_of_data_restrictions\fR.
+.sp
 This feature is available in Postfix 2.0 and later.
 .IP "\fBPREPEND \fIheadername: headervalue\fR"
 Prepend the specified message header to the message.
@@ -262,6 +271,9 @@ address instead of the intended recipient(s).
 Note: this action overrides the FILTER action, and currently affects
 all recipients of the message.
 .sp
+Note: this action currently does not work in
+\fBsmtpd_end_of_data_restrictions\fR.
+.sp
 This feature is available in Postfix 2.1 and later.
 .IP "\fBWARN \fIoptional text...\fR
 Log a warning with the optional text, together with client information
index 4d4a5de7ea106503729961d764f1f14dabd14673..468e5d4a2872805f158d399acbe1de40b31524b7 100644 (file)
@@ -5951,7 +5951,7 @@ values less than this will be rejected, and the message will be
 deferred.
 .SH virtual_transport (default: virtual)
 The default mail delivery transport and next-hop destination for
-final delivery to domains listed with virtual_mailbox_domains.
+final delivery to domains listed with $virtual_mailbox_domains.
 This information can be overruled with the \fBtransport\fR(5) table.
 .PP
 Specify a string of the form \fItransport:nexthop\fR, where \fItransport\fR
index d51635ddbd21e26101abd868a23171f89f09aeb1..b7123ee5056dd831890a47b6c56103e3fc491a85 100644 (file)
@@ -146,7 +146,7 @@ for final delivery to domains listed with mydestination, and for
 [ipaddress] destinations that match $inet_interfaces or $proxy_interfaces.
 .IP "\fBvirtual_transport (virtual)\fR"
 The default mail delivery transport and next-hop destination for
-final delivery to domains listed with virtual_mailbox_domains.
+final delivery to domains listed with $virtual_mailbox_domains.
 .IP "\fBrelay_transport (relay)\fR"
 The default mail delivery transport and next-hop destination for
 remote delivery to domains listed with $relay_domains.
index 69598470ff3ca09e4b2f319814c45edcff196a2e..c6a1d97aed2151bcaa51223ab45748bb90c18be0 100644 (file)
 #      To discard only one recipient without discarding the entire message,
 #      use the transport(5) table to direct mail to the discard(8) service.
 # .sp
+#      Note: this action currently does not work in
+#      \fBsmtpd_end_of_data_restrictions\fR.
+# .sp
 #      This feature is available in Postfix 2.0 and later.
 # .IP \fBDUNNO\fR
 #      Pretend that the lookup key was not found. This
 #      Note: this action overrides the \fBmain.cf content_filter\fR setting,
 #      and currently affects all recipients of the message.
 # .sp
+#      Note: this action currently does not work in
+#      \fBsmtpd_end_of_data_restrictions\fR.
+# .sp
 #      This feature is available in Postfix 2.0 and later.
 # .IP "\fBHOLD \fIoptional text...\fR"
 #      Place the message on the \fBhold\fR queue, where it will sit
 # .sp
 #      Note: this action currently affects all recipients of the message.
 # .sp
+#      Note: this action currently does not work in
+#      \fBsmtpd_end_of_data_restrictions\fR.
+# .sp
 #      This feature is available in Postfix 2.0 and later.
 # .IP "\fBPREPEND \fIheadername: headervalue\fR"
 #      Prepend the specified message header to the message.
 #      Note: this action overrides the FILTER action, and currently affects
 #      all recipients of the message.
 # .sp
+#      Note: this action currently does not work in
+#      \fBsmtpd_end_of_data_restrictions\fR.
+# .sp
 #      This feature is available in Postfix 2.1 and later.
 # .IP "\fBWARN \fIoptional text...\fR
 #      Log a warning with the optional text, together with client information
index 35230c37af80e52b50fa3228661b8e31991309f0..9f61f108cf71c4bb3931292e1179e96cdd4af281 100644 (file)
@@ -7714,7 +7714,7 @@ deferred.
 
 <p>
 The default mail delivery transport and next-hop destination for
-final delivery to domains listed with virtual_mailbox_domains.
+final delivery to domains listed with $virtual_mailbox_domains.
 This information can be overruled with the transport(5) table.
 </p>
 
index 99ded09665781c668dc898517051715c14b5aeca..b2df97b76ca25bc6992ebe5bbbff686352957f5f 100644 (file)
@@ -12,7 +12,8 @@
 /*     void    bounce_template_free(template)
 /*     BOUNCE_TEMPLATE *template;
 /*
-/*     void    bounce_template_load(stream, buffer, origin)
+/*     void    bounce_template_load(template, stream, buffer, origin)
+/*     BOUNCE_TEMPLATE *template;
 /*     VSTREAM *stream;
 /*     const char *buffer;
 /*     const char *origin;
@@ -57,8 +58,8 @@
 /*
 /*     bounce_template_free() destroys a bounce message template.
 /*
-/*     bounce_template_load() reads a bounce template from the
-/*     specified buffer with the specified origin. The buffer and
+/*     bounce_template_load() overrides a bounce template with the
+/*     specified buffer from the specified origin. The buffer and
 /*     origin are copied. Specify a null buffer and origin pointer
 /*     to reset the template to the defaults specified with
 /*     bounce_template_create().
@@ -340,7 +341,7 @@ static void bounce_template_parse_buffer(BOUNCE_TEMPLATE *tp)
 
     /*
      * Is this 7bit or 8bit text? If the character set is US-ASCII, then
-     * don't allow 8bit text.
+     * don't allow 8bit text. Don't assume 8bit when charset was changed.
      */
 #define NON_ASCII(p) (*(p) && !allascii((p)))
 
@@ -401,6 +402,7 @@ static const char *bounce_template_lookup(const char *key, int unused_mode,
                                 tp->origin, result, tp->class, key);
                        msg_warn("please increase time unit \"%s\" of \"%s\" "
                              "in %s template", bd->suffix, key, tp->class);
+                       msg_warn("for instructions see the bounce(5) manual");
                    } else if (result == 0 && bp->value[0] && bd->divisor > 1) {
                        msg_warn("%s: zero result in %s template "
                                 "conversion of parameter \"%s\"",
index 292ea04a7324bb03ffba7e16356470ccbce3ac76..18b0bb34cfaf78a9ae4afdb69c318a01cb35f7fb 100644 (file)
@@ -41,7 +41,7 @@
 /*     bounce_templates_free() destroys a bounce template group.
 /*
 /*     bounce_templates_load() reads zero or more bounce templates
-/*     from the specified file.
+/*     from the specified file to override built-in templates.
 /*
 /*     bounce_templates_expand() expands $name macros and writes
 /*     the text portions of the specified bounce template group
index 5e0dbf9f3d90914e87d6b19b70819d3384b95a21..4746b214e312de99b1983a039326d7134a9c3336 100644 (file)
@@ -237,6 +237,10 @@ void    cleanup_extracted_process(CLEANUP_STATE *state, int type,
 
     /*
      * Extracted envelope non-recipient record processing.
+     * 
+     * XXX We currently cannot have FILTER, REDIRECT etc. action records after
+     * the message content, as that would break the use of "postsuper -r" to
+     * reset such information. See also smtpd/smtpd_check.c.
      */
     if (state->flags & CLEANUP_FLAG_INRCPT)
        /* Tell qmgr that recipient records are mixed with other information. */
index 143d31f277468145f2c4de91dbd7f4311e1773c6..80974246ff3da08526e48cda7b07b2339fe2e1bd 100644 (file)
@@ -20,7 +20,7 @@
   * Patches change both the patchlevel and the release date. Snapshots have no
   * patchlevel; they change the release date only.
   */
-#define MAIL_RELEASE_DATE      "20051125"
+#define MAIL_RELEASE_DATE      "20051126"
 #define MAIL_VERSION_NUMBER    "2.3"
 
 #ifdef SNAPSHOT
index 7dd7147a3537c3c67ee626eeaa98111bb8f8c397..fcaf2c6240123c856acda2e4eba9ca4512003ae7 100644 (file)
@@ -244,8 +244,8 @@ void    resolve_clnt(const char *class, const char *sender,
                         var_rewrite_service);
        } else {
            if (msg_verbose)
-               msg_info("%s: `%s' -> transp=`%s' host=`%s' rcpt=`%s' flags=%s%s%s%s class=%s%s%s%s%s",
-                        myname, addr, STR(reply->transport),
+               msg_info("%s: `%s' -> `%s' -> transp=`%s' host=`%s' rcpt=`%s' flags=%s%s%s%s class=%s%s%s%s%s",
+                        myname, sender, addr, STR(reply->transport),
                         STR(reply->nexthop), STR(reply->recipient),
                         IFSET(RESOLVE_FLAG_FINAL, "final"),
                         IFSET(RESOLVE_FLAG_ROUTED, "routed"),
index e37c956d2b678759137ebaf6d75cda84ffd1ee76..46f3f1a852c4c9b3d1f1203ed302baebbb3bd2d8 100644 (file)
@@ -1835,6 +1835,26 @@ static int can_delegate_action(SMTPD_STATE *state, const char *table,
                 table, VAR_SMTPD_PROXY_FILT, action);
        return (0);
     }
+
+    /*
+     * XXX We currently cannot have FILTER, REDIRECT etc. action records
+     * after the message content, as that would break the use of "postsuper
+     * -r" to reset such information. See cleanup/cleanup_extracted.c.
+     */
+    if (strcmp(state->where, SMTPD_AFTER_DOT) == 0) {
+       msg_warn("access table %s: action %s is unavailable in %s",
+                table, action, VAR_EOD_CHECKS);
+       return (0);
+    }
+
+    /*
+     * ETRN does not receive mail so we can't store queue file records.
+     */
+    if (strcmp(state->where, "ETRN") == 0) {
+       msg_warn("access table %s: action %s is unavailable in %s",
+                table, action, VAR_ETRN_CHECKS);
+       return (0);
+    }
     return (not_in_client_helo(state, table, action, reply_class));
 }
 
index 36db1b7b61a91831eac3af84befd4273199aea30..0ab6f46dcb635aca3003b5781d13b4361b3d8a21 100644 (file)
 /*     [ipaddress] destinations that match $inet_interfaces or $proxy_interfaces.
 /* .IP "\fBvirtual_transport (virtual)\fR"
 /*     The default mail delivery transport and next-hop destination for
-/*     final delivery to domains listed with virtual_mailbox_domains.
+/*     final delivery to domains listed with $virtual_mailbox_domains.
 /* .IP "\fBrelay_transport (relay)\fR"
 /*     The default mail delivery transport and next-hop destination for
 /*     remote delivery to domains listed with $relay_domains.