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;hp=6eba4e22ce2b10bcfb19fbb253f7e235afbaa406 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;