]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-3.2.7-RC2 v3.2.7-RC2
authorWietse Venema <wietse@porcupine.org>
Sat, 10 Nov 2018 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <postfix-users@dukhovni.org>
Tue, 13 Nov 2018 23:38:52 +0000 (18:38 -0500)
postfix/HISTORY
postfix/html/postconf.5.html
postfix/man/man5/postconf.5
postfix/proto/postconf.proto
postfix/src/global/mail_version.h
postfix/src/tls/tls.h
postfix/src/tls/tls_dane.c
postfix/src/tls/tls_misc.c
postfix/src/tls/tls_server.c

index 9cd2f09ff172951f6ee774bd48ccaf373ae84efd..78641566d45a561172d2bb2dae6840bacb6efdf9 100644 (file)
@@ -23098,7 +23098,7 @@ Apologies for any names omitted.
        Bugfix (introduced: Postfix 2.11): minor memory leak when
        minting issuer certs. This affects a tiny minority of use
        cases. Viktor Dukhovni, based on a fix by Juan Altmayer
-       Pizzorno for the ssl_dane library.
+       Pizzorno for the ssl_dane library. File: tls/tls_dane.c.
 
 20181104
 
@@ -23107,5 +23107,10 @@ Apologies for any names omitted.
        tickets, and to allow OpenSSL >= 1.1.0 run-time micro version
        bumps without complaining about library version mismatches.
        Viktor Dukhovni. Files: proto/postconf.proto,
