Do alter your function write_client_addr() to use a fuller
printout:

   snprintf(outputbuff, sizeof(outputbuff),
            "Address family %d.\n"
            "Incoming address is %s.\n",
            addr.sin6_family,
            addrbuff);

You will probably observe adress family 2 (=AF_INET) every
time you get the alleged "random" number. You have written
your lookup using AF_INET6, thus is fails on AF_INET since
the code is investigating uninitialized memory. Remember
that "in6_addr" and "in_addr" are not at identical offset
in relation to the beginning of "sockaddr_in6" and "sockaddr_in".

If you can prove the same irregularity using "nc6", and if you
rewrite the client to be address family agnostic, then you will
have our full interest again.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to