{section: Note for constants} Don't forget constants that should be adjusted! MAXMACHNAME : seen in file_transfer_db.c, stores the result of sin_to_hostname. {section: Ulrich Mystery} Ulrich's Userlevel IPv6 Programming Introductionn - http://people.redhat.com/drepper/userapi-ipv6.html He denotes gethostbyaddr() as an obsolete. However, gethostbyaddr() accepts a socket type as a parameter. (AF_INET, AF_INET6) That means it should work well with IPv6. Why it is obsolete?? {section: Converting Sock} Sock is not only used by TCP/UDP connection but also used by Unix domain socket (AF_UNIX). Basically, Sock can only create TCP or UDP socket internally but SharedEndPoint and SharedPortClient creates Unix domain socket and calls Sock::assign() to pass the descriptor. I guess this is broken abstraction since Sock has IP related functions such as peer_addr() or peer_port() which are not available to Unix domain socket. It seems assign() is only used by these Shared* thing. So maybe we could end up with refactoring it. {section: What is it?} TCP_FORWARDING_HOST ?