Having some network abstraction classes, single IP address class that deals both IPv4 and IPv6. So, nobody uses sockaddr, sockaddr_in, or plain int to represent IP address. +Here is {link: http://www.boost.org/doc/libs/1_41_0/boost/asio/ip/address.hpp Boost IP address class}. In that class, they hold both IPv4 address and IPv6 address. But I think we only need one 16 byte array instead of having both. Also, we may not need to have ipv4/v6 flag because there is IPv4 address mapping in IPv6. + Change every IP address storage to that IP address class. The class itself is convertible to sockaddr_in or sockaddr_in6. However, byte-level compatibility may not be required. @@ -64,9 +66,10 @@ Manageable daily work-list. 1:investigate every source code where calls obsolete BSD socket interface. +1:make a git branch 1:remove every obsolete interface. 1:find places where use 'int' as IP address storage. mark and count them. -1:investigate ipv6 address handling in C++ Boost library +1:investigate ipv6 address handling in C++ Boost library - done 1:make unified address class 1:change every incidents where use sockaddr,sockaddr_in, and int.