IPv6-only servers do not work with the existing socket code
At the moment, IPv6 servers and clients cannot connect through this proxy due to the use of AF_INET and sin_addr->s_addr as a uint32_t in various parts of the proxy list routine. I can work on a pull request which would address this, but for the moment hopefully this issue will serve to help people experiencing issues understand what steps might be taken in order to enable server-only IPv6 compatiblity, which for most networks might be sufficient.
The existing logic for checking whether the new client IP = the old client IP could be maintained by using a uint128_t type like GCC provides, but the use of a function like memcmp or just iteratively checking the array might be better for portability.
With all luck I can try to make a pull-request enabling IPv6 before October the first.
I cannot test this easily with ipv6, any extra help is appreciated. Thanks.