]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-3.10-20240724
authorWietse Z Venema <wietse@porcupine.org>
Wed, 24 Jul 2024 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <ietf-dane@dukhovni.org>
Sun, 28 Jul 2024 10:26:36 +0000 (20:26 +1000)
postfix/HISTORY
postfix/README_FILES/SASL_README
postfix/WISHLIST
postfix/html/SASL_README.html
postfix/html/postconf.5.html
postfix/man/man5/postconf.5
postfix/proto/SASL_README.html
postfix/proto/postconf.proto
postfix/src/dns/dns_lookup.c
postfix/src/global/mail_version.h

index 3380077b2ea095b3ba69bfd89840019c270ddc5c..6d457cc906061b7b66a60e7c4f93d4573aedba88 100644 (file)
@@ -28152,3 +28152,14 @@ Apologies for any names omitted.
 
        Bitrot: some groff version complains about ".ft C" directives
        in postconf(5) manpages. File: mantools/postconf2man.
+
+20240724
+
+       Documentation: re-worded some text about Debian hard-coding
+       the Cyrus SASL smtpd.conf search path. Files:
+       proto/SASL_README.html, proto/postconf.proto.
+
+       Cleanup: the Postfix DNS client returned only the first
+       fragment of a multi-fragment TXT record. This would become
+       an issue when looking up policy records with strings longer
+       than 255 bytes. File: dns/dns_lookup.c.
index 83c0b297ffce6753bb8b9e63a7fa1905511ab976..617212e5c673df14e4c6bbce0317b6eb8854a3b3 100644 (file)
@@ -185,12 +185,9 @@ You can read more about the following topics:
     cyrus_sasl_config_path and/or the distribution-specific documentation to
     determine the expected location.
 
-  * Some Debian-based Postfix distributions patch Postfix to hardcode a non-
-    default search path, making it impossible to set an alternate search path
-    via the "cyrus_sasl_config_path" parameter. This is likely to be the case
-    when the distribution documents a Postfix-specific path (e.g. /etc/postfix/
-    sasl/) that is different from the default value of "cyrus_sasl_config_path"
-    (which then is likely to be empty).
+  * Some Debian-based Postfix distributions ignore the "cyrus_sasl_config_path"
+    parameter setting, and force Postfix to open the file /etc/postfix/sasl/
+    smtpd.conf.
 
     N\bNo\bot\bte\be
 
index fb78b25b8905c5adee5be945ecc28c7cfa7e28a2..9578d25bf5f519d6f6427dd039a329531144e712 100644 (file)
@@ -26,6 +26,8 @@ Wish list:
        bounce/annotate.sh should include the 'QUICK INSTRUCTIONS'
        into the bounce.cf.default file.
 
+       Should smtp_tls_wrappermode have an SMTP_TLS_POLICY override?
+
        The postsceen NON-SMTP test should log the command in
        the same format as the BARE NEWLINE and PREGREET tests.
        Consider logging the entire unadulterated command line.
index c95ac8c84537ffe0cfc3ff04def021c4a396c51b..f02208e6ef942fafa5b294553dbecd2b804f3de7 100644 (file)
@@ -281,13 +281,9 @@ configuration file in <code>/etc/postfix/sasl/</code>,
 <a href="postconf.5.html#cyrus_sasl_config_path">cyrus_sasl_config_path</a></code> and/or the distribution-specific
 documentation to determine the expected location. </p> </li>
 
-<li> <p> Some Debian-based Postfix distributions patch Postfix to
-hardcode a non-default search path, making it impossible to set an
-alternate search path via the "<a href="postconf.5.html#cyrus_sasl_config_path">cyrus_sasl_config_path</a>" parameter.  This
-is likely to be the case when the distribution documents a
-Postfix-specific path (e.g. <code>/etc/postfix/sasl/</code>) that is
-different from the default value of "<a href="postconf.5.html#cyrus_sasl_config_path">cyrus_sasl_config_path</a>" (which
-then is likely to be empty). </p> </li>
+<li> <p> Some Debian-based Postfix distributions ignore the
+"<a href="postconf.5.html#cyrus_sasl_config_path">cyrus_sasl_config_path</a>" parameter setting, and force Postfix to
+open the file <code>/etc/postfix/sasl/smtpd.conf</code>. </p> </li>
 
 </ul>
 
index a7c3e53bfad63149e1b0b5c6314efaf7c0c659fb..76a383c5fdebab20c129be15e4517b8d737eb581 100644 (file)
@@ -1851,6 +1851,10 @@ currently used only to locate the $<a href="postconf.5.html#smtpd_sasl_path">smt
 Specify zero or more directories separated by a colon character,
 or an empty value to use Cyrus SASL's built-in search path.  </p>
 
+<p> Note: some Debian-based Postfix distributions ignore the
+"<a href="postconf.5.html#cyrus_sasl_config_path">cyrus_sasl_config_path</a>" parameter setting, and force Postfix to
+open the file <code>/etc/postfix/sasl/smtpd.conf</code>. </p>
+
 <p> This feature is available in Postfix 2.5 and later when compiled
 with Cyrus SASL 2.1.22 or later. </p>
 
