]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.7.1-RC1 v2.7.1-RC1
authorWietse Venema <wietse@porcupine.org>
Tue, 1 Jun 2010 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <postfix-users@dukhovni.org>
Sat, 10 Feb 2018 19:08:03 +0000 (14:08 -0500)
18 files changed:
postfix/HISTORY
postfix/html/postconf.5.html
postfix/makedefs
postfix/man/man5/postconf.5
postfix/proto/postconf.proto
postfix/src/dns/dns.h
postfix/src/global/dict_ldap.c
postfix/src/global/mail_params.h
postfix/src/global/mail_version.h
postfix/src/milter/milter.c
postfix/src/smtp/smtp_proto.c
postfix/src/tls/tls_certkey.c
postfix/src/tls/tls_client.c
postfix/src/tls/tls_dh.c
postfix/src/tls/tls_server.c
postfix/src/util/dict_db.c
postfix/src/util/match_list.c
postfix/src/util/sys_defs.h

index c703d0d1b7d2750776f4362e96420c487b91bdc2..52f4c24d31c6c8061049ce5ee426b5918a2bde11 100644 (file)
@@ -15729,3 +15729,42 @@ Apologies for any names omitted.
        The tcp_table(5) interface is now part of the stable release.
        The last protocol change was in Postfix 2.1. File:
        util/dict_open.c.
+
+20100515
+
+       Bugfix (introduced Postfix 2.6): the Postfix SMTP client
+       XFORWARD implementation did not skip "unknown" SMTP client
+       attributes, causing a syntax error when sending a PORT
+       attribute. Reported by Victor Duchovni. File: smtp/smtp_proto.c.
+
+20100526
+
+       Cleanup: a unit-test driver (for stand-alone tests) was not
+       updated after an internal API change. Vesa-Matti J Kari
+       File: milter/milter.c.
+
+20100529
+
+       Portability: OpenSSL 1.0.0 changes the priority of anonymous
+       cyphers. Victor Duchovni. Files: postconf.proto,
+       global/mail_params.h, tls/tls_certkey.c, tls/tls_client.c,
+       tls/tls_dh.c, tls/tls_server.c.
+
+       Portability: Mac OS 10.6.3 requires <arpa/nameser_compat.h>
+       instead of <arpa/nameser8_compat.h>. Files: makedefs,
+       util/sys_defs.h, dns/dns.h.
+
+20100531
+
+       Robustness: skip LDAP queries with non-ASCII search strings.
+       The LDAP library requires well-formed UTF-8.  Victor Duchovni.
+       File: global/dict_ldap.c.
+
+20100601
+
+       Safety: Postfix processes log a warning when a matchlist
+       has a #comment at the end of a line (for example mynetworks
+       or relay_domains).  File: util/match_list.c.
+
+       Portability: Berkeley DB 5.x has the same API as Berkeley
+       DB 4.1 and later. File: util/dict_db.c.
index 23bf1f2a6f1128c0b3b09f0bfc56c129574605b8..eed69738ab20e5ed3db498237c5d5e3c9a5dd32f 100644 (file)
@@ -4428,7 +4428,7 @@ configuration parameter.  See there for details. </p>
 parameter.  See there for details. </p>
 
 <p> This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 
 </DD>
@@ -4440,7 +4440,7 @@ compiled and linked with OpenSSL 0.9.9 or later. </p>
 parameter.  See there for details. </p>
 
 <p> This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 
 </DD>
@@ -9357,7 +9357,7 @@ This file may also contain the Postfix SMTP client ECDSA private key. </p>
 </pre>
 
 <p> This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 
 </DD>
@@ -9375,7 +9375,7 @@ access to the system superuser account ("root"), and no access
 to anyone else. </p>
 
 <p> This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 
 </DD>
@@ -12936,7 +12936,7 @@ This file may also contain the Postfix SMTP server private ECDSA key. </p>
 </pre>
 
 <p> This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 
 </DD>
@@ -12954,7 +12954,7 @@ access to the system superuser account ("root"), and no access
 to anyone else. </p>
 
 <p> This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 
 </DD>
@@ -12988,7 +12988,7 @@ users. </dd>
 </dl>
 
 <p> This feature is available in Postfix 2.6 and later, when it is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 
 </DD>
@@ -13776,7 +13776,7 @@ under the SECG name "secp256r1", but OpenSSL does not recognize the
 latter name. </p>
 
 <p> This feature is available in Postfix 2.6 and later, when it is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 
 </DD>
@@ -13799,7 +13799,7 @@ of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not gen
 classified as TOP SECRET. </p>
 
 <p> This feature is available in Postfix 2.6 and later, when it is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 
 </DD>
