Mount command did not compile against older glibc versions.

This commit is contained in:
Steve Dickson 2008-07-31 09:40:41 +00:00
parent 50559afdb0
commit 499428652c
2 changed files with 57 additions and 1 deletions

View File

@ -0,0 +1,49 @@
commit 2d173a587a7dbee81ffaf246d044f384fb6487c8
Author: Chuck Lever <chuck.lever@oracle.com>
Date: Thu Jul 31 05:24:18 2008 -0400
mount.nfs command: old glibc missing some flags
Old versions of glibc (< 2.4) have a getaddrinfo(3) implementation, but
do not include public definitions of the AI_V4MAPPED, AI_ALL, and
AI_ADDRCONFIG flags because it was believed that these flags were not
standardized. However, these flags have standard definitions both in
POSIX 1003 and in RFCs, and were thus included in later releases of
glibc.
To allow the mount.nfs command to build on systems with these older
versions of glibc, add conditional definitions for these flags in
utils/mount/network.c.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
diff --git a/utils/mount/network.c b/utils/mount/network.c
index 75354a7..0023769 100644
--- a/utils/mount/network.c
+++ b/utils/mount/network.c
@@ -48,6 +48,24 @@
#include "mount_constants.h"
#include "network.h"
+/*
+ * Earlier versions of glibc's /usr/include/netdb.h exclude these
+ * definitions because it was thought they were not part of a stable
+ * POSIX standard. However, they are defined by RFC 2553 and 3493
+ * and in POSIX 1003.1-2001, so these definitions were added in later
+ * versions of netdb.h.
+ */
+#ifndef AI_V4MAPPED
+#define AI_V4MAPPED 0x0008 /* IPv4-mapped addresses are acceptable. */
+#endif /* AI_V4MAPPED */
+#ifndef AI_ALL
+#define AI_ALL 0x0010 /* Return both IPv4 and IPv6 addresses. */
+#endif /* AI_ALL */
+#ifndef AI_ADDRCONFIG
+#define AI_ADDRCONFIG 0x0020 /* Use configuration of this host to choose \
+ returned address type. */
+#endif /* AI_ADDRCONFIG */
+
#define PMAP_TIMEOUT (10)
#define CONNECT_TIMEOUT (20)
#define MOUNT_TIMEOUT (30)

View File

@ -2,7 +2,7 @@ Summary: NFS utilities and supporting clients and daemons for the kernel NFS ser
Name: nfs-utils Name: nfs-utils
URL: http://sourceforge.net/projects/nfs URL: http://sourceforge.net/projects/nfs
Version: 1.1.3 Version: 1.1.3
Release: 1%{?dist} Release: 2%{?dist}
Epoch: 1 Epoch: 1
# group all 32bit related archs # group all 32bit related archs
@ -30,6 +30,8 @@ Patch02: nfs-utils-1.1.0-exp-subtree-warn-off.patch
Patch90: nfs-utils-1.1.0-mount-fsc.patch Patch90: nfs-utils-1.1.0-mount-fsc.patch
%endif %endif
Patch100: nfs-utils-1.1.3-glibc22.patch
Group: System Environment/Daemons Group: System Environment/Daemons
Provides: exportfs = %{epoch}:%{version}-%{release} Provides: exportfs = %{epoch}:%{version}-%{release}
Provides: nfsstat = %{epoch}:%{version}-%{release} Provides: nfsstat = %{epoch}:%{version}-%{release}
@ -83,6 +85,8 @@ This package also contains the mount.nfs and umount.nfs program.
%patch90 -p1 %patch90 -p1
%endif %endif
%patch100 -p1
# Remove .orig files # Remove .orig files
find . -name "*.orig" | xargs rm -f find . -name "*.orig" | xargs rm -f
@ -241,6 +245,9 @@ fi
%attr(4755,root,root) /sbin/umount.nfs4 %attr(4755,root,root) /sbin/umount.nfs4
%changelog %changelog
* Thu Jul 31 2008 Steve Dickson <steved@redhat.com> 1.1.3-2
- Mount command did not compile against older glibc versions.
* Mon Jul 28 2008 Steve Dickson <steved@redhat.com> 1.1.3-1 * Mon Jul 28 2008 Steve Dickson <steved@redhat.com> 1.1.3-1
- Updated to latest upstream version: 1.1.3 - Updated to latest upstream version: 1.1.3