Hi, OK so I've been messing around with porting prefork to IPv6 too. I've separated the finding of local and remote ports and IP, and setting of the TCP ENVs into separate functions in Qpsmtpd.pm (where I will probably also move has_ipv6, if that's ok), and it seems to work quite nicely.
However, when I got to checking check_relay functionality, I was always rejected. At that point I realised it was working too quickly too, require_resolvable_fromhost wasn't running. So I faffed around for a while, eventually running qpsmtpd-prefork in strace, then I saw the problem. It was attempting to open config files from /config/blah and /var/qmail/config/blah. config_dir attempts to get the config from $name/config, $name being based on $0, but $0 (the process name) is changed in qpsmtpd-prefork for prettyness. I say lose the pretty child process name, but it's not up to me :) -- Mike Williams
