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/

Reply via email to