@@ -13812,7 +13812,11 @@ defines the meaning of the "export" setting in <a href="postconf.5.html#smtpd_tl
 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. This is
 the cipherlist for the opportunistic ("may") TLS client security
 level and is the default cipherlist for the SMTP server. You are
-strongly encouraged to not change this setting. </p>
+strongly encouraged to not change this setting. With OpenSSL 1.0.0 and
+later the cipherlist may start with an "aNULL:" prefix, which restores
+the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
+list when they are enabled. This prefix is not needed with previous
+OpenSSL releases. </p>
 
 <p> This feature is available in Postfix 2.3 and later. </p>
 
@@ -13825,7 +13829,11 @@ strongly encouraged to not change this setting. </p>
 <p> The OpenSSL cipherlist for "HIGH" grade ciphers. This defines
 the meaning of the "high" setting in <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>,
 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are
-strongly encouraged to not change this setting. </p>
+strongly encouraged to not change this setting. With OpenSSL 1.0.0 and
+later the cipherlist may start with an "aNULL:" prefix, which restores
+the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
+list when they are enabled. This prefix is not needed with previous
+OpenSSL releases. </p>
 
 <p> This feature is available in Postfix 2.3 and later. </p>
 
@@ -13838,7 +13846,11 @@ strongly encouraged to not change this setting. </p>
 <p> The OpenSSL cipherlist for "LOW" or higher grade ciphers. This defines
 the meaning of the "low" setting in <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>,
 <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are
-strongly encouraged to not change this setting. </p>
+strongly encouraged to not change this setting.  With OpenSSL 1.0.0 and
+later the cipherlist may start with an "aNULL:" prefix, which restores
+the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
+list when they are enabled. This prefix is not needed with previous
+OpenSSL releases. </p>
 
 <p> This feature is available in Postfix 2.3 and later. </p>
 
@@ -13854,7 +13866,10 @@ defines the meaning of the "medium" setting in <a href="postconf.5.html#smtpd_tl
 the default cipherlist for mandatory TLS encryption in the TLS
 client (with anonymous ciphers disabled when verifying server
 certificates). You are strongly encouraged to not change this
-setting. </p>
+setting.  With OpenSSL 1.0.0 and later the cipherlist may start with an
+"aNULL:" prefix, which restores the 0.9.8-compatible ordering of the
+aNULL ciphers to the top of the list when they are enabled. This prefix
+is not needed with previous OpenSSL releases. </p>
 
 <p> This feature is available in Postfix 2.3 and later. </p>
 
index b2158197be8db37cbab1f4c869aa321d762903d3..b4473c9b83d4219211b0003fd1ead25e64485c48 100644 (file)
@@ -421,6 +421,11 @@ ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix543
                 [1-6].*) CCARGS="$CCARGS -DNO_IPV6";;
                       *) CCARGS="$CCARGS -DBIND_8_COMPAT -DNO_NETINFO";;
                esac
+               # Darwin 10.3.0 no longer has <arpa/nameser8_compat.h>.
+               case $RELEASE in
+                    ?.*) CCARGS="$CCARGS -DRESOLVE_H_NEEDS_NAMESER8_COMPAT_H";;
+                      *) CCARGS="$CCARGS -DRESOLVE_H_NEEDS_NAMESER_COMPAT_H";;
+               esac
                # kqueue and/or poll are broken up to and including MacOS X 10.5
                CCARGS="$CCARGS -DNO_KQUEUE"
 #              # Darwin 8.11.1 has kqueue support, but let's play safe
index c51b73a93bc6b2a0a18738d7d3328ab43a188662..ce268625e8a2413dfd21933aba557ea65c8905ea 100644 (file)
@@ -2414,13 +2414,13 @@ The LMTP-specific version of the smtp_tls_eccert_file configuration
 parameter.  See there for details.
 .PP
 This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later.
+compiled and linked with OpenSSL 1.0.0 or later.
 .SH lmtp_tls_eckey_file (default: empty)
 The LMTP-specific version of the smtp_tls_eckey_file configuration
 parameter.  See there for details.
 .PP
 This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later.
+compiled and linked with OpenSSL 1.0.0 or later.
 .SH lmtp_tls_enforce_peername (default: yes)
 The LMTP-specific version of the smtp_tls_enforce_peername
 configuration parameter.  See there for details.
@@ -5423,7 +5423,7 @@ smtp_tls_eccert_file = /etc/postfix/ecdsa-ccert.pem
 .ft R
 .PP
 This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later.
