]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.9-20110930
authorWietse Venema <wietse@porcupine.org>
Fri, 30 Sep 2011 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:37:29 +0000 (06:37 +0000)
20 files changed:
postfix/HISTORY
postfix/README_FILES/BASIC_CONFIGURATION_README
postfix/WISHLIST
postfix/html/BASIC_CONFIGURATION_README.html
postfix/html/lmtp.8.html
postfix/html/master.8.html
postfix/html/postconf.5.html
postfix/html/smtp.8.html
postfix/html/smtpd.8.html
postfix/man/man5/postconf.5
postfix/man/man8/master.8
postfix/man/man8/smtp.8
postfix/man/man8/smtpd.8
postfix/proto/BASIC_CONFIGURATION_README.html
postfix/proto/postconf.proto
postfix/src/global/mail_version.h
postfix/src/master/master.c
postfix/src/smtp/smtp.c
postfix/src/smtpd/smtpd.c
postfix/src/smtpd/smtpd_proxy.c

index 5fdedc08399aba631a05bcfddd95a02f8b61ea94..82b8f430ef88c4abb0e732703590466c1a2a8e56 100644 (file)
@@ -16973,3 +16973,18 @@ Apologies for any names omitted.
        after non-blocking connect fails with 'host unreachable'
        that resulted in a unreasonable memory allocation request.
        File: util/vstream_tweak.c.
+
+20110921
+
+       Bugfix (introduced: Postfix 1.1): smtpd(8) did not sanitize
+       newline characters in cleanup(8) REJECT messages, causing
+       them to be sent out via SMTP as bare newline characters.
+       This happened when a REJECT pattern matched multi-line
+       header text.  Discovered by Kevin Locke.  File: smtpd/smtpd.c.
+
+20110922
+
+       Bugfix (introduced: Postfix 2.1): smtpd(8) sent multi-line
+       responses from a before-queue content filter as text with
+       bare <LF> instead of <CR><LF>.  Found during code maintenance.
+       File: smtpd/smtpd_proxy.c.
index d56b703d194dbc337365f8d7eed71dcbc4f02295..d17cba9868978f423ed452c37b401f0b0d6b2b02 100644 (file)
@@ -167,6 +167,10 @@ to any destination. Authorized networks are defined with the mynetworks
 configuration parameter. The default is to authorize all clients in the IP
 subnetworks that the local machine is attached to.
 
+Postfix can also be configured to relay mail from "mobile" clients that send
+mail from outside an authorized network block. This is explained in the
+SASL_README and TLS_README documents.
+
 IMPORTANT: If your machine is connected to a wide area network then your
 default mynetworks setting may be too friendly.
 
index f0780e46ce67f5e1f25c3b509fc5f657b714da99..9a0ca54ef667be767a21a5b868a4ccbc044916da 100644 (file)
@@ -11,7 +11,9 @@ Wish list:
 
        Make the rules for how to use close-on-exec more explicit.
 
-       Add SASL / TLS note to BASIC_CONFIGURATION_README.html#relay_from.
+       Provide separate timeout control for dict_proxy client,
+       rewrite client, resolve client, cleanup client, and so on.
+       Perhaps a timeout argument to the mail_connect() routines.
 
        Trick from amavisd: save listen socket/fifo/etc state, clear
        their close-on-exec flags, exec the same program file to
index ae988b6b6b27c8fab93d302210de581f1f43af66..bada5077e115f1f2aaff696f6f6e4ba4af9b0154 100644 (file)
@@ -258,6 +258,10 @@ with the <a href="postconf.5.html#mynetworks">mynetworks</a> configuration param
 authorize all clients in the IP subnetworks that the local machine
 is attached to. </p>
 
+<p> Postfix can also be configured to relay mail from "mobile"
+clients that send mail from outside an authorized network block.
+This is explained in the <a href="SASL_README.html">SASL_README</a> and <a href="TLS_README.html">TLS_README</a> documents. </p>
+
 <p> IMPORTANT: If your machine is connected to a wide area network
 then your default <a href="postconf.5.html#mynetworks">mynetworks</a> setting may be too friendly. </p>
 