-       proto/TLS_README.html, tls/tls.h, tls/tls_dane.c,
-       tls/tls_server.c, tls/tls_misc.c.
+       proto/TLS_README.html, tls/tls.h, tls/tls_server.c,
+       tls/tls_misc.c.
+
+20181110
+
+       Documentation: update documentation for Postfix versions
+       that support disabling TLS 1.3. File: proto/postconf.proto.
index 95c472af0ede3233888a706d9af3dc0a18a4e546..ed7093f6c1e8b0cd8c3e03a1d061d0adefadf3db 100644 (file)
@@ -12408,7 +12408,8 @@ disabled except by also disabling "TLSv1" (typically leaving just
 versions of Postfix &ge; 2.10 can explicitly disable support for
 "TLSv1.1" or "TLSv1.2". </p>
 
-<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix &ge; 3.4,
+<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
+&ge; 3.4 (or patch releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
 this can be disabled, if need be, via "!TLSv1.3". </p>
 
 <p> At the <a href="TLS_README.html#client_tls_dane">dane</a> and
@@ -12740,7 +12741,8 @@ and "TLSv1.2". The latest patch levels of Postfix &ge; 2.6, and all
 versions of Postfix &ge; 2.10 can explicitly disable support for
 "TLSv1.1" or "TLSv1.2"</p>
 
-<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix &ge; 3.4,
+<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
+&ge; 3.4 (or patch releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
 this can be disabled, if need be, via "!TLSv1.3". </p>
 
 <p> To include a protocol list its name, to exclude it, prefix the name
@@ -16849,7 +16851,8 @@ disabled.  The latest patch levels of Postfix &ge; 2.6, and all
 versions of Postfix &ge; 2.10 can disable support for "TLSv1.1" or
 "TLSv1.2". </p>
 
-<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix &ge; 3.4,
+<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
+&ge; 3.4 (or patch releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
 this can be disabled, if need be, via "!TLSv1.3". </p>
 
 <p> Example: </p>
@@ -16883,7 +16886,8 @@ and "TLSv1.2". The latest patch levels of Postfix &ge; 2.6, and all
 versions of Postfix &ge; 2.10 can disable support for "TLSv1.1" or
 "TLSv1.2". </p>
 
-<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix &ge; 3.4,
+<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
+&ge; 3.4 (or patch releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
 this can be disabled, if need be, via "!TLSv1.3". </p>
 
 <p> To include a protocol list its name, to exclude it, prefix the name
index dd0efa69a0d7c280bdfc3685ae2faab6a9719846..84e7c534c9318055a6738082613835255c93560b 100644 (file)
@@ -7976,7 +7976,8 @@ disabled except by also disabling "TLSv1" (typically leaving just
 versions of Postfix >= 2.10 can explicitly disable support for
 "TLSv1.1" or "TLSv1.2".
 .PP
-OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix >= 3.4,
+OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
+>= 3.4 (or patch releases >= 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
 this can be disabled, if need be, via "!TLSv1.3".
 .PP
 At the dane and
@@ -8295,7 +8296,8 @@ and "TLSv1.2". The latest patch levels of Postfix >= 2.6, and all
 versions of Postfix >= 2.10 can explicitly disable support for
 "TLSv1.1" or "TLSv1.2"
 .PP
-OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix >= 3.4,
+OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
+>= 3.4 (or patch releases >= 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
 this can be disabled, if need be, via "!TLSv1.3".
 .PP
 To include a protocol list its name, to exclude it, prefix the name
@@ -11570,7 +11572,8 @@ disabled.  The latest patch levels of Postfix >= 2.6, and all
 versions of Postfix >= 2.10 can disable support for "TLSv1.1" or
 "TLSv1.2".
 .PP
-OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix >= 3.4,
+OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
+>= 3.4 (or patch releases >= 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
 this can be disabled, if need be, via "!TLSv1.3".
 .PP
 Example:
@@ -11602,7 +11605,8 @@ and "TLSv1.2". The latest patch levels of Postfix >= 2.6, and all
 versions of Postfix >= 2.10 can disable support for "TLSv1.1" or
 "TLSv1.2".
 .PP
-OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix >= 3.4,
+OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
+>= 3.4 (or patch releases >= 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
 this can be disabled, if need be, via "!TLSv1.3".
 .PP
 To include a protocol list its name, to exclude it, prefix the name
index 85d534cb5e6b749ae7a82a1b0f9e48c5f46ea22b..6f4dbda83473ec004989a4d6012220892d08fb88 100644 (file)
@@ -11166,7 +11166,8 @@ disabled except by also disabling "TLSv1" (typically leaving just
 versions of Postfix &ge; 2.10 can explicitly disable support for
 "TLSv1.1" or "TLSv1.2". </p>
 
-<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix &ge; 3.4,
+<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
+&ge; 3.4 (or patch releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
 this can be disabled, if need be, via "!TLSv1.3". </p>
 
 <p> At the <a href="TLS_README.html#client_tls_dane">dane</a> and
@@ -11366,7 +11367,8 @@ disabled.  The latest patch levels of Postfix &ge; 2.6, and all
 versions of Postfix &ge; 2.10 can disable support for "TLSv1.1" or
 "TLSv1.2". </p>
 
-<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix &ge; 3.4,
+<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
+&ge; 3.4 (or patch releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
 this can be disabled, if need be, via "!TLSv1.3". </p>
 
 <p> Example: </p>
@@ -12527,7 +12529,8 @@ and "TLSv1.2". The latest patch levels of Postfix &ge; 2.6, and all
 versions of Postfix &ge; 2.10 can explicitly disable support for
 "TLSv1.1" or "TLSv1.2"</p>
 
-<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix &ge; 3.4,
+<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
+&ge; 3.4 (or patch releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
 this can be disabled, if need be, via "!TLSv1.3". </p>
 
 <p> To include a protocol list its name, to exclude it, prefix the name
@@ -12562,7 +12565,8 @@ and "TLSv1.2". The latest patch levels of Postfix &ge; 2.6, and all
 versions of Postfix &ge; 2.10 can disable support for "TLSv1.1" or
 "TLSv1.2". </p>
 
-<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix &ge; 3.4,
+<p> OpenSSL 1.1.1 introduces support for "TLSv1.3".  With Postfix
+&ge; 3.4 (or patch releases &ge; 3.0.14, 3.1.10, 3.2.7 and 3.3.2)
 this can be disabled, if need be, via "!TLSv1.3". </p>
 
 <p> To include a protocol list its name, to exclude it, prefix the name
index 6a191461b86e15b4ac6f7ea7e5f39620e79fb974..4e452e39005d649c7a94881cdf01173380fd447a 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      "20181104"
-#define MAIL_VERSION_NUMBER    "3.2.7-RC1"
+#define MAIL_RELEASE_DATE      "20181110"
+#define MAIL_VERSION_NUMBER    "3.2.7-RC2"
 
 #ifdef SNAPSHOT
 #define MAIL_VERSION_DATE      "-" MAIL_RELEASE_DATE
index a3d2cd8851571fcd3897637b77d6a827c901295c..dfd2cbc75f0509b1bc45c37b4af7c09395a15beb 100644 (file)
@@ -378,7 +378,8 @@ extern void tls_param_init(void);
 #endif
 
  /*
-  * OpenSSL 1.1.1 does not define a TXT macro for TLS 1.3, so we roll our own.
+  * OpenSSL 1.1.1 does not define a TXT macro for TLS 1.3, so we roll our
+  * own.
   */
 #define TLS_PROTOCOL_TXT_TLSV1_3       "TLSv1.3"
 
index f56d272a2f66b2ed87bc1be4e6e428f0c5679edf..512bc7da9f2f2e1f3e398217ba9da75b7cc5c185 100644 (file)
@@ -868,7 +868,6 @@ static int parse_tlsa_rr(DNS_RR *rr, filter_ctx *ctx)
            return (FILTER_RR_DROP);
        }
     }
-
     /*-
      * Drop unsupported usages.
      * Note: NO SUPPORT for usages 0/1 which do not apply to SMTP.
@@ -1345,7 +1344,7 @@ int     tls_dane_match(TLS_SESS_STATE *TLScontext, int usage,
 
 static int add_ext(X509 *issuer, X509 *subject, int ext_nid, char *ext_val)
 {
-    int ret = 0;
+    int     ret = 0;
     X509V3_CTX v3ctx;
     X509_EXTENSION *ext;
 
@@ -1449,8 +1448,8 @@ static int set_issuer_name(X509 *cert, AUTHORITY_KEYID *akid, X509_NAME *subj)
     X509_NAME *name = akid_issuer_name(akid);
 
     /*
-     * If subject's akid specifies an authority key identifier issuer name, we
-     * must use that.
+     * If subject's akid specifies an authority key identifier issuer name,
+     * we must use that.
      */
     if (name)
        return (X509_set_issuer_name(cert, name));
@@ -1798,30 +1797,30 @@ void    tls_dane_set_callback(SSL_CTX *ctx, TLS_SESS_STATE *TLScontext)
 
 static int verify_chain(SSL *ssl, x509_stack_t *chain, TLS_SESS_STATE *tctx)
 {
-    int ret;
-    X509 *cert;
+    int     ret;
+    X509   *cert;
     X509_STORE_CTX *store_ctx;
     SSL_CTX *ssl_ctx = SSL_get_SSL_CTX(ssl);
     X509_STORE *store = SSL_CTX_get_cert_store(ssl_ctx);
-    int store_ctx_idx = SSL_get_ex_data_X509_STORE_CTX_idx();
+    int     store_ctx_idx = SSL_get_ex_data_X509_STORE_CTX_idx();
 
     cert = sk_X509_value(chain, 0);
     if ((store_ctx = X509_STORE_CTX_new()) == NULL) {
-        SSLerr(SSL_F_SSL_VERIFY_CERT_CHAIN, ERR_R_MALLOC_FAILURE);
-        return 0;
+       SSLerr(SSL_F_SSL_VERIFY_CERT_CHAIN, ERR_R_MALLOC_FAILURE);
+       return 0;
     }
     if (!X509_STORE_CTX_init(store_ctx, store, cert, chain)) {
-        X509_STORE_CTX_free(store_ctx);
-        return 0;
+       X509_STORE_CTX_free(store_ctx);
+       return 0;
     }
     X509_STORE_CTX_set_ex_data(store_ctx, store_ctx_idx, ssl);
 
     X509_STORE_CTX_set_default(store_ctx, "ssl_server");
     X509_VERIFY_PARAM_set1(X509_STORE_CTX_get0_param(store_ctx),
-                           SSL_get0_param(ssl));
+                          SSL_get0_param(ssl));
 
     if (SSL_get_verify_callback(ssl))
-        X509_STORE_CTX_set_verify_cb(store_ctx, SSL_get_verify_callback(ssl));
+       X509_STORE_CTX_set_verify_cb(store_ctx, SSL_get_verify_callback(ssl));
 
     ret = dane_cb(store_ctx, tctx);
 
index c131a5c9775818bb94175e7ed8ff79b18042def8..351f576cc7b48c2a50e22516a7e98b6205a81a91 100644 (file)
@@ -362,15 +362,16 @@ static const LONG_NAME_MASK ssl_bug_tweaks[] = {
     NAMEBUG(TLSEXT_PADDING),
 
 #if 0
- /*
-  * XXX: New with OpenSSL 1.1.1, this is turned on implicitly in SSL_CTX_new()
-  * and is not included in SSL_OP_ALL.  Allowing users to disable this would
-  * thus a code change that would clearing bug work-around bits in SSL_CTX,
-  * after setting SSL_OP_ALL.  Since this is presumably required for TLS 1.3 on
-  * today's Internet, the code change will be done separately later.  For now
-  * this implicit bug work-around cannot be disabled via supported Postfix
-  * mechanisms.
-  */
+
+    /*
+     * XXX: New with OpenSSL 1.1.1, this is turned on implicitly in
+     * SSL_CTX_new() and is not included in SSL_OP_ALL.  Allowing users to
+     * disable this would thus a code change that would clearing bug
+     * work-around bits in SSL_CTX, after setting SSL_OP_ALL.  Since this is
+     * presumably required for TLS 1.3 on today's Internet, the code change
+     * will be done separately later.  For now this implicit bug work-around
+     * cannot be disabled via supported Postfix mechanisms.
+     */
 #ifndef SSL_OP_ENABLE_MIDDLEBOX_COMPAT
 #define SSL_OP_ENABLE_MIDDLEBOX_COMPAT 0
 #endif
index 19abedb967fb25d7b89d23d1e28f67d955df1be4..ee715c07f9fa73a57de49525987682a7c8e11630 100644 (file)
@@ -504,18 +504,19 @@ TLS_APPL_STATE *tls_server_init(const TLS_SERVER_INIT_PROPS *props)
     }
     if (ticketable) {
        SSL_CTX_set_tlsext_ticket_key_cb(server_ctx, ticket_cb);
-        /*
-         * OpenSSL 1.1.1 introduces support for TLS 1.3, which can issue more
-         * than one ticket per handshake.  While this may be appropriate for
-         * communication between browsers and webservers, it is not terribly
-         * useful for MTAs, many of which other than Postfix don't do TLS
-         * session caching at all, and Postfix has no mechanism for storing
-         * multiple session tickets, if more than one sent, the second clobbers
-         * the first.  OpenSSL 1.1.1 servers default to issuing two tickets for
-         * non-resumption handshakes, we reduce this to one.  Our ticket
-         * decryption callback already (since 2.11) asks OpenSSL to avoid
-         * issuing new tickets when the presented ticket is re-usable.
-         */
+
+       /*
+        * OpenSSL 1.1.1 introduces support for TLS 1.3, which can issue more
+        * than one ticket per handshake.  While this may be appropriate for
+        * communication between browsers and webservers, it is not terribly
+        * useful for MTAs, many of which other than Postfix don't do TLS
+        * session caching at all, and Postfix has no mechanism for storing
+        * multiple session tickets, if more than one sent, the second
+        * clobbers the first.  OpenSSL 1.1.1 servers default to issuing two
+        * tickets for non-resumption handshakes, we reduce this to one.  Our
+        * ticket decryption callback already (since 2.11) asks OpenSSL to
+        * avoid issuing new tickets when the presented ticket is re-usable.
+        */
        SSL_CTX_set_num_tickets(server_ctx, 1);
     }
 #endif