On Fri, Aug 05, 2011 at 04:33:12PM +0200, Stefan Unterweger wrote: > Hi! >
Hi ! > I've just seen a rather weird behaviour with smtpd on my box (recently > updated to OpenBSD-4.9). > > The setup is very simple: All mail gets forwarded using my smarthost. > The only "problem": The smarthost in question is also reachable by IPv6, > and accordingly has an AAAA record. smtpd sees this, tries to connect > using IPv6, but seemingly botches the attempt in a particularily strange > way: > | startup [debug mode] > | [...] > | smtp: will accept at most 246 clients > | [...] > | mta: getting datafd > | mta: connect IPv6:2001:1418:153:ffff:: > | mta: new status for [email protected]: 110 connect error: Host is down > | mta: connect IPv6:2001:1418:153:ffff:: > | mta: new status for [email protected]: 110 connect error: Host is down > | mta: connect 94.95.177.106 > | mta: entering smtp phase > | [...] > > Instead of using the full IPv6 address, it only uses the subnet prefix > of the smarthost. This of course fails horribly, leading to a two-minute > timeout, and then finally the mail goes through using IPv4 only. > Did this work before you updated ? > The configuration is basic, no surprises here: > | listen on lo0 > | accept for all relay via mailin.aleturo.com > > First, I thought it might be a DNS problem, but manual lookups are ok: > | mailin.aleturo.com has address 94.95.177.106 > | mailin.aleturo.com has IPv6 address 2001:1418:153:ffff:260:8ff:fe0b:35c7 > > Also, specifying the literal IPv6 address in smtpd.conf doesn't help, > and produces the exact same result as above (minus the IPv4 connection > at the end). > > I find it difficult to imagine that this is standard behaviour for smtpd, > so I'm assuming that something on my machine might be misconfigured in > some obscure way -- but I have no clue to what this might be. > > Is this a true and genuine bug -- in which case, I can stop worrying and > trying to find configuration errors on my part -- or might there be > something that I've overlooked? > Do not underestimate my ability to write buggy (inet6?) code ;-) It is very likely a bug in smtpd, and the fact that it also happens when you specify the literal ipv6 address excludes the asynchronous resolver. I'll investigate this and let you know when I have a diff you can test. -- Gilles Chehade http://www.poolp.org/ http://u.poolp.org/~gilles/