index 93fe29cc3e16b4595fa7b096817a7f75e68b581e..479bf42b2b42f5e54bd8e9bf45761f382491ac8e 100644 (file)
@@ -300,7 +300,7 @@ SMTP(8)                                                                SMTP(8)
        <b><a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a> (no)</b>
               Change the behavior of the smtp_*_timeout time lim-
               its, from a time limit per  read  or  write  system
-              call,  to  a time limit to read or write a complete
+              call, to a time limit to send or receive a complete
               record (an SMTP command line, SMTP  response  line,
               SMTP  message  content  line,  or TLS protocol mes-
               sage).
@@ -707,7 +707,7 @@ SMTP(8)                                                                SMTP(8)
        <b><a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a> (no)</b>
               Change the behavior of the smtp_*_timeout time lim-
               its,  from  a  time  limit per read or write system
-              call, to a time limit to read or write  a  complete
+              call, to a time limit to send or receive a complete
               record  (an  SMTP command line, SMTP response line,
               SMTP message content line,  or  TLS  protocol  mes-
               sage).
@@ -765,7 +765,7 @@ SMTP(8)                                                                SMTP(8)
               The network interface addresses that this mail sys-
               tem receives mail on.
 
-       <b><a href="postconf.5.html#inet_protocols">inet_protocols</a> (ipv4)</b>
+       <b><a href="postconf.5.html#inet_protocols">inet_protocols</a> (all)</b>
               The  Internet protocols Postfix will attempt to use
               when making or accepting connections.
 
@@ -806,7 +806,7 @@ SMTP(8)                                                                SMTP(8)
               tem receives mail on by way of a proxy  or  network
               address translation unit.
 
-       <b><a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> (ipv6)</b>
+       <b><a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> (any)</b>
               The address type ("ipv6", "ipv4" or "any") that the
               Postfix SMTP client will try first, when a destina-
               tion  has  IPv6  and  IPv4  addresses with equal MX
index 1e6d6667cf055ce08b79b129e90cd6823d78e172..f7875b583f675ba03ab03898fd416c45f0d504c6 100644 (file)
@@ -140,7 +140,7 @@ MASTER(8)                                                            MASTER(8)
               The network interface addresses that this mail sys-
               tem receives mail on.
 
-       <b><a href="postconf.5.html#inet_protocols">inet_protocols</a> (ipv4)</b>
+       <b><a href="postconf.5.html#inet_protocols">inet_protocols</a> (all)</b>
               The  Internet protocols Postfix will attempt to use
               when making or accepting connections.
 
index 9f1d76065c7578989286f45b16d4a0a184a504f9..8bed75e0d50919727fbd05a2feab0987f4684aa1 100644 (file)
@@ -3501,7 +3501,7 @@ IPv6 and IPv4, and each will accept only connections for the
 corresponding protocol.  </p>
 
 <p> When IPv4 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
-Postfix will do DNS type A record lookups, and will convert
+Postfix will look up DNS type A records, and will convert
 IPv4-in-IPv6 client IP addresses (::ffff:1.2.3.4) to their original
 IPv4 form (1.2.3.4).  The latter is needed on hosts that pre-date
 IPV6_V6ONLY support (<a href="http://tools.ietf.org/html/rfc3493">RFC 3493</a>). </p>
@@ -6807,6 +6807,7 @@ to the configured before/after 220 greeting tests. </dd>
 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
     <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
                <a href="cidr_table.5.html">cidr</a>:/etc/postfix/postscreen_access.cidr
+    <a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> = enforce
 </pre>
 
 <pre>
index 93fe29cc3e16b4595fa7b096817a7f75e68b581e..479bf42b2b42f5e54bd8e9bf45761f382491ac8e 100644 (file)
@@ -300,7 +300,7 @@ SMTP(8)                                                                SMTP(8)
        <b><a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a> (no)</b>
               Change the behavior of the smtp_*_timeout time lim-
               its, from a time limit per  read  or  write  system
-              call,  to  a time limit to read or write a complete
+              call, to a time limit to send or receive a complete
               record (an SMTP command line, SMTP  response  line,
               SMTP  message  content  line,  or TLS protocol mes-
               sage).
@@ -707,7 +707,7 @@ SMTP(8)                                                                SMTP(8)
        <b><a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a> (no)</b>
               Change the behavior of the smtp_*_timeout time lim-
               its,  from  a  time  limit per read or write system
