Summary: | mail-mta/exim-4.76 does not understand IPv6 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | DEMAINE Benoît-Pierre, aka DoubleHP <dhp_gentoo> |
Component: | Current packages | Assignee: | Fabian Groffen <grobian> |
Status: | RESOLVED WORKSFORME | ||
Severity: | major | CC: | net-mail+disabled |
Priority: | Normal | ||
Version: | 10.0 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
/tmp/emerge--info
/tmp/mail-mta:exim-4.76:20110813-235409.log /tmp/exim.com |
Description
DEMAINE Benoît-Pierre, aka DoubleHP
2011-08-14 00:31:03 UTC
Created attachment 283245 [details]
/tmp/emerge--info
Created attachment 283247 [details]
/tmp/mail-mta:exim-4.76:20110813-235409.log
I have been nice, and unziped log for convenience :)
(just in case Bugzilla bug about ziped file would not be fixed yet)
ok, my exim's are doing ipv6 accepts and transfers for a long time, so my first reaction to this bug is a big surprise. Since you mention so many dns servers to try, you make it very suspicious to me whether or not you've got your dualstack setup properly. I would be more interested in the exim_main.log file for the cases where you tried to make it send over ipv6. The very first error message I got was: host gmail-smtp-msa.l.google.com [2a00:1450:8005::6d]: 530-5.5.1 Authentication Required. Learn more at Then i looked in my conf, to check why Exim stopped sending my password to authenticate to SMTP-relay (gmail). Took hours to come up to DNS issue. I have put exim in the title because Bugzilla requires a package name. In the end of report, i say that it could be a dep. How do i check my dual stack ? exim is the first software making me problems. I don't use IPv6 intensively. I did not found any exim_main.log . Only got /var/log/messages , and I already gave what I have. I could make exim output logs somewhere else, but I already failed to make it more verbose. Asked help to many people. When forums fail, I have to come up here. Ok, so how did you handle the authentication required problem? It indicates to me Exim at that point did exactly the right thing, IPv6 wise. From the errors you get, I guess you did something like: xxxxx: transport = 20a2::xxx:0 which would be wrong, as [ and ] are required around such address. However, that's just guessing, as I cannot see what you did to overcome the authentication problem. Created attachment 283437 [details] /tmp/exim.com The authentification error problem occurs after Syslog says "no IP address found for host 2a00". It was a tricky one. To fix the Gmail authentification issue, I changed my resolv.conf from 212.27.40.241 8.8.8.8 (or any v4 DNS answering v4 only answers to -t ANY requests). It was a tricky one. I knew at once it could not be an auth issue because I changed that password on jan 2nd 2011 everywhere it required to be changed; I change THIS password every 3 years. IT was working fine since 6 months. And the same day, it was working fine on other systems. And I had not touched exim conf on that day: if it was working the day before, it ought to work that day. But, that day, my ISP admitted to have changed DNS conf ... what a hasard ... isn't it ? and when stopping use of ISP DNS, exim suddenly got the right password ... If you think the host has a dual stack issue, I have no clue how to check it. What I know is that http://www.whatismyip.com/ gives me a v4 ad, and http://www.whatismyipv6.com/ and v6 one. And I can browse ipv6.google.com and http://[2a00:1450:4001:c01::68] . If dual stack is more than this, you tell me. your dual stack seems fine Your conf file confuses me, though. Why do you have two ways to contact gmail smtp? I don't know which section is the good one. I thought the later was a dep of the first one. But after 100th re-reading, i agree with you they look like dups. Still, even if that part of my conf is wrong, I don't see how it could explain the "no IP address found for host 2a00" message. I simplified [...] acl_check_data: accept begin routers gmail_route: driver = manualroute domains = ! +local_domains transport = gmail_relay route_list = * smtp.gmail.com system_aliases: [...] begin transports gmail_relay: driver = smtp port = 587 hosts_require_auth = $host_address hosts_require_tls = $host_address local_delivery: [...] removed dnslookup: and remote_smtp: sections. Did not fix the issue. didn't expect that either what happens if you use [2a00:1450:8002::6d] iso smtp.gmail.com? gmail_route: driver = manualroute domains = ! +local_domains transport = gmail_relay # route_list = * smtp.gmail.com route_list = * [2a00:1450:8002::6d] Aug 15 19:19:07 uranus exim[8650]: 2011-08-15 19:19:07 1Qt0od-0002FN-CQ no IP address found for host [2a00 http://www.exim.org/exim-html-current/doc/html/spec_html/ch20.html section 5 it suggests you use something like: route_list = * "</ [2a00:1450:8002::6d]" no IP address found for host [2a00:1450:8002::6d] and if you add the port, like the example does? # http://kb.philross.co.uk/2008/03/15/configuring-exim-to-use-gmail-as-a-smarthost/ gmail_route: driver = manualroute domains = ! +local_domains transport = gmail_relay # route_list = * smtp.gmail.com # http://www.exim.org/exim-html-current/doc/html/spec_html/ch20.html # route_list = * "smtp.gmail.com" # route_list = * [2a00:1450:8002::6d] # route_list = * "</ [2a00:1450:8002::6d]" route_list = * "</ [2a00:1450:8002::6d]:587" Aug 15 19:34:26 uranus exim[10706]: 2011-08-15 19:34:26 1Qt13Q-0002mQ-CU no IP address found for host 2a00 I just tried this on my server: # IPv6 delivery test route zeus_route: driver = manualroute transport = remote_smtp domains = my.domain route_list = * "<+ [zeus:ipv6:address]:25" Sending email just worked out fine: 2011-08-15 19:47:02 1Qt1DK-0001vN-HI => me@my.domain R=zeus_route T=remote_smtp H=zeus:ipv6:address [zeus:ipv6:address] X=TLSv1:AES256-SHA:256 in my first comment, by dep, i meant libc or lib or sth deep, used only by exim, and not by ping/firefox ... Well, firefox uses it's own dns resolving, ping uses getaddrbyname stuff (aka -lresolv) IMO. I think exim uses the host libs (glibc in your case) to resolve hosts as well. I wonder if you could get my example running, that is, some delivery attempted. per comment #18 I did your test, and posted the result earlier. my test case is substantially different from yours My last test was comment 15; then you pasted your conf in comment 16. I did not find any major difference between my test, and your paste. => after my last result, you did not submit any new test. So Exim doesn't even attempt to perform IPv6 delivery in your case. Then the problem must be something else on your side. Most likely causes, Exim doesn't know about ipv6, your stack isn't properly setup, or something else that makes Exim completely ignore IPv6 in your case. Similar issues frequently happen with local problems. Either on upstream or Gentoo side, locales are known to make libc misunderstand some letters or symbol, and lead some apps to misdetect field separators ... Emerge --version is irrelevant, because emerge is run under user console, while exim is run in background, by init itself, with a possibly different profile (different variables, different locales ... ). I often have issues within cron. Can be almost anything. Facts remain facts. "no IP address found for host 2a00" remains an /inapropriate/ error message. Then take your problem upstream. Gentoo is just a packager, we can/do not fix all ins and outs of each package we package. To which upstream ? exim ? libc ? libdns ? You have a problem with Exim's error reporting, so I guess Exim's. ipv6 is running fine on multiple sites with Exim |