Stijn Hoop added the comment:

OK, fair enough.

>From reading sources, it appears that hostname is using getaddrinfo(3) on 
>kernelhostname with hints->ai_flags & AI_CANONNAME, while Lib/socket.py simply 
>uses gethostbyaddr(kernelhostname), and falls back on kernelhostname in case 
>of errors.

Unfortunately I am not entirely sure who is "correct" here, as I don't know the 
intent of socket.getfqdn().

In my case, kernelhostname is set to 'pclin281' e.g. without the dots. I 
believe this to be correct, but I know that this is already "controversial" as 
in there exists software that expects an FQDN there, and internet folklore is 
split about 50/50 about this necessity.

Then, apparently, there is confusion about AI_CANONNAME and what it actually 
should do. glibc upstream does address lookups but Fedora patches this out. See 
this recent glibc bug for more pointers:

http://sourceware.org/bugzilla/show_bug.cgi?id=15218

As mentioned in that bug, a lot of software runs on Fedora and works using that 
definition of AI_CANONNAME.

However, switching Lib/socket.py / getfqdn from gethostbyaddr to getaddrinfo 
might have more implications than just fixing this case. I can try to write a 
patch, but is this the right direction?

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue5004>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to