Bug 130733
Summary: | sysconf(_SC_HOST_NAME_MAX) returns -1, when in fact the maximum hostname size is 64 | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 3 | Reporter: | Nick Stoughton <nick> |
Component: | glibc | Assignee: | Jakub Jelinek <jakub> |
Status: | CLOSED RAWHIDE | QA Contact: | Brian Brock <bbrock> |
Severity: | low | Docs Contact: | |
Priority: | medium | ||
Version: | 3.0 | CC: | drepper, redhat-bugzilla, roland |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i686 | ||
OS: | Linux | ||
URL: | http://www.msbit.com/LSB/hostname.c | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2004-09-30 09:54:57 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Nick Stoughton
2004-08-24 00:36:30 UTC
Current CVS glibc returns 64 (since 2004-03-12), but I don't think it is right either. _POSIX_HOST_NAME_MAX is 255 and the standard says it must be at least _POSIX_HOST_NAME_MAX. In the description of {,_SC_}HOST_NAME_MAX there is no word about sethostname though, just that gethostname never returns a longer name. So I think using HOST_NAME_MAX 255 would be ok too. You are right ... sethostname() is not in POSIX at all ... and so I believe it is theoretically OK to make HOST_NAME_MAX 255. An application would then know that if it provides a 255 byte buffer to gethostname(), it will work (or at leat, it won't fail because the buffer is too small). Of course, there is the *suggestion* that you can *set* the hostname to this length, which you currently can't. I think the current CVS solution, of returning 64, is the best all round: ask the system how long a host name can be, set the host name to something no longer, & it should work (with appropriate privilege). It would be very weird if [gs]ethostname() had different max name lengths. I suppose we could add to the LSB a warning that the lengths are different for get/sethostname, just as we could add a warning that we have reduced _POSIX_HOST_NAME_MAX from 255 to 64. [[whichever path you choose, I will try and ensure that the LSB follows it!]] The current code uses 64. |