Socket addresses in the Python socket interface are represented in
multiple different ways according to the socket family. Both AF_INET and
AF_INET6 families use tuples with the host as the first element.
Currently we extract the host from the first element of such a tuple,
and ignore the other element. Since AF_INET6 has four elements, this
will fail with a ValueError.
To support AF_INET6 requests, make sure to store whatever is left of the
tuple in a list instead.