]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-3.9-20230808
authorWietse Venema <wietse@porcupine.org>
Tue, 8 Aug 2023 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <ietf-dane@dukhovni.org>
Wed, 9 Aug 2023 04:02:03 +0000 (00:02 -0400)
postfix/HISTORY
postfix/RELEASE_NOTES
postfix/html/postconf.5.html
postfix/man/man5/postconf.5
postfix/proto/postconf.proto
postfix/src/global/mail_version.h

index d3ec99658996c15fdc442b0290f6d115120185b5..f37f294c327670103dacd2b70f683b402ee95a7d 100644 (file)
@@ -27283,7 +27283,7 @@ Apologies for any names omitted.
        b) when the Postfix SMTP client initiates a TLS handshake
        with a remote SMTP server. See RELEASE_NOTES for details.
        Viktor Dukhovni. Files: mantools/postlink, proto/TLS_README.html,
-       proto/postconf.proto, global/mail_params.h,
+       proto/postconf.proto, RELEASE_NOTES, global/mail_params.h,
        posttls-finger/posttls-finger.c, smtp/lmtp_params.c,
        smtp/smtp.c, smtp/smtp.h, smtp/smtp_params.c, smtp/smtp_proto.c,
        smtp/smtp_tls_policy.c, smtpd/smtpd.c, smtpd/smtpd_check.c,
@@ -27292,3 +27292,8 @@ Apologies for any names omitted.
        tls/tls_proxy_client_scan.c, tls/tls_proxy_context_print.c,
        tls/tls_proxy_context_scan.c, tls/tls_server.c, tls/tls_verify.c,
        tlsproxy/tlsproxy.c.
+
+20230808
+
+       Documentation loose ends. Files: proto/postconf.proto,
+       RELEASE_NOTES.
index d4f2c1a5c12b40faf8cc483dcdcaaaccb5941ce6..7f24aa4b1ee54f504d9f7b96a5b4033dcff69178 100644 (file)
@@ -48,12 +48,17 @@ Postfix with OpenSSL versions before 3.2).
   certificate. The Postfix SMTP client will still accept a server
   public key certificate instead of a public key.
 
-- At the "dane" security level, the Postfix SMTP client will ignore
-  smtp_tls_enable_rpk or enable_rpk settings, and will request that
-  a remote SMTP server sends an RFC7250 raw public key instead of
-  an X.509 certificate when all valid TLSA records specify only
-  server public keys (no certificates). The Postfix SMTP client
-  will still accept a server public key certificate.
+- At the "secure" and "verify" security level, the Postfix SMTP
+  client will ignore smtp_tls_enable_rpk or enable_rpk settings,
+  because these levels require a server certificate.
+
+- At the "dane" and "dane-only" security levels, the Postfix SMTP
+  client will ignore smtp_tls_enable_rpk or enable_rpk settings,
+  and will request that a remote SMTP server sends an RFC7250 raw
+  public key instead of an X.509 certificate when all valid TLSA
+  records specify only server public keys (no certificates). The
+  Postfix SMTP client will still accept a server public key
+  certificate.
 
 - The Postfix SMTP client and server always send a raw public key
   instead of a certificate, if solicited by the remote SMTP peer
@@ -66,17 +71,17 @@ Postfix with OpenSSL versions before 3.2).
 
 Caution: enabling Postfix raw key support will break authentication
 based on certificate fingerprints in check_ccert_access or
-smtp_policy_maps, when a remote peer's TLS implementation starts
+smtp_tls_policy_maps, when a remote peer's TLS implementation starts
 to send a raw public key instead of a certificate. The solution is
-to always use public key fingerprint patterns; these will match
-not only a "raw" public key, but also the public key in a certificate.
-
-To detect such problems before they happen, the Postfix SMTP client
-and server will log a warning when they request an RFC7250 raw
-public key instead of an X.509 certificate, the remote peer sends
-a certificate instead of a public key, and check_ccert_access or
-smtp_policy_maps has a matching fingerprint for the certificate but
-not for the public key in that certificate.
+to always use public key fingerprint patterns; these will match not
+only a "raw" public key, but also the public key in a certificate.
+
+To detect such problems before they happen, the Postfix SMTP server
+will log a warning when it requests an RFC7250 raw public key instead
+of an X.509 certificate, the remote peer sends a certificate instead
+of a public key, and check_ccert_access has a matching fingerprint
+for the certificate but not for the public key in that certificate.
+There is no corresponding warning from the Postfix SMTP client.
 
 For instructions to generate public-key fingerprints, see the
 postconf(5) man pages for smtp_tls_enable_rpk and smtpd_tls_enable_rpk.
