Adrian Knoth <a...@drcomp.erfurt.thur.de>:
>(I really prefer the v6-mapped-v4 solution with a single
> socket, thus eliminating this problem)

One little problem here is that it is possible to disable the
IPv6-mapped IPv4 addresses at least under Linux and some BSD variants.
For Linux, have a look at sys.net.ipv6.bindv6only.  Some authors even
recommend to do so for security considerations (for example, Murphy &
Malone in IPv6 Network Administration, O'Reilly 2005). 

So the approach that maximizes the environments where it works out of
the box is this: Call getaddrinfo with PF_UNSPEC and open a socket for
each IP version it returns (usually this means two sockets on
IPv6-enabled hosts, but this may change in the future... who knows?)

If the connection handling code already makes use of one big select
loop, this should not be *too* hard...

  Christian

-- 
Dipl.-Inf. Christian Kauhaus                               <><
Lehrstuhl fuer Rechnerarchitektur und -kommunikation 
Institut fuer Informatik * Ernst-Abbe-Platz 1-2 * D-07743 Jena
Tel: +49 3641 9 46376  *  Fax: +49 3641 9 46372   *  Raum 3217

Reply via email to