From: Wietse Venema Date: Sun, 11 Jan 2015 05:00:00 +0000 (-0500) Subject: postfix-2.12-20150111-nonprod X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0b85f8525328f0dda47058510e67abc548177731;p=thirdparty%2Fpostfix.git postfix-2.12-20150111-nonprod --- diff --git a/postfix/.indent.pro b/postfix/.indent.pro index b9f3a9ea1..c15aa6353 100644 --- a/postfix/.indent.pro +++ b/postfix/.indent.pro @@ -125,6 +125,7 @@ -TDICT_THASH -TDICT_UNION -TDICT_UNIX +-TDICT_UTF8_BACKUP -TDNS_FIXED -TDNS_REPLY -TDNS_RR diff --git a/postfix/HISTORY b/postfix/HISTORY index 832c995bd..9871221ca 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -21313,9 +21313,35 @@ Apologies for any names omitted. As a first step, with "smtputf8_enable = yes" all features based on Postfix matchlists enable UTF-8 syntax checks and - casefolding support for table queries and results. That - includes mynetworks, mydestination, relay_domains, - virtual_alias_domains, and virtual_mailbox_domains. - - The next step is to turn on UTF-8 syntax checks and casefolding - support for access maps, address rewriting and routing. + UTF-8 casefolding for table patterns, but NOT YET for string + patterns. The list of features includes authorized_flush_users, + authorized_mailq_users, authorized_submit_users, debug_peer_list, + fast_flush_domains, mydestination, permit_mx_backup_networks, + qmqpd_authorized_clients, smtp_connection_cache_destinations, + smtpd_authorized_verp_clients, smtpd_authorized_xclient_hosts, + smtpd_authorized_xforward_hosts, + smtpd_client_event_limit_exceptions, + smtpd_log_access_permit_actions, smtpd_sasl_exceptions_networks, + the "domains" feature in ldap_table(5), memcache_table(5) + mysql_table(5), pgsql_table(5) and sqlite_table(5), + virtual_alias_domains, virtual_mailbox_domains. + +20140111 + + Cleanup: simplified the interposition layer that adds UTF-8 + support to Postfix lookup tables. Files: util/dict_utf8.c. + + With "smtputf8_enable = yes", Enable UTF-8 syntax checks + and UTF-8 casefolding for SMTP server access maps, alias_maps, + canonical_maps, fallback_transport_maps, + lmtp_tls_session_cache_database, local_recipient_maps, + mailbox_command_maps, mailbox_transport_maps, rbl_reply_maps, + recipient_bcc_maps, recipient_canonical_maps, relay_recipient_maps, + relocated_maps, sender_bcc_maps, sender_canonical_maps, + sender_dependent_relayhost_maps, sender_dependent_transport_maps, + smtp_generic_maps, smtp_sasl_auth_cache_name, + smtp_sasl_password_maps, smtp_tls_per_site, smtp_tls_policy_maps, + smtp_tls_session_cache_database, smtpd_sender_login_maps, + smtpd_tls_session_cache_database, transport_maps, + virtual_alias_maps, virtual_gid_maps, virtual_mailbox_maps, + virtual_uid_maps. diff --git a/postfix/README_FILES/SMTPUTF8_README b/postfix/README_FILES/SMTPUTF8_README index c0aa9ae8b..8dc081a1f 100644 --- a/postfix/README_FILES/SMTPUTF8_README +++ b/postfix/README_FILES/SMTPUTF8_README @@ -65,8 +65,25 @@ With SMTPUTF8 support enabled, Postfix changes behavior with respect to earlier Postfix releases: * UTF-8 is permitted in the myorigin parameter value. However, the myhostname - and mydomain parameters must specify ASCII-only domain names. This - limitation may be removed later. + and mydomain parameters must currently specify ASCII-only domain names. + This limitation may be removed later. + + * UTF-8 is the only form of non-ASCII text that Postfix supports in access + tables, address rewriting tables, and other tables that are indexed with an + email address, hostname, or domain name. + + * The header_checks-like and body_checks-like features are not UTF-8 enabled, + and therefore they do not enforce UTF-8 syntax rules on inputs and outputs. + The reason is that non-ASCII text may be sent in encodings other than UTF- + 8, and that real email sometimes contains malformed headers. Instead of + skipping non-UTF-8 content, Postfix should be able to filter it. You may + try to enable UTF-8 processing by starting a PCRE pattern with the sequence + (*UTF8), but this is will result in "message not accepted, try again later" + errors when the PCRE pattern matcher encounters non-UTF-8 input. Other + features that are not UTF-8 enabled are smtpd_command_filter, + smtp_reply_filter, the *_delivery_status_filter features, and the + *_dns_reply_filter features (the latter because DNS is by definition an + ASCII protocol). * The Postfix SMTP server announces SMTPUTF8 support in the EHLO response. @@ -185,7 +202,7 @@ the ASCII (xn--mumble) form. The initial Postfix SMTPUTF8 implementation performs no automatic conversions on UTF8 strings beyond what is needed to perform DNS lookups. -NNoo cchhaarraacctteerrsseett ccaannoonniiccaalliizzaattiioonn ffoorr nnoonn--AASSCCIIII ddoommaaiinn nnaammeess.. +NNoo aauuttoommaattiicc ccoonnvveerrssiioonnss bbeettwweeeenn AASSCCIIII aanndd UUTTFF--88 ddoommaaiinn nnaammeess.. Postfix currently does not translate domain names from UTF-8 into ASCII (or ASCII into UTF-8) before looking up the domain name in mydestination, @@ -194,12 +211,19 @@ using the domain name in a policy daemon or Milter request. You will have to configure both UTF-8 and ASCII forms in Postfix configuration files; and both forms will have to be handled by logfile tools, policy daemons and Milters. -NNoo ccaassee ccaannoonniiccaalliizzaattiioonn ffoorr nnoonn--AASSCCIIII cchhaarraacctteerrss.. +IImmpplleemmeenntteedd:: ccaassee--iinnsseennssiittiivvee ttaabbllee sseeaarrcchh wwiitthh nnoonn--AASSCCIIII tteexxtt.. -Postfix currently does not case-fold non-ASCII characters when looking up an -"Internationalized" domain name in mydestination, relay_domains, access maps, -etc. Some non-ASCII scripts do not distinguish between upper and lower case, -some have different numbers of upper and lower case characters. +Postfix will casefold UTF-8 when searching with an "Internationalized" domain +name or email address in mydestination, relay_domains, access maps, +transport_maps, etc., and when maintaining tables with the postmap(1) and +postalias(1) commands. + +NNoo ccaassee--iinnsseennssiittiivvee mmaattcchhiinngg ooff nnoonn--AASSCCIIII ssttrriinngg ppaatttteerrnnss iinn mmaattcchhlliissttss.. + +Postfix currently does not yet implement case-insensitive string comparison for +non-ASCII string patterns in list features such as mydestination, +relay_domains, etc. For now, use "inline:{string}" instead of "string". This +limitation will be removed before the stable release. CCoommppaattiibbiilliittyy wwiitthh pprree--SSMMTTPPUUTTFF88 eennvviirroonnmmeennttss diff --git a/postfix/WISHLIST b/postfix/WISHLIST index 48bdf4958..a8f3b85b9 100644 --- a/postfix/WISHLIST +++ b/postfix/WISHLIST @@ -8,6 +8,20 @@ Wish list: Things to do after the stable release: + Expose UTF8 flag in server_acl API. Some applications such + as postscreen don't need UTF8 support. + + Expose UTF8 flag in match_list API. Some applications + such as address lists don't need UTF8 support. + + Implement UTF8 casefolding in match_list for non-table + patterns. + + UTF8 DNS[BW]L domain name. + + Consolidate maps flags in mail_params.h instead of having + multiple copies scattered across programs. + Try to allow UTF-8 myhostname/mydomain, at least in bounce template expansion. diff --git a/postfix/html/SMTPUTF8_README.html b/postfix/html/SMTPUTF8_README.html index 3c3a593e5..33c101be7 100644 --- a/postfix/html/SMTPUTF8_README.html +++ b/postfix/html/SMTPUTF8_README.html @@ -110,8 +110,27 @@ respect to earlier Postfix releases: