]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.3-RC4 v2.3-RC4
authorWietse Venema <wietse@porcupine.org>
Mon, 3 Jul 2006 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <postfix-users@dukhovni.org>
Sat, 10 Feb 2018 20:36:42 +0000 (15:36 -0500)
postfix/DSN_NOTES
postfix/HISTORY
postfix/README_FILES/MAILDROP_README
postfix/html/MAILDROP_README.html
postfix/makedefs
postfix/proto/MAILDROP_README.html
postfix/src/global/mail_params.h
postfix/src/global/mail_version.h
postfix/src/milter/milter8.c
postfix/src/util/sys_defs.h

index 8e85c4b3d0df7aef04f953b2b46c2ec20be02326..0d81585601716e0b76dba836391b162e26f882e0 100644 (file)
@@ -10,39 +10,24 @@ Of course Postfix still produces the same "informal" error descriptions
 that it produced before (for example, the error text that appears
 in the first section of a bounce report).
 
-The Postfix LMTP/SMTP clients also report locally generated SMTP-style
-Diagnostic-Code: text (such as "420 conversation timed out") while
-taking care NOT to present these as if they are replies from the
-remote MTA (Sendmail appears to violate RFC 3464 here).
+Other error reports are not in the form of SMTP-style replies.
 
-That was the easy part. The remainder of Postfix is still somewhat
-inconsistent in the way that it creates the formal Diagnostic-Type:
-and Diagnostic-Code: information.
+- The Postfix LMTP/SMTP client generates Diagnostic-Type: X-Postfix
+for locally generated errors (host not found, connection timed out
+etc.).  It generates Diagnostic-Type: SMTP only for replies from
+an SMTP server.
 
-- The queue manager attempts to produce standard SMTP Diagnostic-Type:
-and Diagnostic-Code: information for errors that it detects. It
-also receives error information from delivery agents and reports
-that information unmodified when it decides to "temporarily suspend"
-a delivery channel.
+- The queue manager generates Diagnostic-Type: X-Postfix for errors
+that it detects. It also receives error information from delivery
+agents and reports that information unmodified when it decides to
+"temporarily suspend" a delivery channel.
 
 - The "pipe to command" code in local(8) and pipe(8) produces
 Diagnostic-Type: X-UNIX, and Diagnostic-Code: text that is taken
-from /usr/include/sysexits.h or from the command output.  This could
-be morphed into SMTP-style information, by mapping a sysexits error
-code to an SMTP error code, and combining that SMTP code with the
-sysexits.h text or command output.  The advantage of this would be
-more useful Diagnostic-Code: information.
+from /usr/include/sysexits.h or from the command output.
 
 - The code that delivers to mailbox produces Diagnostic-Type:
-X-Postfix and Diagnostic-Code: text that is the same good old Postfix
-error message that we are already familiar with. Typically these
-are errno-style reports about locking a file or appending a file.
-This information could be morphed into SMTP-style information, by
-mapping an errno error code into an SMTP error code, and combining
-that SMTP code with the Postfix-style text that we already have
-(such as text that says unable to lock mailbox, or mailbox file
-size limit exceeded).
-
-I'm not (yet) religious about banning X-UNIX and X-Postfix from the
-formal part of a delivery status report, but all these non-standard
-diagnostic codes aren't really very useful.
+X-Postfix and Diagnostic-Code: text that is the same good old
+Postfix error message that we are already familiar with. Typically
+these are errno-style reports about locking a file or appending a
+file.
index e4a68d886aa30f7a683d48289423bd6a16a099dc..3349461565271484caad835b1eb22652fa28ee8d 100644 (file)
@@ -12436,6 +12436,15 @@ Apologies for any names omitted.
        errors while processing milter message modification requests.
        Files: cleanup/cleanup_milter.c, milter/milter8.c.
 
