Created attachment 327193 [details] Patch to raise the limit of number of local interfaces handled. This patch is combines the version 5 patch and corrections used to resolve this issue. It has been slightly altered when merged to the autofs version 4 code base due to minor differences in the code. RHTS test bz458252 can be used to verify operation of autofs after the patch has been applied.
Thanks for doing all of the work, Ian!
A fix for this is available in autofs versions 4.1.3-235.4 and later.
Release note added. If any revisions are required, please set the "requires_release_notes" flag to "?" and edit the "Release Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: * the automount daemon used a buffer 128 bytes long to pass information to SIOCGIFCONF about the addresses on the local machine. Since the details of each interface are 40 bytes long, the daemon could pass information on no more than three local interfaces. Autofs would therefore correctly mount NFS directories that mapped to three local IP addresses, but directories mapped to any further local IP addresses were treated as if they were on remote systems. The automount daemon now dynamically allocates a buffer, ensuring that it is large enough to contain information on all interfaces on the system. Directories mapped to local IP addresses are now correctly represented as part of the local system.
Release note updated. If any revisions are required, please set the "requires_release_notes" flag to "?" and edit the "Release Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1 +1,2 @@ -* the automount daemon used a buffer 128 bytes long to pass information to SIOCGIFCONF about the addresses on the local machine. Since the details of each interface are 40 bytes long, the daemon could pass information on no more than three local interfaces. Autofs would therefore correctly mount NFS directories that mapped to three local IP addresses, but directories mapped to any further local IP addresses were treated as if they were on remote systems. The automount daemon now dynamically allocates a buffer, ensuring that it is large enough to contain information on all interfaces on the system. Directories mapped to local IP addresses are now correctly represented as part of the local system.+* the automount daemon used fixed size buffer of 128 bytes long to receive information from the SIOCGIFCONF ioctl about local interfaces when testing for the proximity of a host corresponding to a given mount. Since the details of each interface are 40 bytes long, the daemon could receive information on no more than three local interfaces. If the host corresponding to the mount had an address that was local but did not correspond to one of the three interfaces the proximity would be classified incorrectly. +The automount daemon now dynamically allocates a buffer, ensuring that it is large enough to contain information on all interfaces on the system providing the ability to correctly detect proximity of a host given for an NFS mount.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2009-0991.html