Portable IPv6 support for purple_network_listen
elb at pidgin.im
Fri Apr 16 08:52:38 EDT 2010
Paul Aurich spake unto us the following wisdom:
> On 2010-04-12 19:50, Paul Aurich wrote:
> > I'd like to add explicit protocol support to purple_network_listen and
> > purple_network_listen_range, so that callers can request either an IPv4
> > or IPv6 socket (there's an IPv6 feature on some stacks that allows a
> > socket to accept either IPv4 or IPv6 connections, but support on
> > non-Linux, non-OS X platforms is limited (and at least Debian plans on
> > having it disabled by default in Squeeze), so the portable solution,
> > IMHO, is to explicitly use two sockets).
> After talking with Mark and Ethan in devel at cpi, here's an updated patch.
> With this version, callers can only use one socket if they generate an
> IPv6 listener and purple_socket_speaks_ipv4(socket) returns TRUE, though
> callers still must handle the case where it's FALSE (or, in most cases,
> just use IPv4 since the protocol doesn't support (or hasn't been REd)
> IPv6 ;) ).
Looks good to me. The only thing I see that might be an issue is
AF_UNSPEC -- I don't know how universal it is. (It might be perfectly
universal.) We might as well stick it in and deal with that if it
becomes a problem, though. 0 can safely be used in its place if
The laws that forbid the carrying of arms are laws [that have no remedy
for evils]. They disarm only those who are neither inclined nor
determined to commit crimes.
-- Cesare Beccaria, "On Crimes and Punishments", 1764
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 481 bytes
Desc: Digital signature
More information about the Devel