Mark.Martinec+amavis at ijs.si
Mon Jun 6 18:09:16 CEST 2011
> We're making a big push on IPv6 readiness in this Ubuntu development cycle,
> so I'd appreciate having the patch.
That's very nice to hear!
The patch for Net-Server-0.99 is attached, includes documentation changes.
As a format of passing sockets to a new incarnation on a warn reload needs
an additional field (socket protocol type), servers running unpatched
Net-Server-0.99 needs to be stopped/restarted after the patch is applied
(e.g. amavisd restart, not: amavisd reload).
Also note that some of the Net::Server self-tests will fail. This is not
a defect of the patch, but an unwarranted assumption on the part
of the test, expecting to receive a single socket when binding to
'*' (i.e. any address) - now one gets two sockets (unless you request
a bind to a single adress family, like 127.0.0.1 or ::1), one socket
for each address family.
The change in behaviour (getting two sockets when binding to 'any')
does not affect amavisd, and I'd expect it does not affect other
servers based on Net::Server module - although there may be a
case of some service (yet to be found) which may not like it.
A simple solution there is to specify a family-specific binding
address instead of '*' or undef.
Amavisd-new-2.7.0 allows more flexibility in specifying binding
addresses for Net::Server: the $inet_socket_bind can accept an
IPv6 address or a list of addresses, and the new @listen_sockets
setting is just a generalization of this, allowing for any mix of
inet, inet6 and unix sockets in any order. See RELEASE_NOTES.
A patched Net::Server does not require amavisd-new-2.7.0.
Older versions work just fine, except that some of these new
configuration options are not available.
If an IPv6 address is specified in @listen_sockets or $inet_socket_bind,
this requires a patched Net::Server, the original one would choke
on the syntax.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 10298 bytes
Desc: not available
More information about the amavis-users