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,

Reply via email to