+compiled and linked with OpenSSL 1.0.0 or later.
 .SH smtp_tls_eckey_file (default: $smtp_tls_eccert_file)
 File with the Postfix SMTP client ECDSA private key in PEM format.
 This file may be combined with the Postfix SMTP client ECDSA
@@ -5435,7 +5435,7 @@ access to the system superuser account ("root"), and no access
 to anyone else.
 .PP
 This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later.
+compiled and linked with OpenSSL 1.0.0 or later.
 .SH smtp_tls_enforce_peername (default: yes)
 With mandatory TLS encryption, require that the remote SMTP
 server hostname matches the information in the remote SMTP server
@@ -8129,7 +8129,7 @@ smtpd_tls_eccert_file = /etc/postfix/ecdsa-scert.pem
 .ft R
 .PP
 This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later.
+compiled and linked with OpenSSL 1.0.0 or later.
 .SH smtpd_tls_eckey_file (default: $smtpd_tls_eccert_file)
 File with the Postfix SMTP server ECDSA private key in PEM format.
 This file may be combined with the Postfix SMTP server ECDSA certificate
@@ -8141,7 +8141,7 @@ access to the system superuser account ("root"), and no access
 to anyone else.
 .PP
 This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later.
+compiled and linked with OpenSSL 1.0.0 or later.
 .SH smtpd_tls_eecdh_grade (default: see "postconf -d" output)
 The Postfix SMTP server security grade for ephemeral elliptic-curve
 Diffie-Hellman (EECDH) key exchange.
@@ -8165,7 +8165,7 @@ elliptic curve crypto-systems, the "strong" curve is sufficient for most
 users.
 .PP
 This feature is available in Postfix 2.6 and later, when it is
-compiled and linked with OpenSSL 0.9.9 or later.
+compiled and linked with OpenSSL 1.0.0 or later.
 .SH smtpd_tls_exclude_ciphers (default: empty)
 List of ciphers or cipher types to exclude from the SMTP server
 cipher list at all TLS security levels. Excluding valid ciphers
@@ -8740,7 +8740,7 @@ under the SECG name "secp256r1", but OpenSSL does not recognize the
 latter name.
 .PP
 This feature is available in Postfix 2.6 and later, when it is
-compiled and linked with OpenSSL 0.9.9 or later.
+compiled and linked with OpenSSL 1.0.0 or later.
 .SH tls_eecdh_ultra_curve (default: secp384r1)
 The elliptic curve used by the SMTP server for maximally strong
 ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
@@ -8757,28 +8757,40 @@ This default "ultra" curve is specified in NSA "Suite B" Cryptography
 classified as TOP SECRET.
 .PP
 This feature is available in Postfix 2.6 and later, when it is
-compiled and linked with OpenSSL 0.9.9 or later.
+compiled and linked with OpenSSL 1.0.0 or later.
 .SH tls_export_cipherlist (default: ALL:+RC4:@STRENGTH)
 The OpenSSL cipherlist for "EXPORT" or higher grade ciphers. This
 defines the meaning of the "export" setting in smtpd_tls_mandatory_ciphers,
 smtp_tls_mandatory_ciphers and lmtp_tls_mandatory_ciphers. This is
 the cipherlist for the opportunistic ("may") TLS client security
 level and is the default cipherlist for the SMTP server. You are
-strongly encouraged to not change this setting.
+strongly encouraged to not change this setting. With OpenSSL 1.0.0 and
+later the cipherlist may start with an "aNULL:" prefix, which restores
+the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
+list when they are enabled. This prefix is not needed with previous
+OpenSSL releases.
 .PP
 This feature is available in Postfix 2.3 and later.
 .SH tls_high_cipherlist (default: ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH)
 The OpenSSL cipherlist for "HIGH" grade ciphers. This defines
 the meaning of the "high" setting in smtpd_tls_mandatory_ciphers,
 smtp_tls_mandatory_ciphers and lmtp_tls_mandatory_ciphers. You are
-strongly encouraged to not change this setting.
+strongly encouraged to not change this setting. With OpenSSL 1.0.0 and
+later the cipherlist may start with an "aNULL:" prefix, which restores
+the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
+list when they are enabled. This prefix is not needed with previous
+OpenSSL releases.
 .PP
 This feature is available in Postfix 2.3 and later.
 .SH tls_low_cipherlist (default: ALL:!EXPORT:+RC4:@STRENGTH)
 The OpenSSL cipherlist for "LOW" or higher grade ciphers. This defines
 the meaning of the "low" setting in smtpd_tls_mandatory_ciphers,
 smtp_tls_mandatory_ciphers and lmtp_tls_mandatory_ciphers. You are
