From: Steve Dickson Date: Fri, 19 Apr 2013 17:11:43 +0000 (-0400) Subject: mount: No longer negotiate to v2 X-Git-Tag: debian/1%1.2.8-1~11^2^2~5 X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=commitdiff_plain;h=2a0f1422a891776ecad49109102f1dde8bef1cf9 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 Signed-off-by: Steve Dickson --- 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;