index 84d7d093a92d89963995a23a6f76d70f3c56e804..058d672142f6b8120d9eaf7dd8ba41a78bdc631e 100644 (file)
@@ -13152,21 +13152,35 @@ the TLS handshake that it prefers to receive a raw server public
 key, but it will still accept a server public key certificate. </p>
 
 <li> <p> At the "fingerprint" security level, with parameter setting
-"<a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> = yes" or with "enable_rpk = yes" in a policy entry,
-server authentication based on certificate fingerprints becomes more
-fragile.  Even if the server private key and certificate remain
-unchanged, the remote SMTP server will fail fingerprint authentication
-(won't match the configured list of fingerprints) when it starts sending
-a raw public key instead of a certificate, after its TLS implementation
-is updated with raw public key support.  Therefore, <b>DO NOT</b>
-enable raw public keys to remote destinations authenticated by server
-<b>certificate</b> fingerprints.  You should enable raw public keys
-only for servers matched via their public key fingerprint.  </p>
-
-<li> <p> At the "dane" security level, the Postfix SMTP client
-always ignores the parameter setting <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> or the
-enable_rpk policy attribute. When all valid TLSA records specify
-only server public keys (no certificates) and the local TLS
+"<a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> = yes" or with "enable_rpk = yes" in a policy
+entry, server authentication based on certificate fingerprints
+becomes more fragile.  Even if the server private key and certificate
+remain unchanged, the remote SMTP server will fail fingerprint
+authentication (won't match the configured list of fingerprints)
+when it starts sending a raw public key instead of a certificate,
+after its TLS implementation is updated with raw public key support.
+Therefore, <b>DO NOT</b> enable raw public keys to remote destinations
+authenticated by server <b>certificate</b> fingerprints.  You should
+enable raw public keys only for servers matched via their public
+key fingerprint.  </p>
+
+<li> <p> At the "verify" and "secure" security levels, the Postfix
+SMTP client always ignores the parameter setting <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a>
+or the enable_rpk policy attribute. </p>
+
+<li> <p> At the opportunistic "dane" security level, the Postfix
+SMTP client ignores the parameter setting <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> or
+the enable_rpk policy attribute (but it will respect them when it
+falls back to the "may" or "encrypt" level). When all valid TLSA
+records specify only server public keys (no certificates) and the
+local TLS implementation supports raw public keys, the client will
+indicate in the TLS handshake that it prefers to receive a raw
+public key, but it will still accept a public key certificate. </p>
+
+<li> <p> At the mandatory "dane-only" security level, the Postfix
+SMTP client always ignores the parameter setting <a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a>
+or the enable_rpk policy attribute. When all valid TLSA records
+specify only server public keys (no certificates) and the local TLS
 implementation supports raw public keys, the client will indicate
 in the TLS handshake that it prefers to receive a raw public key,
 but it will still accept a public key certificate. </p>
index f8de63cf6d49c0d13528483f1f31fd28a58cc5a0..e373344ac5ab87a6826ed850f392cdbea1388699 100644 (file)
@@ -8597,21 +8597,35 @@ the TLS handshake that it prefers to receive a raw server public
 key, but it will still accept a server public key certificate.
 .IP \(bu
 At the "fingerprint" security level, with parameter setting
-"smtp_tls_enable_rpk = yes" or with "enable_rpk = yes" in a policy entry,
-server authentication based on certificate fingerprints becomes more
-fragile.  Even if the server private key and certificate remain
-unchanged, the remote SMTP server will fail fingerprint authentication
-(won't match the configured list of fingerprints) when it starts sending
-a raw public key instead of a certificate, after its TLS implementation
-is updated with raw public key support.  Therefore, \fBDO NOT\fR
-enable raw public keys to remote destinations authenticated by server
-\fBcertificate\fR fingerprints.  You should enable raw public keys
-only for servers matched via their public key fingerprint.
-.IP \(bu
-At the "dane" security level, the Postfix SMTP client
-always ignores the parameter setting smtp_tls_enable_rpk or the
-enable_rpk policy attribute. When all valid TLSA records specify
-only server public keys (no certificates) and the local TLS
+"smtp_tls_enable_rpk = yes" or with "enable_rpk = yes" in a policy
+entry, server authentication based on certificate fingerprints
+becomes more fragile.  Even if the server private key and certificate
+remain unchanged, the remote SMTP server will fail fingerprint
+authentication (won't match the configured list of fingerprints)
+when it starts sending a raw public key instead of a certificate,
+after its TLS implementation is updated with raw public key support.
+Therefore, \fBDO NOT\fR enable raw public keys to remote destinations
+authenticated by server \fBcertificate\fR fingerprints.  You should
+enable raw public keys only for servers matched via their public
+key fingerprint.
+.IP \(bu
+At the "verify" and "secure" security levels, the Postfix
+SMTP client always ignores the parameter setting smtp_tls_enable_rpk
+or the enable_rpk policy attribute.
+.IP \(bu
+At the opportunistic "dane" security level, the Postfix
+SMTP client ignores the parameter setting smtp_tls_enable_rpk or
+the enable_rpk policy attribute (but it will respect them when it
+falls back to the "may" or "encrypt" level). When all valid TLSA
+records specify only server public keys (no certificates) and the
+local TLS implementation supports raw public keys, the client will
+indicate in the TLS handshake that it prefers to receive a raw
+public key, but it will still accept a public key certificate.
+.IP \(bu
+At the mandatory "dane\-only" security level, the Postfix
+SMTP client always ignores the parameter setting smtp_tls_enable_rpk
+or the enable_rpk policy attribute. When all valid TLSA records
+specify only server public keys (no certificates) and the local TLS
 implementation supports raw public keys, the client will indicate
 in the TLS handshake that it prefers to receive a raw public key,
 but it will still accept a public key certificate.
index 1b60a97652b3a24b3df9cde302b7e24a8cab91e2..071d61e1c18c0acec271c78eb46191b6a1c91084 100644 (file)
@@ -18711,21 +18711,35 @@ the TLS handshake that it prefers to receive a raw server public
 key, but it will still accept a server public key certificate. </p>
 
 <li> <p> At the "fingerprint" security level, with parameter setting
-"smtp_tls_enable_rpk = yes" or with "enable_rpk = yes" in a policy entry,
-server authentication based on certificate fingerprints becomes more
-fragile.  Even if the server private key and certificate remain
-unchanged, the remote SMTP server will fail fingerprint authentication
-(won't match the configured list of fingerprints) when it starts sending
-a raw public key instead of a certificate, after its TLS implementation
-is updated with raw public key support.  Therefore, <b>DO NOT</b>
-enable raw public keys to remote destinations authenticated by server
-<b>certificate</b> fingerprints.  You should enable raw public keys
-only for servers matched via their public key fingerprint.  </p>
-
-<li> <p> At the "dane" security level, the Postfix SMTP client
-always ignores the parameter setting smtp_tls_enable_rpk or the
-enable_rpk policy attribute. When all valid TLSA records specify
-only server public keys (no certificates) and the local TLS
+"smtp_tls_enable_rpk = yes" or with "enable_rpk = yes" in a policy
+entry, server authentication based on certificate fingerprints
+becomes more fragile.  Even if the server private key and certificate
+remain unchanged, the remote SMTP server will fail fingerprint
+authentication (won't match the configured list of fingerprints)
+when it starts sending a raw public key instead of a certificate,
+after its TLS implementation is updated with raw public key support.
+Therefore, <b>DO NOT</b> enable raw public keys to remote destinations
+authenticated by server <b>certificate</b> fingerprints.  You should
+enable raw public keys only for servers matched via their public
+key fingerprint.  </p>
+
+<li> <p> At the "verify" and "secure" security levels, the Postfix
+SMTP client always ignores the parameter setting smtp_tls_enable_rpk
+or the enable_rpk policy attribute. </p>
+
+<li> <p> At the opportunistic "dane" security level, the Postfix
+SMTP client ignores the parameter setting smtp_tls_enable_rpk or
+the enable_rpk policy attribute (but it will respect them when it
+falls back to the "may" or "encrypt" level). When all valid TLSA
+records specify only server public keys (no certificates) and the
+local TLS implementation supports raw public keys, the client will
+indicate in the TLS handshake that it prefers to receive a raw
+public key, but it will still accept a public key certificate. </p>
+
+<li> <p> At the mandatory "dane-only" security level, the Postfix
+SMTP client always ignores the parameter setting smtp_tls_enable_rpk
+or the enable_rpk policy attribute. When all valid TLSA records
+specify only server public keys (no certificates) and the local TLS
 implementation supports raw public keys, the client will indicate
 in the TLS handshake that it prefers to receive a raw public key,
 but it will still accept a public key certificate. </p>
index de4dce043c10bf120a790015a313efed7c2c2d08..559191da07875f8d42f1f937f247be6fa52a48ea 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      "20230807"
+#define MAIL_RELEASE_DATE      "20230808"
 #define MAIL_VERSION_NUMBER    "3.9"
 
 #ifdef SNAPSHOT