-              call, to a time limit to read or write  a  complete
+              call, to a time limit to send or receive a complete
               record  (an  SMTP command line, SMTP response line,
               SMTP message content line,  or  TLS  protocol  mes-
               sage).
@@ -765,7 +765,7 @@ SMTP(8)                                                                SMTP(8)
               The network interface addresses that this mail sys-
               tem receives mail on.
 
-       <b><a href="postconf.5.html#inet_protocols">inet_protocols</a> (ipv4)</b>
+       <b><a href="postconf.5.html#inet_protocols">inet_protocols</a> (all)</b>
               The  Internet protocols Postfix will attempt to use
               when making or accepting connections.
 
@@ -806,7 +806,7 @@ SMTP(8)                                                                SMTP(8)
               tem receives mail on by way of a proxy  or  network
               address translation unit.
 
-       <b><a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> (ipv6)</b>
+       <b><a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> (any)</b>
               The address type ("ipv6", "ipv4" or "any") that the
               Postfix SMTP client will try first, when a destina-
               tion  has  IPv6  and  IPv4  addresses with equal MX
index fe412be529e8b8414b835b9152f941b73a4e9407..5e7f529e3c7ecedbe4320ab13d4a0cd1f54a8b98 100644 (file)
@@ -707,7 +707,7 @@ SMTPD(8)                                                              SMTPD(8)
               tem  receives  mail on by way of a proxy or network
               address translation unit.
 
-       <b><a href="postconf.5.html#inet_protocols">inet_protocols</a> (ipv4)</b>
+       <b><a href="postconf.5.html#inet_protocols">inet_protocols</a> (all)</b>
               The Internet protocols Postfix will attempt to  use
               when making or accepting connections.
 
index 7ab27437caf870c99f0a20d1bd946b03020fcf15..98f6fd6bceab288610838f69b2a70d055b08e979 100644 (file)
@@ -1990,7 +1990,7 @@ IPv6 and IPv4, and each will accept only connections for the
 corresponding protocol.
 .PP
 When IPv4 support is enabled via the inet_protocols parameter,
-Postfix will do DNS type A record lookups, and will convert
+Postfix will look up DNS type A records, and will convert
 IPv4-in-IPv6 client IP addresses (::ffff:1.2.3.4) to their original
 IPv4 form (1.2.3.4).  The latter is needed on hosts that pre-date
 IPV6_V6ONLY support (RFC 3493).
@@ -3886,6 +3886,7 @@ Example:
 /etc/postfix/main.cf:
     postscreen_access_list = permit_mynetworks,
                cidr:/etc/postfix/postscreen_access.cidr
+    postscreen_blacklist_action = enforce
 .fi
 .ad
 .ft R
index cf158f2f391580441630280b82f8fd6d36a11526..9bb63f34641ce942e32dd7a01aa28afccffa163b 100644 (file)
@@ -130,7 +130,7 @@ invoked with the -D option.
 .IP "\fBinet_interfaces (all)\fR"
 The network interface addresses that this mail system receives
 mail on.
-.IP "\fBinet_protocols (ipv4)\fR"
+.IP "\fBinet_protocols (all)\fR"
 The Internet protocols Postfix will attempt to use when making
 or accepting connections.
 .IP "\fBimport_environment (see 'postconf -d' output)\fR"
index af15614df2d239650bfd21b8d2ce9b37196ac8f8..2c9fc267515c42911a6615f258b8f5ca8ea6ff79 100644 (file)
@@ -260,8 +260,8 @@ DNS Resolver options for the Postfix SMTP client.
 Available in Postfix version 2.9 and later:
 .IP "\fBsmtp_per_record_deadline (no)\fR"
 Change the behavior of the smtp_*_timeout time limits, from a