index 3237a6c2a5c6235ff0448c02fba4170c00982e93..c487657d1d094128a3390299c0e8d17089c2d7a2 100644 (file)
@@ -1111,6 +1111,10 @@ currently used only to locate the $smtpd_sasl_path.conf file.
 Specify zero or more directories separated by a colon character,
 or an empty value to use Cyrus SASL's built\-in search path.
 .PP
+Note: some Debian\-based Postfix distributions ignore the
+"cyrus_sasl_config_path" parameter setting, and force Postfix to
+open the file <code>/etc/postfix/sasl/smtpd.conf</code>.
+.PP
 This feature is available in Postfix 2.5 and later when compiled
 with Cyrus SASL 2.1.22 or later.
 .SH daemon_directory (default: see "postconf \-d" output)
index 2af2e7bfb9a702ed8c63b12982ca863dfd1b7325..e19bb33c6fdf2154d835bc14cbabd19e6bb90b87 100644 (file)
@@ -281,13 +281,9 @@ configuration file in <code>/etc/postfix/sasl/</code>,
 cyrus_sasl_config_path</code> and/or the distribution-specific
 documentation to determine the expected location. </p> </li>
 
-<li> <p> Some Debian-based Postfix distributions patch Postfix to
-hardcode a non-default search path, making it impossible to set an
-alternate search path via the "cyrus_sasl_config_path" parameter.  This
-is likely to be the case when the distribution documents a
-Postfix-specific path (e.g. <code>/etc/postfix/sasl/</code>) that is
-different from the default value of "cyrus_sasl_config_path" (which
-then is likely to be empty). </p> </li>
+<li> <p> Some Debian-based Postfix distributions ignore the
+"cyrus_sasl_config_path" parameter setting, and force Postfix to
+open the file <code>/etc/postfix/sasl/smtpd.conf</code>. </p> </li>
 
 </ul>
 
index 34ea749d7a26a0c10ebfc09b1bc8a4d69b4714bd..1f8bcfdedb7a8196e32f1d227b7807fe11b00e65 100644 (file)
@@ -11289,6 +11289,10 @@ currently used only to locate the $smtpd_sasl_path.conf file.
 Specify zero or more directories separated by a colon character,
 or an empty value to use Cyrus SASL's built-in search path.  </p>
 
+<p> Note: some Debian-based Postfix distributions ignore the
+"cyrus_sasl_config_path" parameter setting, and force Postfix to
+open the file <code>/etc/postfix/sasl/smtpd.conf</code>. </p>
+
 <p> This feature is available in Postfix 2.5 and later when compiled
 with Cyrus SASL 2.1.22 or later. </p>
 
index 4cf9a5f5a4c8561d3704b955cf9b67e3c9476223..0c212d258e9dbd5fd194969c2229ff04233803bc 100644 (file)
@@ -745,6 +745,7 @@ static int dns_get_rr(DNS_RR **list, const char *orig_name, DNS_REPLY *reply,
                              DNS_FIXED *fixed)
 {
     char    temp[DNS_NAME_LEN];
+    char    ltemp[USHRT_MAX];
     char   *tempbuf = temp;
     UINT32_TYPE soa_buf[5];
     int     comp_len;
@@ -754,6 +755,7 @@ static int dns_get_rr(DNS_RR **list, const char *orig_name, DNS_REPLY *reply,
     unsigned port = 0;
     unsigned char *src;
     unsigned char *dst;
+    int     frag_len;
     int     ch;
 
 #define MIN2(a, b)     ((unsigned)(a) < (unsigned)(b) ? (a) : (b))
@@ -826,17 +828,28 @@ static int dns_get_rr(DNS_RR **list, const char *orig_name, DNS_REPLY *reply,
 #endif
 
        /*
-        * We impose the same length limit here as for DNS names. However,
-        * see T_TLSA discussion below.
+        * Impose the maximum length (65536) limit for TXT records.
         */
     case T_TXT:
-       data_len = MIN2(pos[0] + 1, MIN2(fixed->length + 1, sizeof(temp)));
-       for (src = pos + 1, dst = (unsigned char *) (temp);
-            dst < (unsigned char *) (temp) + data_len - 1; /* */ ) {
-           ch = *src++;
-           *dst++ = (ISPRINT(ch) ? ch : ' ');
+       for (src = pos, dst = (unsigned char *) ltemp;
+            src < pos + fixed->length; /* */ ) {
+           frag_len = *src++;
+           if (msg_verbose)
+               msg_info("frag_len=%d text=\"%.*s\"",
+                        (int) frag_len, (int) frag_len, (char *) src);
+           if (frag_len > reply->end - src
+            || frag_len >= ((unsigned char *) ltemp + sizeof(ltemp)) - dst) {
+               msg_warn("extract_answer: bad TXT string length: %d", frag_len);
+               return (DNS_RETRY);
+           }
+           while (frag_len-- > 0) {
+               ch = *src++;
+               *dst++ = (ISPRINT(ch) ? ch : ' ');
+           }
        }
-       *dst = 0;
+       *dst++ = 0;
+       tempbuf = ltemp;
+       data_len = dst - (unsigned char *) tempbuf;
        break;
 
        /*
index 69627fd39aee781aa1df9b64e940ca1cc2daa8bd..c1cc9ea805eab838a2f28805bcded3731174b029 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      "20240722"
+#define MAIL_RELEASE_DATE      "20240724"
 #define MAIL_VERSION_NUMBER    "3.10"
 
 #ifdef SNAPSHOT