-strongly encouraged to not change this setting.
+strongly encouraged to not change this setting.  With OpenSSL 1.0.0 and
+later the cipherlist may start with an "aNULL:" prefix, which restores
+the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
+list when they are enabled. This prefix is not needed with previous
+OpenSSL releases.
 .PP
 This feature is available in Postfix 2.3 and later.
 .SH tls_medium_cipherlist (default: ALL:!EXPORT:!LOW:+RC4:@STRENGTH)
@@ -8788,7 +8800,10 @@ smtp_tls_mandatory_ciphers and lmtp_tls_mandatory_ciphers. This is
 the default cipherlist for mandatory TLS encryption in the TLS
 client (with anonymous ciphers disabled when verifying server
 certificates). You are strongly encouraged to not change this
-setting.
+setting.  With OpenSSL 1.0.0 and later the cipherlist may start with an
+"aNULL:" prefix, which restores the 0.9.8-compatible ordering of the
+aNULL ciphers to the top of the list when they are enabled. This prefix
+is not needed with previous OpenSSL releases.
 .PP
 This feature is available in Postfix 2.3 and later.
 .SH tls_null_cipherlist (default: eNULL:!aNULL)
index 1c2c5ea8ab591d629292125e4b2e0fa9bfccd789..e4f6e8f2dddc6f5af24d64a1fc503e841788833b 100644 (file)
@@ -10992,7 +10992,11 @@ attribute. See smtp_tls_policy_maps for notes and examples. </p>
 <p> The OpenSSL cipherlist for "HIGH" grade ciphers. This defines
 the meaning of the "high" setting in smtpd_tls_mandatory_ciphers,
 smtp_tls_mandatory_ciphers and lmtp_tls_mandatory_ciphers. You are
-strongly encouraged to not change this setting. </p>
+strongly encouraged to not change this setting. With OpenSSL 1.0.0 and
+later the cipherlist may start with an "aNULL:" prefix, which restores
+the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
+list when they are enabled. This prefix is not needed with previous
+OpenSSL releases. </p>
 
 <p> This feature is available in Postfix 2.3 and later. </p>
 
@@ -11004,7 +11008,10 @@ smtp_tls_mandatory_ciphers and lmtp_tls_mandatory_ciphers. This is
 the default cipherlist for mandatory TLS encryption in the TLS
 client (with anonymous ciphers disabled when verifying server
 certificates). You are strongly encouraged to not change this
-setting. </p>
+setting.  With OpenSSL 1.0.0 and later the cipherlist may start with an
+"aNULL:" prefix, which restores the 0.9.8-compatible ordering of the
+aNULL ciphers to the top of the list when they are enabled. This prefix
+is not needed with previous OpenSSL releases. </p>
 
 <p> This feature is available in Postfix 2.3 and later. </p>
 
@@ -11013,7 +11020,11 @@ setting. </p>
 <p> The OpenSSL cipherlist for "LOW" or higher grade ciphers. This defines
 the meaning of the "low" setting in smtpd_tls_mandatory_ciphers,
 smtp_tls_mandatory_ciphers and lmtp_tls_mandatory_ciphers. You are
-strongly encouraged to not change this setting. </p>
+strongly encouraged to not change this setting.  With OpenSSL 1.0.0 and
+later the cipherlist may start with an "aNULL:" prefix, which restores
+the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
+list when they are enabled. This prefix is not needed with previous
+OpenSSL releases. </p>
 
 <p> This feature is available in Postfix 2.3 and later. </p>
 
@@ -11024,7 +11035,11 @@ defines the meaning of the "export" setting in smtpd_tls_mandatory_ciphers,
 smtp_tls_mandatory_ciphers and lmtp_tls_mandatory_ciphers. This is
 the cipherlist for the opportunistic ("may") TLS client security
 level and is the default cipherlist for the SMTP server. You are
-strongly encouraged to not change this setting. </p>
+strongly encouraged to not change this setting. With OpenSSL 1.0.0 and
+later the cipherlist may start with an "aNULL:" prefix, which restores
+the 0.9.8-compatible ordering of the aNULL ciphers to the top of the
+list when they are enabled. This prefix is not needed with previous
+OpenSSL releases. </p>
 
 <p> This feature is available in Postfix 2.3 and later. </p>
 
@@ -11550,7 +11565,7 @@ under the SECG name "secp256r1", but OpenSSL does not recognize the
 latter name. </p>
 
 <p> This feature is available in Postfix 2.6 and later, when it is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 %PARAM tls_eecdh_ultra_curve secp384r1
 