+20060703
+
+       Debugging: the Postfix milter client gives more context
+       when it experiences trouble while talking to an uncooperative
+       Milter application. File: milter/milter8.c.
+
+       Compatibility: with OpenBSD 2.7 and later, the alias file
+       is now in /etc/mail/aliases.
+
 Wish list:
 
        In the SMTPD policy client (encode or strip) non-printable
index ca8580847b8375d20cca88ae872cf3e1817cd36b..2693f655a7121f40cfad64e838613cb682c1c914 100644 (file)
@@ -66,14 +66,17 @@ Note: Do not use the postfix user as the maildrop user.
 
     /etc/postfix/master.cf:
         maildrop  unix  -       n       n       -       -       pipe
-          flags=DRhu user=vmail argv=/path/to/maildrop -d ${recipient}
+          flags=ODRhu user=vmail argv=/path/to/maildrop -d ${recipient}
+
+The pipe(8) manual page gives a detailed description of the above command line
+arguments, and more.
 
 If you want to support user+extension@domain style addresses, use the following
 instead:
 
     /etc/postfix/master.cf:
         maildrop  unix  -       n       n       -       -       pipe
-          flags=DRhu user=vmail argv=/path/to/maildrop
+          flags=ODRhu user=vmail argv=/path/to/maildrop
           -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${nexthop}
 
 The mail is delivered to ${user}@${nexthop} (match key for maildrop userdb
index 1216218c426f24eac8b19e5607bdeade4407d58b..20f9b54227f4b401c4ab789a5b02104422eed159 100644 (file)
@@ -45,7 +45,7 @@ and for someother.domain.  </p>
 
 <blockquote>
 <pre>
- 1 /etc/postfix/main.cf:
+ 1 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
  2     maildrop_destination_recipient_limit = 1
  3     <a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> = some.domain someother.domain
  4     <a href="postconf.5.html#virtual_transport">virtual_transport</a> = maildrop
@@ -70,7 +70,7 @@ at a time to the maildrop delivery agent.  </p>
 
 <li> <p> Line 3 informs Postfix that some.domain and someother.domain
 are so-called <a href="ADDRESS_CLASS_README.html#virtual_mailbox_class">virtual mailbox domains</a>.
-Instead of listing the names in main.cf you can also
+Instead of listing the names in <a href="postconf.5.html">main.cf</a> you can also
 list them in a file; see the <a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> documentation for
 details. </p>
 
@@ -98,20 +98,23 @@ to deliver the mail.  </p>
 
 <blockquote>
 <pre>
-/etc/postfix/master.cf:
+/etc/postfix/<a href="master.5.html">master.cf</a>:
     maildrop  unix  -       n       n       -       -       pipe
-      flags=DRhu user=vmail argv=/path/to/maildrop -d ${recipient}
+      flags=ODRhu user=vmail argv=/path/to/maildrop -d ${recipient}
 </pre>
 </blockquote>
 
+<p> The <a href="pipe.8.html">pipe(8)</a> manual page gives a detailed description of the
+above command line arguments, and more. </p>
+
 <p> If you want to support user+extension@domain style addresses,
 use the following instead: </p>
 
 <blockquote>
 <pre>
-/etc/postfix/master.cf:
+/etc/postfix/<a href="master.5.html">master.cf</a>:
     maildrop  unix  -       n       n       -       -       pipe
-      flags=DRhu user=vmail argv=/path/to/maildrop 
+      flags=ODRhu user=vmail argv=/path/to/maildrop 
       -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${nexthop}
 </pre>
 </blockquote>
@@ -119,7 +122,7 @@ use the following instead: </p>
 <p> The mail is delivered to ${user}@${nexthop} (match key for
 maildrop userdb lookup). The ${extension} and the other address
 components are available to maildrop rules as $1, $2, $3, ...  and
-can be omitted from master.cf or ignored by maildrop when not
+can be omitted from <a href="master.5.html">master.cf</a> or ignored by maildrop when not
 needed. </p>
 
 <h2><a name="indirect">Indirect delivery via the local delivery agent</a></h2>
@@ -135,7 +138,7 @@ You would typically use this for domains that are listed in
 
 <blockquote>
 <pre>
-/etc/postfix/main.cf:
+/etc/postfix/<a href="postconf.5.html">main.cf</a>:
     <a href="postconf.5.html#mailbox_command">mailbox_command</a> = /path/to/maildrop -d ${USER}
 </pre>
 </blockquote>
@@ -148,7 +151,7 @@ use the Postfix <a href="local.8.html">local(8)</a> delivery agent's <a href="po
 
 <blockquote>
 <pre>
-/etc/postfix/main.cf:
+/etc/postfix/<a href="postconf.5.html">main.cf</a>:
     <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a> = hash:/etc/postfix/mailbox_commands
 
 /etc/postfix/mailbox_commands:
index 70cbc5700886e3bc831311048b460308886ad7bf..02db2f623b4c597c94480a7219ea84445949db76 100644 (file)
@@ -399,7 +399,7 @@ ${WARN='-Wall -Wno-comment -Wformat -Wimplicit -Wmissing-prototypes \
 export SYSTYPE AR ARFL RANLIB SYSLIBS CC OPT DEBUG AWK OPTS
 
 # Snapshot only.
-CCARGS="$CCARGS -DSNAPSHOT"
+#CCARGS="$CCARGS -DSNAPSHOT"
 
 # Non-production: needs thorough testing, or major changes are still
 # needed before the code stabilizes.
index e41e127f5fb1606dcc768e2d6cd90fd876914c94..aaaac162ce42f64b93dabef366c730e5ff9f8820 100644 (file)
@@ -100,10 +100,13 @@ to deliver the mail.  </p>
 <pre>
 /etc/postfix/master.cf:
     maildrop  unix  -       n       n       -       -       pipe
-      flags=DRhu user=vmail argv=/path/to/maildrop -d ${recipient}
+      flags=ODRhu user=vmail argv=/path/to/maildrop -d ${recipient}
 </pre>
 </blockquote>
 
+<p> The pipe(8) manual page gives a detailed description of the
+above command line arguments, and more. </p>
+
 <p> If you want to support user+extension@domain style addresses,
 use the following instead: </p>
 
@@ -111,7 +114,7 @@ use the following instead: </p>
 <pre>
 /etc/postfix/master.cf:
     maildrop  unix  -       n       n       -       -       pipe
-      flags=DRhu user=vmail argv=/path/to/maildrop 
+      flags=ODRhu user=vmail argv=/path/to/maildrop 
       -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${nexthop}
 </pre>
 </blockquote>
index 443fe52e9a56df63d0c0b2f34832431e7c4c6e9e..96d94dfe6795e0dcb199677008ad6a8133348cf8 100644 (file)
@@ -1414,15 +1414,12 @@ extern char *var_smtp_sasl_type;
 #define DEF_LMTP_SASL_TLS_OPTS "$" VAR_LMTP_SASL_OPTS
 extern char *var_smtp_sasl_tls_opts;
 
-#ifdef SNAPSHOT                                /* XXX: Not yet */
 #define VAR_SMTP_SASL_TLSV_OPTS        "smtp_sasl_tls_verified_security_options"
 #define DEF_SMTP_SASL_TLSV_OPTS        "$" VAR_SMTP_SASL_TLS_OPTS
 #define VAR_LMTP_SASL_TLSV_OPTS        "lmtp_sasl_tls_verified_security_options"
 #define DEF_LMTP_SASL_TLSV_OPTS        "$" VAR_LMTP_SASL_TLS_OPTS
 extern char *var_smtp_sasl_tlsv_opts;
 
-#endif
-
  /*
   * LMTP server. The soft error limit determines how many errors an LMTP
   * client may make before we start to slow down; the hard error limit
index ad6f60c841c42965a88e92a94bce37c7adfec221..889481b48721ea09eada3d5c0a6e09428babfede 100644 (file)
@@ -20,8 +20,8 @@
   * Patches change both the patchlevel and the release date. Snapshots have no
   * patchlevel; they change the release date only.
   */
-#define MAIL_RELEASE_DATE      "20060702"
-#define MAIL_VERSION_NUMBER    "2.3-RC3"
+#define MAIL_RELEASE_DATE      "20060703"
+#define MAIL_VERSION_NUMBER    "2.3-RC4"
 
 #define VAR_MAIL_VERSION       "mail_version"
 #define DEF_MAIL_VERSION       MAIL_VERSION_NUMBER
index e926ac2d15f16917d8a6c68b2a3839e1075ff308..45f67f459d635bfde6e65f5417ab821d27e41544 100644 (file)
@@ -485,13 +485,14 @@ static void milter8_close_stream(MILTER8 *milter)
     milter->state = MILTER8_STAT_CLOSED;
 }
 
-/* milter8_read_cmd - receive command code now, receive data later */
+/* milter8_read_resp - receive command code now, receive data later */
 
-static int milter8_read_cmd(MILTER8 *milter, unsigned char *command,
+static int milter8_read_resp(MILTER8 *milter, int event, unsigned char *command,
                                    ssize_t *data_len)
 {
     UINT32_TYPE len;
     ssize_t pkt_len;
+    const char *smfic_name;
     int     cmd;
 
     /*
@@ -499,7 +500,10 @@ static int milter8_read_cmd(MILTER8 *milter, unsigned char *command,
      */
     if ((vstream_fread(milter->fp, (char *) &len, UINT32_SIZE))
        != UINT32_SIZE) {
-       msg_warn("milter %s: can't read packet header: %m", milter->m.name);
+       smfic_name = str_name_code(smfic_table, event);
+       msg_warn("milter %s: can't read %s reply packet header: %m",
+                milter->m.name, smfic_name != 0 ?
+                smfic_name : "(unknown MTA event)");
        return (milter8_comm_error(milter));
     } else if ((pkt_len = ntohl(len)) < 1) {
        msg_warn("milter %s: bad packet length: %ld",
@@ -959,7 +963,7 @@ static const char *milter8_event(MILTER8 *milter, int event,
 #define IN_CONNECT_EVENT(e) ((e) == SMFIC_CONNECT || (e) == SMFIC_HELO)
 
     for (;;) {
-       if (milter8_read_cmd(milter, &cmd, &data_size) != 0)
+       if (milter8_read_resp(milter, event, &cmd, &data_size) != 0)
            return (milter->def_reply);
        if (msg_verbose)
            msg_info("reply: %s data %ld bytes",
@@ -1464,9 +1468,9 @@ static void milter8_connect(MILTER8 *milter)
     /*
      * Receive the filter's response and verify that we are compatible.
      */
-    else if (milter8_read_cmd(milter, &cmd, &data_len) != 0) {
+    else if (milter8_read_resp(milter, SMFIC_OPTNEG, &cmd, &data_len) != 0) {
        msg_warn("milter %s: read error in initial handshake", milter->m.name);
-       /* milter8_read_cmd() called milter8_comm_error() */
+       /* milter8_read_resp() called milter8_comm_error() */
     } else if (cmd != SMFIC_OPTNEG) {
        msg_warn("milter %s: unexpected reply \"%c\" in initial handshake",
                 milter->m.name, cmd);
index 56fcdabea42cdc83d76676ac95516fd962375a73..efb0b3b02457a06cb9d51fdc51b9686911000ae4 100644 (file)
@@ -47,6 +47,9 @@
 #if (defined(__NetBSD_Version__) && __NetBSD_Version__ >= 104250000)
 #define ALIAS_DB_MAP   "hash:/etc/mail/aliases"        /* sendmail 8.10 */
 #endif
+#if (defined(OpenBSD) && OpenBSD >= 200006)
+#define ALIAS_DB_MAP   "hash:/etc/mail/aliases"        /* OpenBSD 2.7 */
+#endif
 #ifndef ALIAS_DB_MAP
 #define ALIAS_DB_MAP   "hash:/etc/aliases"
 #endif