- mount.nfs: Configuration file parser ignoring options
- mount.nfs: Set the default family for lookups based on defaultproto= setting - Enabled ipv6
This commit is contained in:
parent
257636d5d7
commit
9eb77489c1
76
nfs-utils-1.2.1-default-family.patch
Normal file
76
nfs-utils-1.2.1-default-family.patch
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
diff -up nfs-utils-1.2.1/utils/mount/configfile.c.orig nfs-utils-1.2.1/utils/mount/configfile.c
|
||||||
|
--- nfs-utils-1.2.1/utils/mount/configfile.c.orig 2010-01-21 05:20:04.257284410 -0500
|
||||||
|
+++ nfs-utils-1.2.1/utils/mount/configfile.c 2010-01-21 05:20:49.616131234 -0500
|
||||||
|
@@ -222,6 +222,12 @@ int inline check_vers(char *mopt, char *
|
||||||
|
|
||||||
|
unsigned long config_default_vers;
|
||||||
|
unsigned long config_default_proto;
|
||||||
|
+#ifdef IPV6_SUPPORTED
|
||||||
|
+sa_family_t config_default_family = AF_UNSPEC;
|
||||||
|
+#else
|
||||||
|
+sa_family_t config_default_family = AF_INET;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Check to see if a default value is being set.
|
||||||
|
* If so, set the appropriate global value which will
|
||||||
|
@@ -243,6 +249,12 @@ int inline default_value(char *mopt)
|
||||||
|
xlog_warn("Unable to set default protocol : %s",
|
||||||
|
strerror(errno));
|
||||||
|
}
|
||||||
|
+#ifdef IPV6_SUPPORTED
|
||||||
|
+ if (!nfs_nfs_proto_family(options, &config_default_family)) {
|
||||||
|
+ xlog_warn("Unable to set default family : %s",
|
||||||
|
+ strerror(errno));
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
} else {
|
||||||
|
xlog_warn("Unable to alloc memory for default protocol");
|
||||||
|
}
|
||||||
|
diff -up nfs-utils-1.2.1/utils/mount/network.c.orig nfs-utils-1.2.1/utils/mount/network.c
|
||||||
|
--- nfs-utils-1.2.1/utils/mount/network.c.orig 2010-01-21 05:20:04.252304404 -0500
|
||||||
|
+++ nfs-utils-1.2.1/utils/mount/network.c 2010-01-21 05:20:49.617183039 -0500
|
||||||
|
@@ -54,6 +54,16 @@
|
||||||
|
#include "network.h"
|
||||||
|
#include "conffile.h"
|
||||||
|
|
||||||
|
+#ifdef MOUNT_CONFIG
|
||||||
|
+extern sa_family_t config_default_family;
|
||||||
|
+#else
|
||||||
|
+#ifdef IPV6_SUPPORTED
|
||||||
|
+sa_family_t config_default_family = AF_UNSPEC;
|
||||||
|
+#else
|
||||||
|
+sa_family_t config_default_family = AF_INET;
|
||||||
|
+#endif
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#define PMAP_TIMEOUT (10)
|
||||||
|
#define CONNECT_TIMEOUT (20)
|
||||||
|
#define MOUNT_TIMEOUT (30)
|
||||||
|
@@ -1342,12 +1352,7 @@ int nfs_nfs_proto_family(struct mount_op
|
||||||
|
unsigned long protocol;
|
||||||
|
char *option;
|
||||||
|
|
||||||
|
-#ifdef IPV6_SUPPORTED
|
||||||
|
- *family = AF_UNSPEC;
|
||||||
|
-#else
|
||||||
|
- *family = AF_INET;
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
+ *family = config_default_family;
|
||||||
|
switch (po_rightmost(options, nfs_transport_opttbl)) {
|
||||||
|
case 0: /* udp */
|
||||||
|
return 1;
|
||||||
|
@@ -1489,11 +1494,7 @@ int nfs_mount_proto_family(struct mount_
|
||||||
|
unsigned long protocol;
|
||||||
|
char *option;
|
||||||
|
|
||||||
|
-#ifdef HAVE_LIBTIRPC
|
||||||
|
- *family = AF_UNSPEC;
|
||||||
|
-#else
|
||||||
|
- *family = AF_INET;
|
||||||
|
-#endif
|
||||||
|
+ *family = config_default_family;
|
||||||
|
|
||||||
|
option = po_get(options, "mountproto");
|
||||||
|
if (option != NULL)
|
53
nfs-utils-1.2.1-mount-config.patch
Normal file
53
nfs-utils-1.2.1-mount-config.patch
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
commit d63f9e0ccb836d592593a9816ccc00a51c903328
|
||||||
|
Author: Steve Dickson <steved@redhat.com>
|
||||||
|
Date: Wed Jan 20 15:05:46 2010 -0500
|
||||||
|
|
||||||
|
mount.nfs: Configuration file parser ignoring options
|
||||||
|
|
||||||
|
When the protocol version is set on the command line,
|
||||||
|
none of the variables set in the configuration file
|
||||||
|
are passed down to the kernel due to a bug in the
|
||||||
|
parsing routine.
|
||||||
|
|
||||||
|
Tested-by: Jeff Layton <jlayton@redhat.com>
|
||||||
|
Signed-off-by: Steve Dickson <steved@redhat.com>
|
||||||
|
|
||||||
|
diff --git a/utils/mount/configfile.c b/utils/mount/configfile.c
|
||||||
|
index 28b722c..1dd4159 100644
|
||||||
|
--- a/utils/mount/configfile.c
|
||||||
|
+++ b/utils/mount/configfile.c
|
||||||
|
@@ -194,13 +194,29 @@ void free_all(void)
|
||||||
|
static char *versions[] = {"v2", "v3", "v4", "vers", "nfsvers", NULL};
|
||||||
|
int inline check_vers(char *mopt, char *field)
|
||||||
|
{
|
||||||
|
- int i;
|
||||||
|
+ int i, found=0;
|
||||||
|
|
||||||
|
- if (strncmp("mountvers", field, strlen("mountvers")) != 0) {
|
||||||
|
- for (i=0; versions[i]; i++)
|
||||||
|
- if (strcasestr(mopt, versions[i]) != NULL)
|
||||||
|
- return 1;
|
||||||
|
+ /*
|
||||||
|
+ * First check to see if the config setting is one
|
||||||
|
+ * of the many version settings
|
||||||
|
+ */
|
||||||
|
+ for (i=0; versions[i]; i++) {
|
||||||
|
+ if (strcasestr(field, versions[i]) != NULL) {
|
||||||
|
+ found++;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
+ if (!found)
|
||||||
|
+ return 0;
|
||||||
|
+ /*
|
||||||
|
+ * It appears the version is being set, now see
|
||||||
|
+ * if the version appears on the command
|
||||||
|
+ */
|
||||||
|
+ for (i=0; versions[i]; i++) {
|
||||||
|
+ if (strcasestr(mopt, versions[i]) != NULL)
|
||||||
|
+ return 1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
@ -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.2.1
|
Version: 1.2.1
|
||||||
Release: 12%{?dist}
|
Release: 13%{?dist}
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
|
|
||||||
# group all 32bit related archs
|
# group all 32bit related archs
|
||||||
@ -21,6 +21,8 @@ Source15: nfs.sysconfig
|
|||||||
Patch000: nfs-utils-1.2.2-rc8.patch
|
Patch000: nfs-utils-1.2.2-rc8.patch
|
||||||
Patch001: nfs-utils-1.2.1-compile.patch
|
Patch001: nfs-utils-1.2.1-compile.patch
|
||||||
Patch002: nfs-utils-1.2.1-statdpath.patch
|
Patch002: nfs-utils-1.2.1-statdpath.patch
|
||||||
|
Patch003: nfs-utils-1.2.1-mount-config.patch
|
||||||
|
Patch004: nfs-utils-1.2.1-default-family.patch
|
||||||
|
|
||||||
Patch100: nfs-utils-1.2.1-statdpath-man.patch
|
Patch100: nfs-utils-1.2.1-statdpath-man.patch
|
||||||
Patch101: nfs-utils-1.2.1-exp-subtree-warn-off.patch
|
Patch101: nfs-utils-1.2.1-exp-subtree-warn-off.patch
|
||||||
@ -75,6 +77,8 @@ This package also contains the mount.nfs and umount.nfs program.
|
|||||||
%patch000 -p1
|
%patch000 -p1
|
||||||
%patch001 -p1
|
%patch001 -p1
|
||||||
%patch002 -p1
|
%patch002 -p1
|
||||||
|
%patch003 -p1
|
||||||
|
%patch004 -p1
|
||||||
|
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
@ -100,6 +104,7 @@ CFLAGS="`echo $RPM_OPT_FLAGS $ARCH_OPT_FLAGS $PIE -D_FILE_OFFSET_BITS=64`"
|
|||||||
LDFLAGS="-pie" \
|
LDFLAGS="-pie" \
|
||||||
--enable-mount \
|
--enable-mount \
|
||||||
--enable-mountconfig \
|
--enable-mountconfig \
|
||||||
|
--enable-ipv6 \
|
||||||
--with-statdpath=/var/lib/nfs/statd
|
--with-statdpath=/var/lib/nfs/statd
|
||||||
|
|
||||||
make all
|
make all
|
||||||
@ -250,6 +255,12 @@ fi
|
|||||||
%attr(4755,root,root) /sbin/umount.nfs4
|
%attr(4755,root,root) /sbin/umount.nfs4
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jan 21 2010 Steve Dickson <steved@redhat.com> 1.2.1-13
|
||||||
|
- mount.nfs: Configuration file parser ignoring options
|
||||||
|
- mount.nfs: Set the default family for lookups based on
|
||||||
|
defaultproto= setting
|
||||||
|
- Enabled ipv6
|
||||||
|
|
||||||
* Sun Jan 17 2010 Steve Dickson <steved@redhat.com> 1.2.1-12
|
* Sun Jan 17 2010 Steve Dickson <steved@redhat.com> 1.2.1-12
|
||||||
- Updated to latest upstream RC release: nfs-utils-1-2-2-rc7
|
- Updated to latest upstream RC release: nfs-utils-1-2-2-rc7
|
||||||
which includes Ipv6 support for tcpwrapper (disabled by default).
|
which includes Ipv6 support for tcpwrapper (disabled by default).
|
||||||
|
Loading…
Reference in New Issue
Block a user