@@ -11569,7 +11584,7 @@ of RFC 4492. You should not generally change this setting. </p>
 classified as TOP SECRET. </p>
 
 <p> This feature is available in Postfix 2.6 and later, when it is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 %PARAM smtpd_tls_eecdh_grade see "postconf -d" output
 
@@ -11599,7 +11614,7 @@ users. </dd>
 </dl>
 
 <p> This feature is available in Postfix 2.6 and later, when it is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 %PARAM smtpd_tls_eccert_file
 
@@ -11615,7 +11630,7 @@ smtpd_tls_eccert_file = /etc/postfix/ecdsa-scert.pem
 </pre>
 
 <p> This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 %PARAM smtpd_tls_eckey_file $smtpd_tls_eccert_file
 
@@ -11629,7 +11644,7 @@ access to the system superuser account ("root"), and no access
 to anyone else. </p>
 
 <p> This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 %PARAM smtp_tls_eccert_file
 
@@ -11646,7 +11661,7 @@ smtp_tls_eccert_file = /etc/postfix/ecdsa-ccert.pem
 </pre>
 
 <p> This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 %PARAM smtp_tls_eckey_file $smtp_tls_eccert_file
 
@@ -11660,7 +11675,7 @@ access to the system superuser account ("root"), and no access
 to anyone else. </p>
 
 <p> This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 %PARAM lmtp_tls_eccert_file
 
@@ -11668,7 +11683,7 @@ compiled and linked with OpenSSL 0.9.9 or later. </p>
 parameter.  See there for details. </p>
 
 <p> This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 %PARAM lmtp_tls_eckey_file
 
@@ -11676,7 +11691,7 @@ compiled and linked with OpenSSL 0.9.9 or later. </p>
 parameter.  See there for details. </p>
 
 <p> This feature is available in Postfix 2.6 and later, when Postfix is
-compiled and linked with OpenSSL 0.9.9 or later. </p>
+compiled and linked with OpenSSL 1.0.0 or later. </p>
 
 %PARAM smtp_header_checks
 
index e95fa67c08c5ef0322dfbe7fc63d0731290e93b5..63dc6cb7e9ee8b30d08d645ee3f5ac2441b514ee 100644 (file)
@@ -22,6 +22,9 @@
 #ifdef RESOLVE_H_NEEDS_NAMESER8_COMPAT_H
 #include <nameser8_compat.h>
 #endif
+#ifdef RESOLVE_H_NEEDS_NAMESER_COMPAT_H
+#include <nameser_compat.h>
+#endif
 #include <resolv.h>
 
  /*
index 935f194abd81e179238059ba1204adbb9b1f5ef5..db91011f0ac2609c1b8976e5f54213d8bc3056cc 100644 (file)
@@ -1082,12 +1082,21 @@ static const char *dict_ldap_lookup(DICT *dict, const char *name)
     static VSTRING *result;
     int     rc = 0;
     int     sizelimit;
+    const char *cp;
 
     dict_errno = 0;
 
     if (msg_verbose)
        msg_info("%s: In dict_ldap_lookup", myname);
 
+    for (cp = name; *cp; ++cp)
+       if (!ISASCII(*cp)) {
+           if (msg_verbose)
+               msg_info("%s: %s: Skipping lookup of non-ASCII key '%s'",
+                        myname, dict_ldap->parser->name, name);
+           return (0);
+       }
+
     /*
      * Optionally fold the key.
      */
@@ -1105,7 +1114,8 @@ static const char *dict_ldap_lookup(DICT *dict, const char *name)
      */
     if (db_common_check_domain(dict_ldap->ctx, name) == 0) {
        if (msg_verbose)
-           msg_info("%s: Skipping lookup of '%s'", myname, name);
+           msg_info("%s: %s: Skipping lookup of key '%s': domain mismatch",
+                    myname, dict_ldap->parser->name, name);
        return (0);
     }
 #define INIT_VSTR(buf, len) do { \
index 6952706dc98b04149ff3eb10be19c9fea5d2db99..fb94364e3a5e297a1b5ba37dac77c7da751ebedb 100644 (file)
@@ -2919,20 +2919,31 @@ extern bool var_smtp_cname_overr;
  /*
   * TLS cipherlists
   */
+#ifdef USE_TLS
+#include <openssl/opensslv.h>
+#if OPENSSL_VERSION_NUMBER >= 0x1000000fL
+#define PREFER_aNULL "aNULL:"
+#else
+#define PREFER_aNULL ""
+#endif
+#else
+#define PREFER_aNULL ""
+#endif
+
 #define VAR_TLS_HIGH_CLIST     "tls_high_cipherlist"
