On Wednesday 06 September 2006 11:31, Ask Bjørn Hansen wrote: > Forkserver and the prefork server could maybe share more code, but it > shouldn't go into Qpsmtpd.pm (the current implementation of has_ipv6 > shouldn't be in Constants.pm either for that matter, I was asleep at > the wheel when I committed that).
Heh, I was somewhat surprised you commited it. > The "core modules" (Qpsmtpd.pm, Q::SMTP, Q::Constants etc) shouldn't > have anything "driver specific" included -- that'll just make it that > much harder to make another "driver" for the system later. (Useful > sanity check: How does it work/fit with Apache::Qpsmtpd?) I wouldn't really call v6 support a "driver", it is more core functionality, as the main modifications to forkserver and prefork was done before anything Q related is used (specifically the change from IO::Socket::INET to IO::Socket::INET6 if available, INET6 supports v4 addresses as well as v6). The two additional functions I added last night (lrpip and tcpenv) are only there to handle the core differences between v4 and v6, and to share that code. Apache::Qpsmtpd seems to work with IPv6 without modification (apart from plugins, obviously). -- Mike Williams