This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Stijn.Hoop
Recipients BreamoreBoy, Stijn.Hoop, ankitoshniwal, dfranke, loewis, mcjeff, r.david.murray
Date 2013-04-18.10:14:06
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
OK, fair enough.

From reading sources, it appears that hostname is using getaddrinfo(3) on kernelhostname with hints->ai_flags & AI_CANONNAME, while Lib/ 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:

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

However, switching Lib/ / 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?
Date User Action Args
2013-04-18 10:14:07Stijn.Hoopsetrecipients: + Stijn.Hoop, loewis, r.david.murray, dfranke, mcjeff, BreamoreBoy, ankitoshniwal
2013-04-18 10:14:07Stijn.Hoopsetmessageid: <>
2013-04-18 10:14:07Stijn.Hooplinkissue5004 messages
2013-04-18 10:14:06Stijn.Hoopcreate