-#define DEF_TLS_HIGH_CLIST     "ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH"
+#define DEF_TLS_HIGH_CLIST     PREFER_aNULL "ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH"
 extern char *var_tls_high_clist;
 
 #define VAR_TLS_MEDIUM_CLIST   "tls_medium_cipherlist"
-#define DEF_TLS_MEDIUM_CLIST   "ALL:!EXPORT:!LOW:+RC4:@STRENGTH"
+#define DEF_TLS_MEDIUM_CLIST   PREFER_aNULL "ALL:!EXPORT:!LOW:+RC4:@STRENGTH"
 extern char *var_tls_medium_clist;
 
 #define VAR_TLS_LOW_CLIST      "tls_low_cipherlist"
-#define DEF_TLS_LOW_CLIST      "ALL:!EXPORT:+RC4:@STRENGTH"
+#define DEF_TLS_LOW_CLIST      PREFER_aNULL "ALL:!EXPORT:+RC4:@STRENGTH"
 extern char *var_tls_low_clist;
 
 #define VAR_TLS_EXPORT_CLIST   "tls_export_cipherlist"
-#define DEF_TLS_EXPORT_CLIST   "ALL:+RC4:@STRENGTH"
+#define DEF_TLS_EXPORT_CLIST   PREFER_aNULL "ALL:+RC4:@STRENGTH"
 extern char *var_tls_export_clist;
 
 #define VAR_TLS_NULL_CLIST     "tls_null_cipherlist"
index 5f8b6c4d94bc2bbde01dc88c07f2cf8bbf80cd7c..883b88eb8f689cf06f095babd20667f65b9e750d 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      "20100213"
-#define MAIL_VERSION_NUMBER    "2.7.0"
+#define MAIL_RELEASE_DATE      "20100601"
+#define MAIL_VERSION_NUMBER    "2.7.1-RC1"
 
 #ifdef SNAPSHOT
 # define MAIL_VERSION_DATE     "-" MAIL_RELEASE_DATE
index 5ec67324883282628a804dd15879c2df9087a186..ee38b0f238acf055eb91d16652f14fa5f1e75b03 100644 (file)
@@ -901,7 +901,7 @@ int     main(int argc, char **argv)
                msg_warn("no milters");
                continue;
            }