-time limit per read or write system call, to a time limit to read
-or write a complete record (an SMTP command line, SMTP response
+time limit per read or write system call, to a time limit to send
+or receive a complete record (an SMTP command line, SMTP response
 line, SMTP message content line, or TLS protocol message).
 .SH "MIME PROCESSING CONTROLS"
 .na
@@ -558,8 +558,8 @@ operations.
 Available in Postfix version 2.9 and later:
 .IP "\fBsmtp_per_record_deadline (no)\fR"
 Change the behavior of the smtp_*_timeout time limits, from a
-time limit per read or write system call, to a time limit to read
-or write a complete record (an SMTP command line, SMTP response
+time limit per read or write system call, to a time limit to send
+or receive a complete record (an SMTP command line, SMTP response
 line, SMTP message content line, or TLS protocol message).
 .SH "TROUBLE SHOOTING CONTROLS"
 .na
@@ -605,7 +605,7 @@ Disable DNS lookups in the Postfix SMTP and LMTP clients.
 .IP "\fBinet_interfaces (all)\fR"
 The network interface addresses that this mail system receives
 mail on.
-.IP "\fBinet_protocols (ipv4)\fR"
+.IP "\fBinet_protocols (all)\fR"
 The Internet protocols Postfix will attempt to use when making
 or accepting connections.
 .IP "\fBipc_timeout (3600s)\fR"
@@ -630,7 +630,7 @@ The process name of a Postfix command or daemon process.
 .IP "\fBproxy_interfaces (empty)\fR"
 The network interface addresses that this mail system receives mail
 on by way of a proxy or network address translation unit.
-.IP "\fBsmtp_address_preference (ipv6)\fR"
+.IP "\fBsmtp_address_preference (any)\fR"
 The address type ("ipv6", "ipv4" or "any") that the Postfix
 SMTP client will try first, when a destination has IPv6 and IPv4
 addresses with equal MX preference.
index 9150ec351c1ee71f7c0b97e368f2d6dc12f73b53..e001b1f030f5ecdd1b95265f4ed920cb1688233d 100644 (file)
@@ -575,7 +575,7 @@ mail on.
 .IP "\fBproxy_interfaces (empty)\fR"
 The network interface addresses that this mail system receives mail
 on by way of a proxy or network address translation unit.
-.IP "\fBinet_protocols (ipv4)\fR"
+.IP "\fBinet_protocols (all)\fR"
 The Internet protocols Postfix will attempt to use when making
 or accepting connections.
 .IP "\fBlocal_recipient_maps (proxy:unix:passwd.byname $alias_maps)\fR"
index 46e422fa8a944e6096160870b4e48b78102560bc..9b2e6d9dc48d3a077ee819a9ed4fae89adf9f718 100644 (file)
@@ -258,6 +258,10 @@ with the mynetworks configuration parameter. The default is to
 authorize all clients in the IP subnetworks that the local machine
 is attached to. </p>
 
+<p> Postfix can also be configured to relay mail from "mobile"
+clients that send mail from outside an authorized network block.
+This is explained in the SASL_README and TLS_README documents. </p>
+
 <p> IMPORTANT: If your machine is connected to a wide area network
 then your default mynetworks setting may be too friendly. </p>
 
index f5f405d9ff9c9f3552237c2aa67557f06cd19624..4abb04d87e7bc7b169fc02e223361200bb628b50 100644 (file)
@@ -1928,7 +1928,7 @@ IPv6 and IPv4, and each will accept only connections for the
 corresponding protocol.  </p>
 
 <p> When IPv4 support is enabled via the inet_protocols parameter,
-Postfix will do DNS type A record lookups, and will convert
+Postfix will look up DNS type A records, and will convert
 IPv4-in-IPv6 client IP addresses (::ffff:1.2.3.4) to their original
 IPv4 form (1.2.3.4).  The latter is needed on hosts that pre-date
 IPV6_V6ONLY support (RFC 3493). </p>
@@ -12907,6 +12907,7 @@ to the configured before/after 220 greeting tests. </dd>
 /etc/postfix/main.cf:
     postscreen_access_list = permit_mynetworks, 
                cidr:/etc/postfix/postscreen_access.cidr
+    postscreen_blacklist_action = enforce
 </pre>
 
 <pre>
index 0bedcb73393853741731fc5e13b7a9f2099cd6a9..e4ace936f64c71966a9d359be7218db3c0b75715 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      "20110918"
+#define MAIL_RELEASE_DATE      "20110930"
 #define MAIL_VERSION_NUMBER    "2.9"
 
 #ifdef SNAPSHOT
index 6167fc431dd54e228702364e6727f269e4e56d55..cc41e57d90c0a868ece56e57ebeaa8254fa6b1a6 100644 (file)
 /* .IP "\fBinet_interfaces (all)\fR"
 /*     The network interface addresses that this mail system receives
 /*     mail on.
-/* .IP "\fBinet_protocols (ipv4)\fR"
+/* .IP "\fBinet_protocols (all)\fR"
 /*     The Internet protocols Postfix will attempt to use when making
 /*     or accepting connections.
 /* .IP "\fBimport_environment (see 'postconf -d' output)\fR"
index b00ea771965b0b20d353281c5d406000ba984770..7cbee76de658d05688e099ff50639014064f5054 100644 (file)
 /*     Available in Postfix version 2.9 and later:
 /* .IP "\fBsmtp_per_record_deadline (no)\fR"
 /*     Change the behavior of the smtp_*_timeout time limits, from a
-/*     time limit per read or write system call, to a time limit to read
-/*     or write a complete record (an SMTP command line, SMTP response
+/*     time limit per read or write system call, to a time limit to send
+/*     or receive a complete record (an SMTP command line, SMTP response
 /*     line, SMTP message content line, or TLS protocol message).
 /* MIME PROCESSING CONTROLS
 /* .ad
 /*     Available in Postfix version 2.9 and later:
 /* .IP "\fBsmtp_per_record_deadline (no)\fR"
 /*     Change the behavior of the smtp_*_timeout time limits, from a
-/*     time limit per read or write system call, to a time limit to read
-/*     or write a complete record (an SMTP command line, SMTP response
+/*     time limit per read or write system call, to a time limit to send
+/*     or receive a complete record (an SMTP command line, SMTP response
 /*     line, SMTP message content line, or TLS protocol message).
 /* TROUBLE SHOOTING CONTROLS
 /* .ad
 /* .IP "\fBinet_interfaces (all)\fR"
 /*     The network interface addresses that this mail system receives
 /*     mail on.
-/* .IP "\fBinet_protocols (ipv4)\fR"
+/* .IP "\fBinet_protocols (all)\fR"
 /*     The Internet protocols Postfix will attempt to use when making
 /*     or accepting connections.
 /* .IP "\fBipc_timeout (3600s)\fR"
 /* .IP "\fBproxy_interfaces (empty)\fR"
 /*     The network interface addresses that this mail system receives mail
 /*     on by way of a proxy or network address translation unit.
-/* .IP "\fBsmtp_address_preference (ipv6)\fR"
+/* .IP "\fBsmtp_address_preference (any)\fR"
 /*     The address type ("ipv6", "ipv4" or "any") that the Postfix
 /*     SMTP client will try first, when a destination has IPv6 and IPv4
 /*     addresses with equal MX preference.
index 6bc2a68bb5b0fbfef7f35402ae1b391ca5841423..35d5cca123df098c1cccefbdc03478fcf739c478 100644 (file)
 /* .IP "\fBproxy_interfaces (empty)\fR"
 /*     The network interface addresses that this mail system receives mail
 /*     on by way of a proxy or network address translation unit.
-/* .IP "\fBinet_protocols (ipv4)\fR"
+/* .IP "\fBinet_protocols (all)\fR"
 /*     The Internet protocols Postfix will attempt to use when making
 /*     or accepting connections.
 /* .IP "\fBlocal_recipient_maps (proxy:unix:passwd.byname $alias_maps)\fR"
@@ -3057,6 +3057,7 @@ static int data_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
        if (state->err == 0) {
            why = vstring_alloc(10);
            state->err = mail_stream_finish(state->dest, why);
+           printable(STR(why), ' ');
        } else
            mail_stream_cleanup(state->dest);
        state->dest = 0;
index 9952c1e9d5ca9fc03bcb6c75309aa3304dc7a9d9..03a3aa83759d62f2cb6b1997bbf43bc8df954b11 100644 (file)
@@ -788,7 +788,7 @@ static int smtpd_proxy_cmd(SMTPD_STATE *state, int expect, const char *fmt,...)
         */
        if (LEN(proxy->buffer) < var_line_limit) {
            if (VSTRING_LEN(proxy->buffer))
-               VSTRING_ADDCH(proxy->buffer, '\n');
+               vstring_strcat(proxy->buffer, "\r\n");
            vstring_strcat(proxy->buffer, STR(buffer));
        }