Arnt Gulbrandsen: > De/composition are pushed to the DNS. The SMTP part just says: Convert to a > IDNA a-labels in order to do the MX lookup, and otherwise don't mess with > the bytes you received. (My patch uses ICU to convert to a-labels.)
That is a mis-conception. DNS is not the only interface that requires xn--mumble names. Like a cancer, EAI has the potential to infect many aspects of address handling and policy lookup. This is why I estimated that SMTPUTF8 would be a major project. * The form xn--mumble will also be required in server greetings and EHLO commands, when an MTA host- or domain name contains non-ASCII characters. This means that Postfix must convert myhostname into xn--mumble form in those contexts that require ASCII text. * With multiple forms for the same domain name, xn--mumble in HELO/EHLO (and perhaps other SMTP commands) and UTF8 in MAIL/RCPT/ETRN/VRFY, Postfix lookup tables must either contain multiple lookup keys for the same domain name, or Postfix must convert all domain/email-address lookup keys into one canonical form. That is, either convert all UTF8 domain names into xn--mumble, or convert all xn--mumble domain names into UTF8. Having only one lookup key per domain in Postfix lookup tables will more secure but it will be a royal pain to implement (and here is no way to do that with header/body_checks). * I am not sure that we can rely on the postmap "table query" or "create map" commands to "normalize" domain names in lookup keys. Also, LDAP/*SQL*/etc. databases aren't "created" with postmap commands. All this could be another argument to use only xn--mumble or to use only UTF8 forms in databases. Again, more secure but a royal pain to implement, because postmap doesn't really know if a lookup key is a user, a domain, or something else. * If xn--mumble were to become the canonical form for table lookup, then Postfix parent-domain matching will not be broken: where buecher.com becomes xn--bcher-kva.com, foo.buecher.com becomes foo.xn--bcher-kva.com. Other things: * Postfix table queries are case-insensitive. I don't see any attempt to implement that for UTF8 addresses. This leaves an ambiguity. Wietse