]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-3.9-20231030
authorWietse Venema <wietse@porcupine.org>
Mon, 30 Oct 2023 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <ietf-dane@dukhovni.org>
Wed, 1 Nov 2023 22:29:19 +0000 (18:29 -0400)
postfix/HISTORY
postfix/html/postconf.5.html
postfix/man/man5/postconf.5
postfix/proto/postconf.proto
postfix/src/global/mail_version.h
postfix/src/local/local_expand.c
postfix/src/smtpd/smtpd_check.c
postfix/src/smtpd/smtpd_sasl_glue.c

index 5f1d4937dc9a008e4e3d662e22d776d4de26498e..4f730135583c8e55513848501c3cd5706c1ba345 100644 (file)
@@ -27403,7 +27403,7 @@ Apologies for any names omitted.
 
 20230929
 
-       Bugfix (bug introduced Postfix 2.5, 20080104): the Postfix
+       Bugfix (defect introduced Postfix 2.5, 20080104): the Postfix
        SMTP server was waiting for a client command instead of
        replying immediately, after a client certificate verification
        error in TLS wrappermode. Reported by Andreas Kinzler. File:
@@ -27501,3 +27501,22 @@ Apologies for any names omitted.
 
        Cleanup: emit place holder text when no SASL authentication
        failure reason is available. File: smtpd/smtpd_sasl_glue.c.
+
+20231026
+
+       Bugfix (defect introduced: Postfix 2.11): in forward_path,
+       the expression ${recipient_delimiter} would expand to an
+       empty string when a recipient address had no recipient
+       delimiter. Fixed by restoring Postfix 2.10 behavior to use
+       a configured recipient delimiter value. Reported by Tod
+       A. Sandman. Files: proto/postconf.proto, local/local_expand.c.
+
+20231027
+
+       Cleanup: missing 'smtpd_tls_enable_rpk' parameter definition
+       in test driver. File: smtpd/smtpd_check.c.
+
+20231030
+
+       Cleanup: explicit %.100s limits for client-controlled strings
+       in SASL error logging. File: smtpd/smtpd_sasl_glue.c.
index 8159fb7100ff573b1ad826d9e2d82be309dab8fb..55314b68198ab18761defc175c0c2b3acbc74e42 100644 (file)
@@ -3797,7 +3797,9 @@ filtered with the character set that is specified with the
 <dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
 
 <dd>The address extension delimiter that was found in the recipient
-address (Postfix 2.11 and later), or the system-wide recipient
+address (Postfix 2.11 and later), or the 'first' delimiter specified
+with the system-wide recipient address extension delimiter (Postfix
+3.5.22, 3.5.12, 3.7.8, 3.8.3 and later), or the system-wide recipient
 address extension delimiter (Postfix 2.10 and earlier). </dd>
 
 <dt><b>${name?value}</b></dt>
index f61b8a1434fbb3929ba58e983c1560064069626c..afdacfe0bdf85be17f995b613d64ad30342e0926 100644 (file)
@@ -2415,7 +2415,9 @@ The entire recipient localpart.
 .br
 .IP "\fB$recipient_delimiter\fR"
 The address extension delimiter that was found in the recipient
-address (Postfix 2.11 and later), or the system\-wide recipient
+address (Postfix 2.11 and later), or the 'first' delimiter specified
+with the system\-wide recipient address extension delimiter (Postfix
+3.5.22, 3.5.12, 3.7.8, 3.8.3 and later), or the system\-wide recipient
 address extension delimiter (Postfix 2.10 and earlier).
 .br
 .IP "\fB${name?value}\fR"
index 31a96bc1f02266a02b4200ba784c5722f77b7928..34762e12e41f13e0663058257a96cca767a96e53 100644 (file)
@@ -1781,7 +1781,9 @@ forward_expansion_filter parameter.  </p>
 <dt><b>$recipient_delimiter</b></dt>
 
 <dd>The address extension delimiter that was found in the recipient
-address (Postfix 2.11 and later), or the system-wide recipient
+address (Postfix 2.11 and later), or the 'first' delimiter specified
+with the system-wide recipient address extension delimiter (Postfix
+3.5.22, 3.5.12, 3.7.8, 3.8.3 and later), or the system-wide recipient
 address extension delimiter (Postfix 2.10 and earlier). </dd>
 
 <dt><b>${name?value}</b></dt>
index 94d0b412556517f066a9bcb1f9a870850136dcc4..abcbbc0fb4652fd7fa3b6a503bb99a4435d80a79 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      "20231024"
+#define MAIL_RELEASE_DATE      "20231030"
 #define MAIL_VERSION_NUMBER    "3.9"
 
 #ifdef SNAPSHOT
index af2de45e11af77fed2cd96d718d33738eb89e54e..ff9c3d6ff4aefdb388454183555d9908b760ec43 100644 (file)
@@ -138,6 +138,8 @@ static const char *local_expand_lookup(const char *name, int mode, void *ptr)
     } else if (STREQ(name, "recipient_delimiter")) {
        rcpt_delim[0] =
            local->state->msg_attr.local[strlen(local->state->msg_attr.user)];
+       if (rcpt_delim[0] == 0)
+           rcpt_delim[0] = var_rcpt_delim[0];
        rcpt_delim[1] = 0;
        return (rcpt_delim[0] ? rcpt_delim : 0);
 #if 0
index 6ac617e4237b5cb452ce64b1364653cecf4350d8..0efd9794d54c1138542cb1bd065d8b27622da3ba 100644 (file)
@@ -5851,6 +5851,7 @@ char   *var_smtpd_dns_re_filter;
 bool    var_smtpd_tls_ask_ccert;
 int     var_smtpd_cipv4_prefix;
 int     var_smtpd_cipv6_prefix;
+bool   var_smtpd_tls_enable_rpk;
 
 #define int_table test_int_table
 
@@ -5888,6 +5889,7 @@ static const INT_TABLE int_table[] = {
     VAR_SMTPD_TLS_ACERT, DEF_SMTPD_TLS_ACERT, &var_smtpd_tls_ask_ccert,
     VAR_SMTPD_CIPV4_PREFIX, DEF_SMTPD_CIPV4_PREFIX, &var_smtpd_cipv4_prefix,
     VAR_SMTPD_CIPV6_PREFIX, DEF_SMTPD_CIPV6_PREFIX, &var_smtpd_cipv6_prefix,
+    VAR_SMTPD_TLS_ENABLE_RPK, DEF_SMTPD_TLS_ENABLE_RPK, &var_smtpd_tls_enable_rpk,
     0,
 };
 
index 7103d452365b20df88656286938e511c0923e47b..289f446af59c62a53ee6833ab34746b40a0274e4 100644 (file)
@@ -345,7 +345,7 @@ int     smtpd_sasl_authenticate(SMTPD_STATE *state,
     }
     if (status != XSASL_AUTH_DONE) {
        sasl_username = xsasl_server_get_username(state->sasl_server);
-       msg_warn("%s: SASL %s authentication failed: %s, sasl_username=%s",
+       msg_warn("%s: SASL %.100s authentication failed: %s, sasl_username=%.100s",
                 state->namaddr, sasl_method, *STR(state->sasl_reply) ?
                 STR(state->sasl_reply) : "(reason unavailable)",
                 sasl_username ? sasl_username : "(unavailable)");