summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Dickson <steved@redhat.com>2013-04-19 13:11:43 -0400
committerSteve Dickson <steved@redhat.com>2013-04-22 12:47:20 -0400
commit2a0f1422a891776ecad49109102f1dde8bef1cf9 (patch)
tree2ce1e915eb1e4eac3941b98bf59bb05ac1c144e6
parent6eba4e22ce2b10bcfb19fbb253f7e235afbaa406 (diff)
downloadnfs-utils-2a0f1422a891776ecad49109102f1dde8bef1cf9.tar.gz
nfs-utils-2a0f1422a891776ecad49109102f1dde8bef1cf9.tar.xz
nfs-utils-2a0f1422a891776ecad49109102f1dde8bef1cf9.zip
mount: No longer negotiate to v2
This patch remove the ability of negotiating to the v2 protocol. Explicitly setting the version on the command line will be the only way to use v2. Signed-off-by: Steve Dickson <steved@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r--utils/mount/network.c13
-rw-r--r--utils/mount/stropts.c2
2 files changed, 7 insertions, 8 deletions
diff --git a/utils/mount/network.c b/utils/mount/network.c
index e7bd522..4be48cd 100644
--- a/utils/mount/network.c
+++ b/utils/mount/network.c
@@ -155,9 +155,8 @@ static const unsigned long probe_nfs2_only[] = {
0,
};
-static const unsigned long probe_nfs3_first[] = {
+static const unsigned long probe_nfs3_only[] = {
3,
- 2,
0,
};
@@ -167,10 +166,8 @@ static const unsigned long probe_mnt1_first[] = {
0,
};
-static const unsigned long probe_mnt3_first[] = {
+static const unsigned long probe_mnt3_only[] = {
3,
- 1,
- 2,
0,
};
@@ -626,7 +623,7 @@ static int nfs_probe_nfsport(const struct sockaddr *sap, const socklen_t salen,
probe_proto = nfs_default_proto();
return nfs_probe_port(sap, salen, pmap,
- probe_nfs3_first, probe_proto);
+ probe_nfs3_only, probe_proto);
} else
return nfs_probe_port(sap, salen, pmap,
probe_nfs2_only, probe_udp_only);
@@ -653,7 +650,7 @@ static int nfs_probe_mntport(const struct sockaddr *sap, const socklen_t salen,
if (nfs_mount_data_version >= 4)
return nfs_probe_port(sap, salen, pmap,
- probe_mnt3_first, probe_udp_first);
+ probe_mnt3_only, probe_udp_first);
else
return nfs_probe_port(sap, salen, pmap,
probe_mnt1_first, probe_udp_only);
@@ -717,7 +714,7 @@ int nfs_probe_bothports(const struct sockaddr *mnt_saddr,
memcpy(&save_nfs, nfs_pmap, sizeof(save_nfs));
memcpy(&save_mnt, mnt_pmap, sizeof(save_mnt));
probe_vers = (nfs_mount_data_version >= 4) ?
- probe_mnt3_first : probe_mnt1_first;
+ probe_mnt3_only : probe_mnt1_first;
for (; *probe_vers; probe_vers++) {
nfs_pmap->pm_vers = mntvers_to_nfs(*probe_vers);
diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
index 8ee3024..1dc38ef 100644
--- a/utils/mount/stropts.c
+++ b/utils/mount/stropts.c
@@ -542,6 +542,8 @@ nfs_rewrite_pmap_mount_options(struct mount_options *options)
errno = EACCES;
else if (rpc_createerr.cf_stat == RPC_TIMEDOUT)
errno = ETIMEDOUT;
+ else if (rpc_createerr.cf_stat == RPC_PROGVERSMISMATCH)
+ errno = EPROTONOSUPPORT;
else if (rpc_createerr.cf_error.re_errno != 0)
errno = rpc_createerr.cf_error.re_errno;
return 0;