-           resp = milter_rcpt_event(milters, (const char **) args);
+           resp = milter_rcpt_event(milters, 0, (const char **) args);
        } else if (strcmp(cmd, "unknown") == 0 && argv->argc > 0) {
            if (milters == 0) {
                msg_warn("no milters");
index e9586c844a2272fc2277f858074a290c1288e25c..20e0204924807c26c83c4ccc05c76b3dbd1bf27f 100644 (file)
@@ -1204,21 +1204,39 @@ static int smtp_loop(SMTP_STATE *state, NOCLOBBER int send_state,
             * Build the XFORWARD command. With properly sanitized
             * information, the command length stays within the 512 byte
             * command line length limit.
+            * 
+            * XXX smtpd_xforward_preset() initializes some fields as "unknown"
+            * and some as null; historically, pickup(8) does not send any of
+            * these, and the queue manager presets absent fields to "not
+            * available" except for the rewrite context which is preset to
+            * local by way of migration aid.  These definitions need to be
+            * centralized for maintainability.
             */
+#ifndef CAN_FORWARD_CLIENT_NAME
+#define _ATTR_AVAIL_AND_KNOWN_(val) \
+       (DEL_REQ_ATTR_AVAIL(val) && strcasecmp((val), "unknown"))
+#define CAN_FORWARD_CLIENT_NAME        _ATTR_AVAIL_AND_KNOWN_
+#define CAN_FORWARD_CLIENT_ADDR        _ATTR_AVAIL_AND_KNOWN_
+#define CAN_FORWARD_CLIENT_PORT        _ATTR_AVAIL_AND_KNOWN_
+#define CAN_FORWARD_PROTO_NAME _ATTR_AVAIL_AND_KNOWN_
+#define CAN_FORWARD_HELO_NAME  DEL_REQ_ATTR_AVAIL
+#define CAN_FORWARD_RWR_CONTEXT        DEL_REQ_ATTR_AVAIL
+#endif
+
        case SMTP_STATE_XFORWARD_NAME_ADDR:
            vstring_strcpy(next_command, XFORWARD_CMD);
            if ((session->features & SMTP_FEATURE_XFORWARD_NAME)
-               && DEL_REQ_ATTR_AVAIL(request->client_name)) {
+               && CAN_FORWARD_CLIENT_NAME(request->client_name)) {
                vstring_strcat(next_command, " " XFORWARD_NAME "=");
                xtext_quote_append(next_command, request->client_name, "");
            }
            if ((session->features & SMTP_FEATURE_XFORWARD_ADDR)
-               && DEL_REQ_ATTR_AVAIL(request->client_addr)) {
+               && CAN_FORWARD_CLIENT_ADDR(request->client_addr)) {
                vstring_strcat(next_command, " " XFORWARD_ADDR "=");
                xtext_quote_append(next_command, request->client_addr, "");
            }
            if ((session->features & SMTP_FEATURE_XFORWARD_PORT)
-               && DEL_REQ_ATTR_AVAIL(request->client_port)) {
+               && CAN_FORWARD_CLIENT_PORT(request->client_port)) {
                vstring_strcat(next_command, " " XFORWARD_PORT "=");
                xtext_quote_append(next_command, request->client_port, "");
            }
@@ -1231,17 +1249,17 @@ static int smtp_loop(SMTP_STATE *state, NOCLOBBER int send_state,
        case SMTP_STATE_XFORWARD_PROTO_HELO:
            vstring_strcpy(next_command, XFORWARD_CMD);
            if ((session->features & SMTP_FEATURE_XFORWARD_PROTO)
-               && DEL_REQ_ATTR_AVAIL(request->client_proto)) {
+               && CAN_FORWARD_PROTO_NAME(request->client_proto)) {
                vstring_strcat(next_command, " " XFORWARD_PROTO "=");
                xtext_quote_append(next_command, request->client_proto, "");
            }
            if ((session->features & SMTP_FEATURE_XFORWARD_HELO)
-               && DEL_REQ_ATTR_AVAIL(request->client_helo)) {
+               && CAN_FORWARD_HELO_NAME(request->client_helo)) {
                vstring_strcat(next_command, " " XFORWARD_HELO "=");
                xtext_quote_append(next_command, request->client_helo, "");
            }
            if ((session->features & SMTP_FEATURE_XFORWARD_DOMAIN)
-               && DEL_REQ_ATTR_AVAIL(request->rewrite_context)) {
+               && CAN_FORWARD_RWR_CONTEXT(request->rewrite_context)) {
                vstring_strcat(next_command, " " XFORWARD_DOMAIN "=");
                xtext_quote_append(next_command,
                     strcmp(request->rewrite_context, MAIL_ATTR_RWR_LOCAL) ?
@@ -1979,19 +1997,19 @@ int     smtp_xfer(SMTP_STATE *state)
     send_name_addr =
        var_smtp_send_xforward
        && (((session->features & SMTP_FEATURE_XFORWARD_NAME)
-            && DEL_REQ_ATTR_AVAIL(request->client_name))
+            && CAN_FORWARD_CLIENT_NAME(request->client_name))
            || ((session->features & SMTP_FEATURE_XFORWARD_ADDR)
-               && DEL_REQ_ATTR_AVAIL(request->client_addr))
+               && CAN_FORWARD_CLIENT_ADDR(request->client_addr))
            || ((session->features & SMTP_FEATURE_XFORWARD_PORT)
-               && DEL_REQ_ATTR_AVAIL(request->client_port)));
+               && CAN_FORWARD_CLIENT_PORT(request->client_port)));
     session->send_proto_helo =
        var_smtp_send_xforward
        && (((session->features & SMTP_FEATURE_XFORWARD_PROTO)
-            && DEL_REQ_ATTR_AVAIL(request->client_proto))
+            && CAN_FORWARD_PROTO_NAME(request->client_proto))
            || ((session->features & SMTP_FEATURE_XFORWARD_HELO)
-               && DEL_REQ_ATTR_AVAIL(request->client_helo))
+               && CAN_FORWARD_HELO_NAME(request->client_helo))
            || ((session->features & SMTP_FEATURE_XFORWARD_DOMAIN)
-               && DEL_REQ_ATTR_AVAIL(request->rewrite_context)));
+               && CAN_FORWARD_RWR_CONTEXT(request->rewrite_context)));
     if (send_name_addr)
        recv_state = send_state = SMTP_STATE_XFORWARD_NAME_ADDR;
     else if (session->send_proto_helo)
