Mark Martinec:
> What happens is that normally the bl?b?rsyltet?y.gulbrandsen.priv.no
> gets translated to xn--blbrsyltety-y8ao3x.gulbrandsen.priv.no before
> doing a DNS lookup, but somehow the reject_unknown_address() test
> forgets to perform this step.
This fixes the specific problem, but I expect that similar fixes
will be needed with permit_mx_backup and check_mumble_a/ns/mx_access.
I'll look into those next.
Wietse
*** ./src/smtpd/smtpd_check.c- 2014-09-20 20:56:02.000000000 -0400
--- ./src/smtpd/smtpd_check.c 2014-09-24 16:59:31.000000000 -0400
***************
*** 1292,1301 ****
--- 1292,1313 ----
const char *myname = "reject_unknown_mailhost";
int dns_status;
DNS_RR *dummy;
+ const char *aname;
if (msg_verbose)
msg_info("%s: %s", myname, name);
+ /*
+ * Fix 20140924: convert domain to ASCII.
+ */
+ #ifndef NO_EAI
+ if (!allascii(name) && (aname = midna_utf8_to_ascii(name)) != 0) {
+ if (msg_verbose)
+ msg_info("%s asciified to %s", name, aname);
+ name = aname;
+ }
+ #endif
+
#define MAILHOST_LOOKUP_FLAGS (DNS_REQ_FLAG_STOP_OK | DNS_REQ_FLAG_STOP_INVAL)
dns_status = dns_lookup_l(name, 0, &dummy, (VSTRING *) 0,