gethostbyaddr_r doesn't populate h_addrtype field of output hostent struct
The glibc implementation of gethostbyaddr_r will set h_addrtype to the address family that was passed in as an argument. Some programs depend on this (CPython is the one I noticed) for correct operation.
The current behavior leaves the field unchanged and likely provides an undefined value to the caller. In the case of CPython, this results in socket.gethostbyaddr
always raising EAFNOSUPPORT.
Trac:
Username: exarkun