index caf9af44ad18e730886c12bfec9fbcd95664e6c9..913b67e237b0de7d5229385e89f3b7c2c8b73f43 100644 (file)
@@ -158,7 +158,7 @@ int     tls_set_my_certificate_key_info(SSL_CTX *ctx,
        return (-1);                    /* logged */
     if (*dcert_file && !set_cert_stuff(ctx, "DSA", dcert_file, dkey_file))
        return (-1);                            /* logged */
-#if OPENSSL_VERSION_NUMBER >= 0x00909000 && !defined(OPENSSL_NO_ECDH)
+#if OPENSSL_VERSION_NUMBER >= 0x1000000fL && !defined(OPENSSL_NO_ECDH)
     if (*eccert_file && !set_cert_stuff(ctx, "ECDSA", eccert_file, eckey_file))
        return (-1);                            /* logged */
 #else
index 455561e1204e81a3b26369eacfcfdb9c096d50a3..7fd32d47843267d045bf48d98b2dff95a240a7e7 100644 (file)
@@ -725,7 +725,7 @@ TLS_SESS_STATE *tls_client_start(const TLS_CLIENT_START_PROPS *props)
     int     protomask;
     const char *cipher_list;
     SSL_SESSION *session;
-    SSL_CIPHER *cipher;
+    const SSL_CIPHER *cipher;
     X509   *peercert;
     TLS_SESS_STATE *TLScontext;
     TLS_APPL_STATE *app_ctx = props->ctx;
index bc5db4f0df1e556af870ca14d9a184dbf441123d..da17be73a229aa2aebfc9759ef4685d0e158ce8e 100644 (file)
@@ -205,7 +205,7 @@ DH     *tls_tmp_dh_cb(SSL *unused_ssl, int export, int keylength)
 
 int     tls_set_eecdh_curve(SSL_CTX *server_ctx, const char *grade)
 {
-#if OPENSSL_VERSION_NUMBER >= 0x00909000 && !defined(OPENSSL_NO_ECDH)
+#if OPENSSL_VERSION_NUMBER >= 0x1000000fL && !defined(OPENSSL_NO_ECDH)
     int     nid;
     EC_KEY *ecdh;
     const char *curve;
index 26ea2afe44d28268e2472ee11622a40197d5886c..9ed6d20edec8f9ccce292a1f700a562447aaa374 100644 (file)
@@ -554,7 +554,7 @@ TLS_SESS_STATE *tls_server_start(const TLS_SERVER_START_PROPS *props)
 {
     int     sts;
     TLS_SESS_STATE *TLScontext;
-    SSL_CIPHER *cipher;
+    const SSL_CIPHER *cipher;
     X509   *peer;
     char    buf[CCERT_BUFSIZ];
     const char *cipher_list;
index e4b301d105f1013aa84e3abe0b2cec2fa6a5d9a3..9e82f9b81725f2da18c3ab1cb9491adbaf12c7e1 100644 (file)
@@ -675,7 +675,7 @@ static DICT *dict_db_open(const char *class, const char *path, int open_flags,
        msg_fatal("set DB cache size %d: %m", dict_db_cache_size);
     if (type == DB_HASH && db->set_h_nelem(db, DICT_DB_NELM) != 0)
        msg_fatal("set DB hash element count %d: %m", DICT_DB_NELM);
-#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0)
+#if DB_VERSION_MAJOR == 5 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0)
     if ((errno = db->open(db, 0, db_path, 0, type, db_flags, 0644)) != 0)
        msg_fatal("open database %s: %m", db_path);
 #elif (DB_VERSION_MAJOR == 3 || DB_VERSION_MAJOR == 4)
index 8bb6dc5a86ba146e49eae240b0d118d9a1b8a5f0..7832e95eacdcd04c89ce63d97bf3a793ffdd570a 100644 (file)
@@ -116,6 +116,11 @@ static ARGV *match_list_parse(ARGV *list, char *string, int init_match)
      * prepend the negation operator to each item from the file.
      */
     while ((start = mystrtok(&bp, delim)) != 0) {
+       if (*start == '#') {
+           msg_warn("%s: comment at end of line is not supported: %s %s",
+                     myname, start, bp);
+           break;
+       }
        for (match = init_match, item = start; *item == '!'; item++)
            match = !match;
        if (*item == 0)
index 026901cb6eb48582d3f5bb5cf71f3fb5abfe4895..cc3e290731be06343b38f2152db8f954e0b65076 100644 (file)
 #define DEF_DB_TYPE    "hash"
 #define ALIAS_DB_MAP   "hash:/etc/aliases"
 #define GETTIMEOFDAY(t) gettimeofday(t,(struct timezone *) 0)
-#define RESOLVE_H_NEEDS_NAMESER8_COMPAT_H
 #define ROOT_PATH      "/bin:/usr/bin:/sbin:/usr/sbin"
 #define USE_STATFS
 #define STATFS_IN_SYS_MOUNT_H