]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.5.3-RC1 v2.5.3-RC1
authorWietse Venema <wietse@porcupine.org>
Fri, 11 Jul 2008 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <postfix-users@dukhovni.org>
Sat, 10 Feb 2018 19:56:27 +0000 (14:56 -0500)
postfix/HISTORY
postfix/src/global/cleanup_strflags.c
postfix/src/global/mail_version.h
postfix/src/smtpd/smtpd.c
postfix/src/util/match_ops.c

index 26ef4be670ed65a0d5dfeca8f432be147a53f36c..d08f791d6144236a0da077969bf5187663925bc2 100644 (file)
@@ -14377,3 +14377,23 @@ Apologies for any names omitted.
        not updated when the smtpd_client_port_logging configuration
        parameter was added. Code by Victor Duchovni. Files:
        smtpd/smtpd.c, smtpd/smtpd_peer.c.
+
+20080509
+
+       Bugfix: null-terminate CN comment string after sanitization.
+       File: smtpd/smtpd.c.
+
+20080603
+
+       Workaround: avoid "bad address pattern" errors with non-address
+       patterns in namadr_list_match() calls. File: util/match_ops.c.
+
+20080620
+
+       Bugfix (introduced 20080207): "cleanup -v" panic because
+       the new "SMTP reply" request flag did not have a printable
+       name. File: global/cleanup_strflags.c.
+
+       Cleanup: using "Before-queue content filter", RFC3848
+       information was not added to the headers. Carlos Velasco.
+       File smtpd/smtpd.c.
index 4853782ecb4c6f8cc9036426ca79486fcfe2174e..d2a687c833270ec8dec127fb2b55bddc52cdbfee 100644 (file)
@@ -52,6 +52,7 @@ static struct cleanup_flag_map cleanup_flag_map[] = {
     CLEANUP_FLAG_BCC_OK, "enable_automatic_bcc",
     CLEANUP_FLAG_MAP_OK, "enable_address_mapping",
     CLEANUP_FLAG_MILTER, "enable_milters",
+    CLEANUP_FLAG_SMTP_REPLY, "enable_smtp_reply",
 };
 
 /* cleanup_strflags - map flags code to printable string */
index 4086429b9e8b5814db79cad6e999a3f7a5fee128..a91ed72cb2a3aa476a4e7827548ff9cf65e862fb 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      "20080507"
-#define MAIL_VERSION_NUMBER    "2.5.2"
+#define MAIL_RELEASE_DATE      "20080711"
+#define MAIL_VERSION_NUMBER    "2.5.3-RC1"
 
 #ifdef SNAPSHOT
 # define MAIL_VERSION_DATE     "-" MAIL_RELEASE_DATE
index 740d1bf4ec23f05feed630e97b28bf2ab553b8db..ef17a1d8d21a0f6b497c1bcba9fe8b319861c773 100644 (file)
@@ -2506,6 +2506,7 @@ static void comment_sanitize(VSTRING *comment_string)
     }
     while (pc-- > 0)
        VSTRING_ADDCH(comment_string, ')');
+    VSTRING_TERMINATE(comment_string);
 }
 
 /* data_cmd - process DATA command */
@@ -2687,7 +2688,7 @@ static int data_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
        if (state->rcpt_count == 1 && state->recipient) {
            out_fprintf(out_stream, REC_TYPE_NORM,
                        state->cleanup ? "\tby %s (%s) with %s%s%s id %s" :
-                       "\tby %s (%s) with %s",
+                       "\tby %s (%s) with %s%s%s",
                        var_myhostname, var_mail_name,
                        state->protocol, rfc3848_sess,
                        rfc3848_auth, state->queue_id);
@@ -2698,7 +2699,7 @@ static int data_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
        } else {
            out_fprintf(out_stream, REC_TYPE_NORM,
                        state->cleanup ? "\tby %s (%s) with %s%s%s id %s;" :
-                       "\tby %s (%s) with %s;",
+                       "\tby %s (%s) with %s%s%s;",
                        var_myhostname, var_mail_name,
                        state->protocol, rfc3848_sess,
                        rfc3848_auth, state->queue_id);
index 41c069394d4d4eb8f431ab11454656aa92823b41..5832266b1f7dca3ecc08b37aced62f4a4933f400 100644 (file)
@@ -234,12 +234,20 @@ int     match_hostaddr(int unused_flags, const char *addr, const char *pattern)
      * Postfix; if not, then Postfix has no business dealing with IPv4
      * addresses anyway.
      * 
-     * - Don't bother if the pattern is a bare IPv4 address. That form would
-     * have been matched with the strcasecmp() call above.
+     * - Don't bother unless the pattern is either an IPv6 address or net/mask.
      * 
-     * - Don't bother if the pattern isn't an address or address/mask.
+     * We can safely skip IPv4 address patterns because their form is
+     * unambiguous and they did not match in the strcasecmp() calls above.
+     * 
+     * XXX We MUST skip (parent) domain names, which may appear in NAMADR_LIST
+     * input, to avoid triggering false cidr_match_parse() errors.
+     * 
+     * The last two conditions below are for backwards compatibility with
+     * earlier Postfix versions: don't abort with fatal errors on junk that
+     * was silently ignored (principle of least astonishment).
      */
     if (!strchr(addr, ':') != !strchr(pattern, ':')
+       || pattern[strcspn(pattern, ":/")] == 0
        || pattern[strspn(pattern, V4_ADDR_STRING_CHARS)] == 0
        || pattern[strspn(pattern, V6_ADDR_STRING_CHARS "[]/")] != 0)
        return (0);