Prereq: "2.4.3" diff -cr --new-file /var/tmp/postfix-2.4.3/src/global/mail_version.h ./src/global/mail_version.h *** /var/tmp/postfix-2.4.3/src/global/mail_version.h Thu May 31 14:20:10 2007 --- ./src/global/mail_version.h Tue Jul 31 12:46:23 2007 *************** *** 20,27 **** * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ ! #define MAIL_RELEASE_DATE "20070531" ! #define MAIL_VERSION_NUMBER "2.4.3" #ifdef SNAPSHOT # define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE --- 20,27 ---- * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ ! #define MAIL_RELEASE_DATE "20070731" ! #define MAIL_VERSION_NUMBER "2.4.4" #ifdef SNAPSHOT # define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE diff -cr --new-file /var/tmp/postfix-2.4.3/HISTORY ./HISTORY *** /var/tmp/postfix-2.4.3/HISTORY Thu May 31 11:19:10 2007 --- ./HISTORY Tue Jul 31 10:20:34 2007 *************** *** 13481,13483 **** --- 13481,13536 ---- Portability: Victor helpfully pointed out that change 20070425 broke on non-IPv6 systems. Files: smtpd/smtpd_peer.c, qmqpd/qmqpd_peer.c. + + 20070613 + + Bugfix: the Milter client assumed that a Milter application + does not modify the message header or envelope, after that + same Milter application has modified the message body of + that same email message. This is not a problem with updates + by different Milter applications. Problem was triggered + by Jose-Marcio Martins da Cruz. Also simplified the handling + of queue file update errors. File: milter/milter8.c. + + 20070614 + + Workaround: some non-Cyrus SASL SMTP servers require SASL + login without authzid (authoriZation ID), i.e. the client + must send only the authcid (authentiCation ID) + the authcid's + password. In this case the server is supposed to derive + the authzid from the authcid. This works as expected when + authenticating to a Cyrus SASL SMTP server. To get the old + behavior specify "send_cyrus_sasl_authzid = yes", in which + case Postfix sends the (authzid, authcid, password), with + the authzid equal to the authcid. File: xsasl/xsasl_cyrus_client.c. + + 20070619 + + Portability: /dev/poll support for Solaris chroot jail setup + scripts. Files: examples/chroot-setup/Solaris8, + examples/chroot-setup/Solaris10. + + 20070719 + + Cleanup: Milter client error handling, so that the (Postfix + SMTP server's Milter client) does not get out of sync with + Milter applications after the (cleanup server's Milter + client) encounters some non-recoverable problem. Files: + milter/milter8.c, smtpd/smtpd.c. + + 20070729 + + Performance: workaround for poor TCP performance on loopback + (127.0.0.1) connections. Problem reported by Mark Martinec. + Files: util/vstream_tweak.c, milter/milter8.c, smtp/smtp_connect.c, + smtpstone/*source.c. + + 20070730 + + Bugfix: when a milter replied with ACCEPT at or before the + first RCPT command, the cleanup server would apply the + non_smtpd_milters setting as if the message was a local + submission. Problem reported by Jukka Salmi. Also, the + cleanup server would get out of sync with the milter when + a milter replied with ACCEPT at the DATA command. Files: + cleanup/cleanup_envelope.c, smtpd/smtpd.c, milter/milters.c. diff -cr --new-file /var/tmp/postfix-2.4.3/README_FILES/RELEASE_NOTES ./README_FILES/RELEASE_NOTES *** /var/tmp/postfix-2.4.3/README_FILES/RELEASE_NOTES Wed Mar 28 14:18:39 2007 --- ./README_FILES/RELEASE_NOTES Fri Jul 20 11:27:38 2007 *************** *** 11,16 **** --- 11,30 ---- The mail_release_date configuration parameter (format: yyyymmdd) specifies the release date of a stable release or snapshot release. + Incompatibility with Postfix 2.4.4 + ================================== + + By default, the Postfix Cyrus SASL client no longer sends a SASL + authoriZation ID (authzid); it sends only the SASL authentiCation + ID (authcid) plus the authcid's password. Specify "send_cyrus_sasl_authzid + = yes" to get the old behavior, which is to send the (authzid, + authcid, password), with the authzid equal to the authcid. This + workaround for non-Cyrus SASL servers is back-ported from Postfix + 2.5. + + Release notes for Postfix 2.4.0 + =============================== + Major changes - critical ------------------------ diff -cr --new-file /var/tmp/postfix-2.4.3/README_FILES/SASL_README ./README_FILES/SASL_README *** /var/tmp/postfix-2.4.3/README_FILES/SASL_README Tue Mar 13 19:53:54 2007 --- ./README_FILES/SASL_README Tue Jul 10 13:36:34 2007 *************** *** 356,375 **** 250-ETRN 250-AUTH DIGEST-MD5 PLAIN CRAM-MD5 250 8BITMIME ! AAUUTTHH PPLLAAIINN ddGGVVzzddAABB00ZZXXNN00AAHHRRllcc33RRwwYYXXNNzz 235 Authentication successful ! Instead of dGVzdAB0ZXN0AHRlc3RwYXNz, specify the base64 encoded form of ! username\0username\0password (the \0 is a null byte). The example above is for ! a user named `test' with password `testpass'. In order to generate base64 encoded authentication information you can use one of the following commands: ! % printf 'username\0username\0password' | mmencode % perl -MMIME::Base64 -e \ ! 'print encode_base64("username\0username\0password");' The mmencode command is part of the metamail software. MIME::Base64 is available from http://www.cpan.org/. --- 356,375 ---- 250-ETRN 250-AUTH DIGEST-MD5 PLAIN CRAM-MD5 250 8BITMIME ! AAUUTTHH PPLLAAIINN AAHHRRllcc33QQAAddGGVVzzddHHBBhhcc33MM== 235 Authentication successful ! Instead of AHRlc3QAdGVzdHBhc3M=, specify the base64 encoded form of ! \0username\0password (the \0 is a null byte). The example above is for a user ! named `test' with password `testpass'. In order to generate base64 encoded authentication information you can use one of the following commands: ! % printf '\0username\0password' | mmencode % perl -MMIME::Base64 -e \ ! 'print encode_base64("\0username\0password");' The mmencode command is part of the metamail software. MIME::Base64 is available from http://www.cpan.org/. diff -cr --new-file /var/tmp/postfix-2.4.3/RELEASE_NOTES ./RELEASE_NOTES *** /var/tmp/postfix-2.4.3/RELEASE_NOTES Wed Mar 28 14:18:39 2007 --- ./RELEASE_NOTES Fri Jul 20 11:27:38 2007 *************** *** 11,16 **** --- 11,30 ---- The mail_release_date configuration parameter (format: yyyymmdd) specifies the release date of a stable release or snapshot release. + Incompatibility with Postfix 2.4.4 + ================================== + + By default, the Postfix Cyrus SASL client no longer sends a SASL + authoriZation ID (authzid); it sends only the SASL authentiCation + ID (authcid) plus the authcid's password. Specify "send_cyrus_sasl_authzid + = yes" to get the old behavior, which is to send the (authzid, + authcid, password), with the authzid equal to the authcid. This + workaround for non-Cyrus SASL servers is back-ported from Postfix + 2.5. + + Release notes for Postfix 2.4.0 + =============================== + Major changes - critical ------------------------ diff -cr --new-file /var/tmp/postfix-2.4.3/examples/chroot-setup/Solaris10 ./examples/chroot-setup/Solaris10 *** /var/tmp/postfix-2.4.3/examples/chroot-setup/Solaris10 Sun Dec 12 10:34:18 2004 --- ./examples/chroot-setup/Solaris10 Tue Jun 19 06:19:55 2007 *************** *** 61,66 **** --- 61,67 ---- /dev/tcp6 /dev/udp /dev/tcp + /dev/poll /dev/rawip /dev/ticlts /dev/ticotsord *************** *** 71,76 **** --- 72,78 ---- /devices/pseudo/tcp6@0:tcp6 /devices/pseudo/udp@0:udp /devices/pseudo/tcp@0:tcp + /devices/pseudo/poll@0:poll /devices/pseudo/icmp@0:icmp /devices/pseudo/tl@0:ticlts /devices/pseudo/tl@0:ticotsord diff -cr --new-file /var/tmp/postfix-2.4.3/examples/chroot-setup/Solaris8 ./examples/chroot-setup/Solaris8 *** /var/tmp/postfix-2.4.3/examples/chroot-setup/Solaris8 Fri May 20 04:49:37 2005 --- ./examples/chroot-setup/Solaris8 Tue Jun 19 06:19:55 2007 *************** *** 61,66 **** --- 61,67 ---- /dev/tcp6 /dev/udp /dev/tcp + /dev/poll /dev/rawip /dev/ticlts /dev/ticotsord *************** *** 71,76 **** --- 72,78 ---- /devices/pseudo/tcp6@0:tcp6 /devices/pseudo/udp@0:udp /devices/pseudo/tcp@0:tcp + /devices/pseudo/poll@0:poll /devices/pseudo/icmp@0:icmp /devices/pseudo/tl@0:ticlts /devices/pseudo/tl@0:ticotsord diff -cr --new-file /var/tmp/postfix-2.4.3/html/SASL_README.html ./html/SASL_README.html *** /var/tmp/postfix-2.4.3/html/SASL_README.html Tue Mar 13 19:53:54 2007 --- ./html/SASL_README.html Tue Jul 10 13:36:32 2007 *************** *** 537,549 **** 250-ETRN 250-AUTH DIGEST-MD5 PLAIN CRAM-MD5 250 8BITMIME ! AUTH PLAIN dGVzdAB0ZXN0AHRlc3RwYXNz 235 Authentication successful !
Instead of dGVzdAB0ZXN0AHRlc3RwYXNz, specify the base64 encoded ! form of username\0username\0password (the \0 is a null byte). The example above is for a user named `test' with password `testpass'.
--- 537,549 ---- 250-ETRN 250-AUTH DIGEST-MD5 PLAIN CRAM-MD5 250 8BITMIME ! AUTH PLAIN AHRlc3QAdGVzdHBhc3M= 235 Authentication successful !Instead of AHRlc3QAdGVzdHBhc3M=, specify the base64 encoded ! form of \0username\0password (the \0 is a null byte). The example above is for a user named `test' with password `testpass'.
*************** *** 552,565 ****! % printf 'username\0username\0password' | mmencode
% perl -MMIME::Base64 -e \
! 'print encode_base64("username\0username\0password");'
--- 552,565 ----
! % printf '\0username\0password' | mmencode
% perl -MMIME::Base64 -e \
! 'print encode_base64("\0username\0password");'
diff -cr --new-file /var/tmp/postfix-2.4.3/html/lmtp.8.html ./html/lmtp.8.html
*** /var/tmp/postfix-2.4.3/html/lmtp.8.html Sun Mar 25 18:46:38 2007
--- ./html/lmtp.8.html Fri Jul 20 11:25:24 2007
***************
*** 253,263 ****
will ignore in the LHLO response from a remote LMTP
server.
MIME PROCESSING CONTROLS
Available in Postfix version 2.0 and later:
disable_mime_output_conversion (no)
! Disable the conversion of 8BITMIME format to 7BIT
format.
mime_boundary_length_limit (2048)
--- 253,271 ----
will ignore in the LHLO response from a remote LMTP
server.
+ Available in Postfix version 2.4.4 and later:
+
+ send_cyrus_sasl_authzid (no)
+ When authenticating to a remote SMTP or LMTP server
+ with the default setting "no", send no SASL autho-
+ riZation ID (authzid); send only the SASL authenti-
+ Cation ID (authcid) plus the authcid's password.
+
MIME PROCESSING CONTROLS
Available in Postfix version 2.0 and later:
disable_mime_output_conversion (no)
! Disable the conversion of 8BITMIME format to 7BIT
format.
mime_boundary_length_limit (2048)
***************
*** 272,361 ****
Available in Postfix version 2.1 and later:
smtp_send_xforward_command (no)
! Send the non-standard XFORWARD command when the
! Postfix SMTP server EHLO response announces XFOR-
WARD support.
SASL AUTHENTICATION CONTROLS
smtp_sasl_auth_enable (no)
! Enable SASL authentication in the Postfix SMTP
client.
smtp_sasl_password_maps (empty)
! Optional SMTP client lookup tables with one user-
! name:password entry per remote hostname or domain,
or sender address when sender-dependent authentica-
tion is enabled.
smtp_sasl_security_options (noplaintext, noanonymous)
! SASL security options; as of Postfix 2.3 the list
! of available features depends on the SASL client
! implementation that is selected with
smtp_sasl_type.
Available in Postfix version 2.2 and later:
smtp_sasl_mechanism_filter (empty)
! If non-empty, a Postfix SMTP client filter for the
! remote SMTP server's list of offered SASL mecha-
nisms.
Available in Postfix version 2.3 and later:
smtp_sender_dependent_authentication (no)
Enable sender-dependent authentication in the Post-
! fix SMTP client; this is available only with SASL
! authentication, and disables SMTP connection
! caching to ensure that mail from different senders
will use the appropriate credentials.
smtp_sasl_path (empty)
! Implementation-specific information that is passed
! through to the SASL plug-in implementation that is
selected with smtp_sasl_type.
smtp_sasl_type (cyrus)
! The SASL plug-in type that the Postfix SMTP client
should use for authentication.
STARTTLS SUPPORT CONTROLS
! Detailed information about STARTTLS configuration may be
found in the TLS_README document.
smtp_tls_security_level (empty)
The default SMTP TLS security level for the Postfix
! SMTP client; when a non-empty value is specified,
! this overrides the obsolete parameters
smtp_use_tls, smtp_enforce_tls, and
smtp_tls_enforce_peername.
smtp_sasl_tls_security_options ($smtp_sasl_secu-
rity_options)
! The SASL authentication security options that the
! Postfix SMTP client uses for TLS encrypted SMTP
sessions.
smtp_starttls_timeout (300s)
! Time limit for Postfix SMTP client write and read
! operations during TLS startup and shutdown hand-
shake procedures.
smtp_tls_CAfile (empty)
! The file with the certificate of the certification
! authority (CA) that issued the Postfix SMTP client
certificate.
smtp_tls_CApath (empty)
! Directory with PEM format certificate authority
! certificates that the Postfix SMTP client uses to
verify a remote SMTP server certificate.
smtp_tls_cert_file (empty)
! File with the Postfix SMTP client RSA certificate
in PEM format.
smtp_tls_mandatory_ciphers (medium)
! The minimum TLS cipher grade that the Postfix SMTP
client will use with mandatory TLS encryption.
smtp_tls_exclude_ciphers (empty)
--- 280,369 ----
Available in Postfix version 2.1 and later:
smtp_send_xforward_command (no)
! Send the non-standard XFORWARD command when the
! Postfix SMTP server EHLO response announces XFOR-
WARD support.
SASL AUTHENTICATION CONTROLS
smtp_sasl_auth_enable (no)
! Enable SASL authentication in the Postfix SMTP
client.
smtp_sasl_password_maps (empty)
! Optional SMTP client lookup tables with one user-
! name:password entry per remote hostname or domain,
or sender address when sender-dependent authentica-
tion is enabled.
smtp_sasl_security_options (noplaintext, noanonymous)
! SASL security options; as of Postfix 2.3 the list
! of available features depends on the SASL client
! implementation that is selected with
smtp_sasl_type.
Available in Postfix version 2.2 and later:
smtp_sasl_mechanism_filter (empty)
! If non-empty, a Postfix SMTP client filter for the
! remote SMTP server's list of offered SASL mecha-
nisms.
Available in Postfix version 2.3 and later:
smtp_sender_dependent_authentication (no)
Enable sender-dependent authentication in the Post-
! fix SMTP client; this is available only with SASL
! authentication, and disables SMTP connection
! caching to ensure that mail from different senders
will use the appropriate credentials.
smtp_sasl_path (empty)
! Implementation-specific information that is passed
! through to the SASL plug-in implementation that is
selected with smtp_sasl_type.
smtp_sasl_type (cyrus)
! The SASL plug-in type that the Postfix SMTP client
should use for authentication.
STARTTLS SUPPORT CONTROLS
! Detailed information about STARTTLS configuration may be
found in the TLS_README document.
smtp_tls_security_level (empty)
The default SMTP TLS security level for the Postfix
! SMTP client; when a non-empty value is specified,
! this overrides the obsolete parameters
smtp_use_tls, smtp_enforce_tls, and
smtp_tls_enforce_peername.
smtp_sasl_tls_security_options ($smtp_sasl_secu-
rity_options)
! The SASL authentication security options that the
! Postfix SMTP client uses for TLS encrypted SMTP
sessions.
smtp_starttls_timeout (300s)
! Time limit for Postfix SMTP client write and read
! operations during TLS startup and shutdown hand-
shake procedures.
smtp_tls_CAfile (empty)
! The file with the certificate of the certification
! authority (CA) that issued the Postfix SMTP client
certificate.
smtp_tls_CApath (empty)
! Directory with PEM format certificate authority
! certificates that the Postfix SMTP client uses to
verify a remote SMTP server certificate.
smtp_tls_cert_file (empty)
! File with the Postfix SMTP client RSA certificate
in PEM format.
smtp_tls_mandatory_ciphers (medium)
! The minimum TLS cipher grade that the Postfix SMTP
client will use with mandatory TLS encryption.
smtp_tls_exclude_ciphers (empty)
***************
*** 364,406 ****
levels.
smtp_tls_mandatory_exclude_ciphers (empty)
! Additional list of ciphers or cipher types to
! exclude from the SMTP client cipher list at manda-
tory TLS security levels.
smtp_tls_dcert_file (empty)
! File with the Postfix SMTP client DSA certificate
in PEM format.
smtp_tls_dkey_file ($smtp_tls_dcert_file)
! File with the Postfix SMTP client DSA private key
in PEM format.
smtp_tls_key_file ($smtp_tls_cert_file)
! File with the Postfix SMTP client RSA private key
in PEM format.
smtp_tls_loglevel (0)
! Enable additional Postfix SMTP client logging of
TLS activity.
smtp_tls_note_starttls_offer (no)
! Log the hostname of a remote SMTP server that
! offers STARTTLS, when TLS is not already enabled
for that server.
smtp_tls_policy_maps (empty)
Optional lookup tables with the Postfix SMTP client
TLS security policy by next-hop destination; when a
! non-empty value is specified, this overrides the
obsolete smtp_tls_per_site parameter.
smtp_tls_mandatory_protocols (SSLv3, TLSv1)
! List of TLS protocols that the Postfix SMTP client
will use with mandatory TLS encryption.
smtp_tls_scert_verifydepth (5)
! The verification depth for remote SMTP server cer-
tificates.
smtp_tls_secure_cert_match (nexthop, dot-nexthop)
--- 372,414 ----
levels.
smtp_tls_mandatory_exclude_ciphers (empty)
! Additional list of ciphers or cipher types to
! exclude from the SMTP client cipher list at manda-
tory TLS security levels.
smtp_tls_dcert_file (empty)
! File with the Postfix SMTP client DSA certificate
in PEM format.
smtp_tls_dkey_file ($smtp_tls_dcert_file)
! File with the Postfix SMTP client DSA private key
in PEM format.
smtp_tls_key_file ($smtp_tls_cert_file)
! File with the Postfix SMTP client RSA private key
in PEM format.
smtp_tls_loglevel (0)
! Enable additional Postfix SMTP client logging of
TLS activity.
smtp_tls_note_starttls_offer (no)
! Log the hostname of a remote SMTP server that
! offers STARTTLS, when TLS is not already enabled
for that server.
smtp_tls_policy_maps (empty)
Optional lookup tables with the Postfix SMTP client
TLS security policy by next-hop destination; when a
! non-empty value is specified, this overrides the
obsolete smtp_tls_per_site parameter.
smtp_tls_mandatory_protocols (SSLv3, TLSv1)
! List of TLS protocols that the Postfix SMTP client
will use with mandatory TLS encryption.
smtp_tls_scert_verifydepth (5)
! The verification depth for remote SMTP server cer-
tificates.
smtp_tls_secure_cert_match (nexthop, dot-nexthop)
***************
*** 408,414 ****
for the "secure" TLS security level.
smtp_tls_session_cache_database (empty)
! Name of the file containing the optional Postfix
SMTP client TLS session cache.
smtp_tls_session_cache_timeout (3600s)
--- 416,422 ----
for the "secure" TLS security level.
smtp_tls_session_cache_database (empty)
! Name of the file containing the optional Postfix
SMTP client TLS session cache.
smtp_tls_session_cache_timeout (3600s)
***************
*** 420,428 ****
for the "verify" TLS security level.
tls_daemon_random_bytes (32)
! The number of pseudo-random bytes that an smtp(8)
! or smtpd(8) process requests from the tlsmgr(8)
! server in order to seed its internal pseudo random
number generator (PRNG).
tls_high_cipherlist
--- 428,436 ----
for the "verify" TLS security level.
tls_daemon_random_bytes (32)
! The number of pseudo-random bytes that an smtp(8)
! or smtpd(8) process requests from the tlsmgr(8)
! server in order to seed its internal pseudo random
number generator (PRNG).
tls_high_cipherlist
***************
*** 434,440 ****
ciphers.
tls_low_cipherlist (ALL:!EXPORT:+RC4:@STRENGTH)
! The OpenSSL cipherlist for "LOW" or higher grade
ciphers.
tls_export_cipherlist (ALL:+RC4:@STRENGTH)
--- 442,448 ----
ciphers.
tls_low_cipherlist (ALL:!EXPORT:+RC4:@STRENGTH)
! The OpenSSL cipherlist for "LOW" or higher grade
ciphers.
tls_export_cipherlist (ALL:+RC4:@STRENGTH)
***************
*** 442,481 ****
ciphers.
tls_null_cipherlist (eNULL:!aNULL)
! The OpenSSL cipherlist for "NULL" grade ciphers
that provide authentication without encryption.
Available in Postfix version 2.4 and later:
smtp_sasl_tls_verified_security_options
($smtp_sasl_tls_security_options)
! The SASL authentication security options that the
! Postfix SMTP client uses for TLS encrypted SMTP
sessions with a verified server certificate.
OBSOLETE STARTTLS CONTROLS
! The following configuration parameters exist for compati-
bility with Postfix versions before 2.3. Support for these
will be removed in a future release.
smtp_use_tls (no)
! Opportunistic mode: use TLS when a remote SMTP
! server announces STARTTLS support, otherwise send
the mail in the clear.
smtp_enforce_tls (no)
! Enforcement mode: require that remote SMTP servers
! use TLS encryption, and never send mail in the
clear.
smtp_tls_enforce_peername (yes)
! With mandatory TLS encryption, require that the
remote SMTP server hostname matches the information
in the remote SMTP server certificate.
smtp_tls_per_site (empty)
Optional lookup tables with the Postfix SMTP client
! TLS usage policy by next-hop destination and by
remote SMTP server hostname.
smtp_tls_cipherlist (empty)
--- 450,489 ----
ciphers.
tls_null_cipherlist (eNULL:!aNULL)
! The OpenSSL cipherlist for "NULL" grade ciphers
that provide authentication without encryption.
Available in Postfix version 2.4 and later:
smtp_sasl_tls_verified_security_options
($smtp_sasl_tls_security_options)
! The SASL authentication security options that the
! Postfix SMTP client uses for TLS encrypted SMTP
sessions with a verified server certificate.
OBSOLETE STARTTLS CONTROLS
! The following configuration parameters exist for compati-
bility with Postfix versions before 2.3. Support for these
will be removed in a future release.
smtp_use_tls (no)
! Opportunistic mode: use TLS when a remote SMTP
! server announces STARTTLS support, otherwise send
the mail in the clear.
smtp_enforce_tls (no)
! Enforcement mode: require that remote SMTP servers
! use TLS encryption, and never send mail in the
clear.
smtp_tls_enforce_peername (yes)
! With mandatory TLS encryption, require that the
remote SMTP server hostname matches the information
in the remote SMTP server certificate.
smtp_tls_per_site (empty)
Optional lookup tables with the Postfix SMTP client
! TLS usage policy by next-hop destination and by
remote SMTP server hostname.
smtp_tls_cipherlist (empty)
***************
*** 485,511 ****
RESOURCE AND RATE CONTROLS
smtp_destination_concurrency_limit ($default_destina-
tion_concurrency_limit)
! The maximal number of parallel deliveries to the
! same destination via the smtp message delivery
transport.
smtp_destination_recipient_limit ($default_destina-
tion_recipient_limit)
! The maximal number of recipients per delivery via
the smtp message delivery transport.
smtp_connect_timeout (30s)
! The SMTP client time limit for completing a TCP
connection, or zero (use the operating system
built-in time limit).
smtp_helo_timeout (300s)
! The SMTP client time limit for sending the HELO or
! EHLO command, and for receiving the initial server
response.
lmtp_lhlo_timeout (300s)
! The LMTP client time limit for sending the LHLO
command, and for receiving the initial server
response.
--- 493,519 ----
RESOURCE AND RATE CONTROLS
smtp_destination_concurrency_limit ($default_destina-
tion_concurrency_limit)
! The maximal number of parallel deliveries to the
! same destination via the smtp message delivery
transport.
smtp_destination_recipient_limit ($default_destina-
tion_recipient_limit)
! The maximal number of recipients per delivery via
the smtp message delivery transport.
smtp_connect_timeout (30s)
! The SMTP client time limit for completing a TCP
connection, or zero (use the operating system
built-in time limit).
smtp_helo_timeout (300s)
! The SMTP client time limit for sending the HELO or
! EHLO command, and for receiving the initial server
response.
lmtp_lhlo_timeout (300s)
! The LMTP client time limit for sending the LHLO
command, and for receiving the initial server
response.
***************
*** 514,543 ****
command, and for receiving the server response.
smtp_mail_timeout (300s)
! The SMTP client time limit for sending the MAIL
! FROM command, and for receiving the server
response.
smtp_rcpt_timeout (300s)
! The SMTP client time limit for sending the SMTP
! RCPT TO command, and for receiving the server
response.
smtp_data_init_timeout (120s)
! The SMTP client time limit for sending the SMTP
! DATA command, and for receiving the server
response.
smtp_data_xfer_timeout (180s)
! The SMTP client time limit for sending the SMTP
message content.
smtp_data_done_timeout (600s)
! The SMTP client time limit for sending the SMTP
".", and for receiving the server response.
smtp_quit_timeout (300s)
! The SMTP client time limit for sending the QUIT
command, and for receiving the server response.
Available in Postfix version 2.1 and later:
--- 522,551 ----
command, and for receiving the server response.
smtp_mail_timeout (300s)
! The SMTP client time limit for sending the MAIL
! FROM command, and for receiving the server
response.
smtp_rcpt_timeout (300s)
! The SMTP client time limit for sending the SMTP
! RCPT TO command, and for receiving the server
response.
smtp_data_init_timeout (120s)
! The SMTP client time limit for sending the SMTP
! DATA command, and for receiving the server
response.
smtp_data_xfer_timeout (180s)
! The SMTP client time limit for sending the SMTP
message content.
smtp_data_done_timeout (600s)
! The SMTP client time limit for sending the SMTP
".", and for receiving the server response.
smtp_quit_timeout (300s)
! The SMTP client time limit for sending the QUIT
command, and for receiving the server response.
Available in Postfix version 2.1 and later:
***************
*** 548,559 ****
lookups, or zero (no limit).
smtp_mx_session_limit (2)
! The maximal number of SMTP sessions per delivery
! request before giving up or delivering to a fall-
back relay host, or zero (no limit).
smtp_rset_timeout (20s)
! The SMTP client time limit for sending the RSET
command, and for receiving the server response.
Available in Postfix version 2.2 and earlier:
--- 556,567 ----
lookups, or zero (no limit).
smtp_mx_session_limit (2)
! The maximal number of SMTP sessions per delivery
! request before giving up or delivering to a fall-
back relay host, or zero (no limit).
smtp_rset_timeout (20s)
! The SMTP client time limit for sending the RSET
command, and for receiving the server response.
Available in Postfix version 2.2 and earlier:
***************
*** 565,575 ****
Available in Postfix version 2.2 and later:
smtp_connection_cache_destinations (empty)
! Permanently enable SMTP connection caching for the
specified destinations.
smtp_connection_cache_on_demand (yes)
! Temporarily enable SMTP connection caching while a
destination has a high volume of mail in the active
queue.
--- 573,583 ----
Available in Postfix version 2.2 and later:
smtp_connection_cache_destinations (empty)
! Permanently enable SMTP connection caching for the
specified destinations.
smtp_connection_cache_on_demand (yes)
! Temporarily enable SMTP connection caching while a
destination has a high volume of mail in the active
queue.
***************
*** 579,640 ****
smtp_connection_cache_time_limit (2s)
When SMTP connection caching is enabled, the amount
! of time that an unused SMTP client socket is kept
open before it is closed.
Available in Postfix version 2.3 and later:
connection_cache_protocol_timeout (5s)
! Time limit for connection cache connect, send or
receive operations.
TROUBLE SHOOTING CONTROLS
debug_peer_level (2)
! The increment in verbose logging level when a
! remote client or server matches a pattern in the
debug_peer_list parameter.
debug_peer_list (empty)
! Optional list of remote client or server hostname
! or network address patterns that cause the verbose
! logging level to increase by the amount specified
in $debug_peer_level.
error_notice_recipient (postmaster)
! The recipient of postmaster notifications about
! mail delivery problems that are caused by policy,
resource, software or protocol errors.
internal_mail_filter_classes (empty)
! What categories of Postfix-generated mail are sub-
! ject to before-queue content inspection by
non_smtpd_milters, header_checks and body_checks.
notify_classes (resource, software)
! The list of error classes that are reported to the
postmaster.
MISCELLANEOUS CONTROLS
best_mx_transport (empty)
! Where the Postfix SMTP client should deliver mail
when it detects a "mail loops back to myself" error
condition.
config_directory (see 'postconf -d' output)
! The default location of the Postfix main.cf and
master.cf configuration files.
daemon_timeout (18000s)
! How much time a Postfix daemon process may take to
! handle a request before it is terminated by a
built-in watchdog timer.
delay_logging_resolution_limit (2)
! The maximal number of digits after the decimal
point when logging sub-second delay values.
disable_dns_lookups (no)
! Disable DNS lookups in the Postfix SMTP and LMTP
clients.
inet_interfaces (all)
--- 587,648 ----
smtp_connection_cache_time_limit (2s)
When SMTP connection caching is enabled, the amount
! of time that an unused SMTP client socket is kept
open before it is closed.
Available in Postfix version 2.3 and later:
connection_cache_protocol_timeout (5s)
! Time limit for connection cache connect, send or
receive operations.
TROUBLE SHOOTING CONTROLS
debug_peer_level (2)
! The increment in verbose logging level when a
! remote client or server matches a pattern in the
debug_peer_list parameter.
debug_peer_list (empty)
! Optional list of remote client or server hostname
! or network address patterns that cause the verbose
! logging level to increase by the amount specified
in $debug_peer_level.
error_notice_recipient (postmaster)
! The recipient of postmaster notifications about
! mail delivery problems that are caused by policy,
resource, software or protocol errors.
internal_mail_filter_classes (empty)
! What categories of Postfix-generated mail are sub-
! ject to before-queue content inspection by
non_smtpd_milters, header_checks and body_checks.
notify_classes (resource, software)
! The list of error classes that are reported to the
postmaster.
MISCELLANEOUS CONTROLS
best_mx_transport (empty)
! Where the Postfix SMTP client should deliver mail
when it detects a "mail loops back to myself" error
condition.
config_directory (see 'postconf -d' output)
! The default location of the Postfix main.cf and
master.cf configuration files.
daemon_timeout (18000s)
! How much time a Postfix daemon process may take to
! handle a request before it is terminated by a
built-in watchdog timer.
delay_logging_resolution_limit (2)
! The maximal number of digits after the decimal
point when logging sub-second delay values.
disable_dns_lookups (no)
! Disable DNS lookups in the Postfix SMTP and LMTP
clients.
inet_interfaces (all)
***************
*** 642,648 ****
tem receives mail on.
inet_protocols (ipv4)
! The Internet protocols Postfix will attempt to use
when making or accepting connections.
ipc_timeout (3600s)
--- 650,656 ----
tem receives mail on.
inet_protocols (ipv4)
! The Internet protocols Postfix will attempt to use
when making or accepting connections.
ipc_timeout (3600s)
***************
*** 650,724 ****
over an internal communication channel.
lmtp_tcp_port (24)
! The default TCP port that the Postfix LMTP client
connects to.
max_idle (100s)
! The maximum amount of time that an idle Postfix
! daemon process waits for an incoming connection
before terminating voluntarily.
max_use (100)
! The maximal number of incoming connections that a
! Postfix daemon process will service before termi-
nating voluntarily.
process_id (read-only)
! The process ID of a Postfix command or daemon
process.
process_name (read-only)
! The process name of a Postfix command or daemon
process.
proxy_interfaces (empty)
The network interface addresses that this mail sys-
! tem receives mail on by way of a proxy or network
address translation unit.
smtp_bind_address (empty)
! An optional numerical network address that the
! Postfix SMTP client should bind to when making an
IPv4 connection.
smtp_bind_address6 (empty)
! An optional numerical network address that the
! Postfix SMTP client should bind to when making an
IPv6 connection.
smtp_helo_name ($myhostname)
! The hostname to send in the SMTP EHLO or HELO com-
mand.
lmtp_lhlo_name ($myhostname)
The hostname to send in the LMTP LHLO command.
smtp_host_lookup (dns)
! What mechanisms when the Postfix SMTP client uses
to look up a host's IP address.
smtp_randomize_addresses (yes)
! Randomize the order of equal-preference MX host
addresses.
syslog_facility (mail)
The syslog facility of Postfix logging.
syslog_name (postfix)
! The mail system name that is prepended to the
! process name in syslog records, so that "smtpd"
becomes, for example, "postfix/smtpd".
Available with Postfix 2.2 and earlier:
fallback_relay (empty)
! Optional list of relay hosts for SMTP destinations
that can't be found or that are unreachable.
Available with Postfix 2.3 and later:
smtp_fallback_relay ($fallback_relay)
! Optional list of relay hosts for SMTP destinations
that can't be found or that are unreachable.
SEE ALSO
--- 658,732 ----
over an internal communication channel.
lmtp_tcp_port (24)
! The default TCP port that the Postfix LMTP client
connects to.
max_idle (100s)
! The maximum amount of time that an idle Postfix
! daemon process waits for an incoming connection
before terminating voluntarily.
max_use (100)
! The maximal number of incoming connections that a
! Postfix daemon process will service before termi-
nating voluntarily.
process_id (read-only)
! The process ID of a Postfix command or daemon
process.
process_name (read-only)
! The process name of a Postfix command or daemon
process.
proxy_interfaces (empty)
The network interface addresses that this mail sys-
! tem receives mail on by way of a proxy or network
address translation unit.
smtp_bind_address (empty)
! An optional numerical network address that the
! Postfix SMTP client should bind to when making an
IPv4 connection.
smtp_bind_address6 (empty)
! An optional numerical network address that the
! Postfix SMTP client should bind to when making an
IPv6 connection.
smtp_helo_name ($myhostname)
! The hostname to send in the SMTP EHLO or HELO com-
mand.
lmtp_lhlo_name ($myhostname)
The hostname to send in the LMTP LHLO command.
smtp_host_lookup (dns)
! What mechanisms when the Postfix SMTP client uses
to look up a host's IP address.
smtp_randomize_addresses (yes)
! Randomize the order of equal-preference MX host
addresses.
syslog_facility (mail)
The syslog facility of Postfix logging.
syslog_name (postfix)
! The mail system name that is prepended to the
! process name in syslog records, so that "smtpd"
becomes, for example, "postfix/smtpd".
Available with Postfix 2.2 and earlier:
fallback_relay (empty)
! Optional list of relay hosts for SMTP destinations
that can't be found or that are unreachable.
Available with Postfix 2.3 and later:
smtp_fallback_relay ($fallback_relay)
! Optional list of relay hosts for SMTP destinations
that can't be found or that are unreachable.
SEE ALSO
***************
*** 736,742 ****
TLS_README, Postfix STARTTLS howto
LICENSE
! The Secure Mailer license must be distributed with this
software.
AUTHOR(S)
--- 744,750 ----
TLS_README, Postfix STARTTLS howto
LICENSE
! The Secure Mailer license must be distributed with this
software.
AUTHOR(S)
diff -cr --new-file /var/tmp/postfix-2.4.3/html/postconf.5.html ./html/postconf.5.html
*** /var/tmp/postfix-2.4.3/html/postconf.5.html Mon Apr 2 19:15:49 2007
--- ./html/postconf.5.html Fri Jul 20 11:25:24 2007
***************
*** 53,58 ****
--- 53,60 ----
"$name" is empty. This form is supported with Postfix version 2.2
and later.
+ Specify "$$" to produce a single "$" character.
+When the same parameter is defined multiple times, only *************** *** 6682,6687 **** --- 6684,6707 ----
The name of the directory with example Postfix configuration files.
+ + + + +When authenticating to a remote SMTP or LMTP server with the + default setting "no", send no SASL authoriZation ID (authzid); send + only the SASL authentiCation ID (authcid) plus the authcid's password. +
+ +The non-default setting "yes" enables the behavior of older + Postfix versions. These always send a SASL authzid that is equal + to the SASL authcid, but this causes inter-operability problems + with some SMTP servers.
+ +This feature is available in Postfix 2.4.4 and later.
Instead of dGVzdAB0ZXN0AHRlc3RwYXNz, specify the base64 encoded ! form of username\0username\0password (the \0 is a null byte). The example above is for a user named `test' with password `testpass'.
--- 537,549 ---- 250-ETRN 250-AUTH DIGEST-MD5 PLAIN CRAM-MD5 250 8BITMIME ! AUTH PLAIN AHRlc3QAdGVzdHBhc3M= 235 Authentication successful !Instead of AHRlc3QAdGVzdHBhc3M=, specify the base64 encoded ! form of \0username\0password (the \0 is a null byte). The example above is for a user named `test' with password `testpass'.
*************** *** 552,565 ****! % printf 'username\0username\0password' | mmencode
% perl -MMIME::Base64 -e \
! 'print encode_base64("username\0username\0password");'
--- 552,565 ----
! % printf '\0username\0password' | mmencode
% perl -MMIME::Base64 -e \
! 'print encode_base64("\0username\0password");'
diff -cr --new-file /var/tmp/postfix-2.4.3/proto/postconf.html.prolog ./proto/postconf.html.prolog
*** /var/tmp/postfix-2.4.3/proto/postconf.html.prolog Tue Feb 8 17:18:11 2005
--- ./proto/postconf.html.prolog Wed Jun 13 20:47:33 2007
***************
*** 53,58 ****
--- 53,60 ----
"$name" is empty. This form is supported with Postfix version 2.2
and later.
+ Specify "$$" to produce a single "$" character.
+When the same parameter is defined multiple times, only diff -cr --new-file /var/tmp/postfix-2.4.3/proto/postconf.man.prolog ./proto/postconf.man.prolog *** /var/tmp/postfix-2.4.3/proto/postconf.man.prolog Tue Feb 8 17:18:47 2005 --- ./proto/postconf.man.prolog Wed Jun 13 20:47:59 2007 *************** *** 42,47 **** --- 42,49 ---- The expression "${name:value}" expands to "value" when "$name" is empty. This form is supported with Postfix version 2.2 and later. + .IP \(bu + Specify "$$" to produce a single "$" character. .RE .IP \(bu When the same parameter is defined multiple times, only the last diff -cr --new-file /var/tmp/postfix-2.4.3/proto/postconf.proto ./proto/postconf.proto *** /var/tmp/postfix-2.4.3/proto/postconf.proto Sun Mar 25 11:18:40 2007 --- ./proto/postconf.proto Fri Jul 20 11:24:56 2007 *************** *** 10572,10574 **** --- 10572,10588 ---- configuration parameter. See there for details.
This feature is available in Postfix 2.4 and later.
+ + %PARAM send_cyrus_sasl_authzid no + +When authenticating to a remote SMTP or LMTP server with the + default setting "no", send no SASL authoriZation ID (authzid); send + only the SASL authentiCation ID (authcid) plus the authcid's password. +
+ +The non-default setting "yes" enables the behavior of older + Postfix versions. These always send a SASL authzid that is equal + to the SASL authcid, but this causes inter-operability problems + with some SMTP servers.
+ +This feature is available in Postfix 2.4.4 and later.
diff -cr --new-file /var/tmp/postfix-2.4.3/src/cleanup/cleanup_envelope.c ./src/cleanup/cleanup_envelope.c *** /var/tmp/postfix-2.4.3/src/cleanup/cleanup_envelope.c Tue Jan 16 14:08:07 2007 --- ./src/cleanup/cleanup_envelope.c Mon Jul 30 20:41:04 2007 *************** *** 148,160 **** #endif if (type == REC_TYPE_MILT_COUNT) { /* Not part of queue file format. */ ! if (state->milters != 0) { ! msg_warn("%s: message rejected: too many milter instances", ! state->queue_id); ! state->errs |= CLEANUP_STAT_BAD; ! return; ! } ! if ((milter_count = atoi(buf)) > 0) cleanup_milter_receive(state, milter_count); return; } --- 148,154 ---- #endif if (type == REC_TYPE_MILT_COUNT) { /* Not part of queue file format. */ ! if ((milter_count = atoi(buf)) >= 0) cleanup_milter_receive(state, milter_count); return; } diff -cr --new-file /var/tmp/postfix-2.4.3/src/cleanup/cleanup_milter.c ./src/cleanup/cleanup_milter.c *** /var/tmp/postfix-2.4.3/src/cleanup/cleanup_milter.c Mon Jan 22 08:45:33 2007 --- ./src/cleanup/cleanup_milter.c Mon Jul 30 20:39:41 2007 *************** *** 1314,1319 **** --- 1314,1321 ---- void cleanup_milter_receive(CLEANUP_STATE *state, int count) { + if (state->milters) + milter_free(state->milters); state->milters = milter_receive(state->src, count); milter_macro_callback(state->milters, cleanup_milter_eval, (void *) state); milter_edit_callback(state->milters, diff -cr --new-file /var/tmp/postfix-2.4.3/src/global/mail_params.c ./src/global/mail_params.c *** /var/tmp/postfix-2.4.3/src/global/mail_params.c Mon Jul 10 17:29:30 2006 --- ./src/global/mail_params.c Tue Jul 10 13:27:12 2007 *************** *** 106,111 **** --- 106,112 ---- /* int var_oldlog_compat; /* int var_delay_max_res; /* char *var_int_filt_classes; + /* int var_cyrus_sasl_authzid; /* /* void mail_params_init() /* *************** *** 275,280 **** --- 276,282 ---- int var_oldlog_compat; int var_delay_max_res; char *var_int_filt_classes; + int var_cyrus_sasl_authzid; const char null_format_string[1] = ""; *************** *** 543,548 **** --- 545,551 ---- VAR_VERIFY_NEG_CACHE, DEF_VERIFY_NEG_CACHE, &var_verify_neg_cache, VAR_OLDLOG_COMPAT, DEF_OLDLOG_COMPAT, &var_oldlog_compat, VAR_HELPFUL_WARNINGS, DEF_HELPFUL_WARNINGS, &var_helpful_warnings, + VAR_CYRUS_SASL_AUTHZID, DEF_CYRUS_SASL_AUTHZID, &var_cyrus_sasl_authzid, 0, }; const char *cp; diff -cr --new-file /var/tmp/postfix-2.4.3/src/global/mail_params.h ./src/global/mail_params.h *** /var/tmp/postfix-2.4.3/src/global/mail_params.h Sat Feb 24 21:15:42 2007 --- ./src/global/mail_params.h Tue Jul 10 19:47:45 2007 *************** *** 41,49 **** * What problem classes should be reported to the postmaster via email. * Default is bad problems only. See mail_error(3). Even when mail notices * are disabled, problems are still logged to the syslog daemon. */ #define VAR_NOTIFY_CLASSES "notify_classes" ! #define DEF_NOTIFY_CLASSES "resource, software" extern char *var_notify_classes; /* --- 41,52 ---- * What problem classes should be reported to the postmaster via email. * Default is bad problems only. See mail_error(3). Even when mail notices * are disabled, problems are still logged to the syslog daemon. + * + * Do not add "protocol" to the default setting. It gives Postfix a bad + * reputation: people get mail whenever spam software makes a mistake. */ #define VAR_NOTIFY_CLASSES "notify_classes" ! #define DEF_NOTIFY_CLASSES "resource, software" /* Not: "protocol" */ extern char *var_notify_classes; /* *************** *** 1531,1536 **** --- 1534,1543 ---- * SASL-based relay etc. control. */ #define PERMIT_SASL_AUTH "permit_sasl_authenticated" + + #define VAR_CYRUS_SASL_AUTHZID "send_cyrus_sasl_authzid" + #define DEF_CYRUS_SASL_AUTHZID 0 + extern int var_cyrus_sasl_authzid; /* * LMTP client. Timeouts inspired by RFC 1123. The LMTP recipient limit diff -cr --new-file /var/tmp/postfix-2.4.3/src/milter/milter.c ./src/milter/milter.c *** /var/tmp/postfix-2.4.3/src/milter/milter.c Wed Mar 14 20:46:12 2007 --- ./src/milter/milter.c Mon Jul 30 20:42:56 2007 *************** *** 97,102 **** --- 97,106 ---- /* MILTERS *milter_receive(fp, count) /* VSTREAM *fp; /* int count; + /* + /* int milter_dummy(milters, fp) + /* MILTERS *milters; + /* VSTREAM *fp; /* DESCRIPTION /* The functions in this module manage one or more milter (mail /* filter) clients. Currently, only the Sendmail 8 filter *************** *** 192,197 **** --- 196,204 ---- /* milter_receive() receives the specified number of mail /* filters over the specified stream. The result is a null /* pointer when no milters were sent, or when an error happened. + /* + /* milter_dummy() is like milter_send(), except that it sends + /* a dummy, but entirely valid, mail filter list. /* SEE ALSO /* milter8(3) Sendmail 8 Milter protocol /* DIAGNOSTICS *************** *** 587,592 **** --- 594,609 ---- #define MAIL_ATTR_MILT_EOD "eod_macros" #define MAIL_ATTR_MILT_UNK "unk_macros" + /* milter_dummy - send empty milter list */ + + int milter_dummy(MILTERS *milters, VSTREAM *stream) + { + MILTERS dummy = *milters; + + dummy.milter_list = 0; + return (milter_send(&dummy, stream)); + } + /* milter_send - send Milter instances over stream */ int milter_send(MILTERS *milters, VSTREAM *stream) *************** *** 606,613 **** for (m = milters->milter_list; m != 0; m = m->next) if (m->active(m)) count++; - if (count == 0) - return (0); (void) rec_fprintf(stream, REC_TYPE_MILT_COUNT, "%d", count); /* --- 623,628 ---- *************** *** 655,663 **** VSTRING *data_macros; VSTRING *eod_macros; VSTRING *unk_macros; - - if (count == 0) - return (0); /* * Receive filter macros. --- 670,675 ---- diff -cr --new-file /var/tmp/postfix-2.4.3/src/milter/milter.h ./src/milter/milter.h *** /var/tmp/postfix-2.4.3/src/milter/milter.h Tue Jan 9 20:55:23 2007 --- ./src/milter/milter.h Tue Jul 31 13:10:17 2007 *************** *** 99,104 **** --- 99,105 ---- extern const char *milter_other_event(MILTERS *); extern void milter_abort(MILTERS *); extern void milter_disc_event(MILTERS *); + extern int milter_dummy(MILTERS *, VSTREAM *); extern int milter_send(MILTERS *, VSTREAM *); extern MILTERS *milter_receive(VSTREAM *, int); extern void milter_free(MILTERS *); diff -cr --new-file /var/tmp/postfix-2.4.3/src/milter/milter8.c ./src/milter/milter8.c *** /var/tmp/postfix-2.4.3/src/milter/milter8.c Tue Jan 16 20:08:01 2007 --- ./src/milter/milter8.c Tue Jul 31 13:12:10 2007 *************** *** 64,69 **** --- 64,73 ---- #include