[autofs] - fix portmap not trying proto v2.
Ian Kent
iankent at fedoraproject.org
Wed Feb 19 02:18:07 UTC 2014
commit cd333c7cf8b83d0755048c3c795c7d4fb08e78e9
Author: Ian Kent <raven at themaw.net>
Date: Wed Feb 19 10:18:32 2014 +0800
- fix portmap not trying proto v2.
autofs-5.0.8-fix-portmap-not-trying-proto-v2.patch | 59 ++++++++++++++++++++
autofs.spec | 7 ++-
2 files changed, 65 insertions(+), 1 deletions(-)
---
diff --git a/autofs-5.0.8-fix-portmap-not-trying-proto-v2.patch b/autofs-5.0.8-fix-portmap-not-trying-proto-v2.patch
new file mode 100644
index 0000000..73b7b6b
--- /dev/null
+++ b/autofs-5.0.8-fix-portmap-not-trying-proto-v2.patch
@@ -0,0 +1,59 @@
+autofs-5.0.8 - fix portmap not trying proto v2
+
+From: Ian Kent <raven at themaw.net>
+
+The latest change to fix a problem with getting an exports list
+from a server doesn't try portmap version 2 when trying to get
+a service port number. This causes servers that offer only
+version 2 to not be able to provide a service port number.
+---
+ CHANGELOG | 1 +
+ lib/rpc_subs.c | 17 ++++++++++++++++-
+ 2 files changed, 17 insertions(+), 1 deletion(-)
+
+--- autofs-5.0.8.orig/CHANGELOG
++++ autofs-5.0.8/CHANGELOG
+@@ -6,6 +6,7 @@
+ - allow --with-systemd to take a path arg.
+ - fix WITH_LIBTIRPC function name.
+ - fix ipv6 libtirpc getport.
++- fix protmap not trying proto v2.
+
+ 17/10/2013 autofs-5.0.8
+ =======================
+--- autofs-5.0.8.orig/lib/rpc_subs.c
++++ autofs-5.0.8/lib/rpc_subs.c
+@@ -524,10 +524,15 @@ static enum clnt_stat rpc_rpcb_getport(C
+ if (rpcerr.re_vers.low > RPCBVERS4)
+ return status;
+ continue;
++
+ case RPC_PROGUNAVAIL:
+ continue;
++
++ case RPC_PROGNOTREGISTERED:
++ continue;
++
+ default:
+- /* Most likely RPC_TIMEDOUT or RPC_CANTRECV */
++ /* Most likely RPC_TIMEDOUT or RPC_CANTRECV */
+ return status;
+ }
+ }
+@@ -575,6 +580,16 @@ static enum clnt_stat rpc_getport(struct
+ free(netid);
+ free(raddr);
+
++ if (status == RPC_PROGNOTREGISTERED) {
++ /* Last chance, version 2 uses a different procedure */
++ rpcvers_t rpcb_version = PMAPVERS;
++ CLNT_CONTROL(client, CLSET_VERS, (void *) &rpcb_version);
++ status = clnt_call(client, PMAPPROC_GETPORT,
++ (xdrproc_t) xdr_pmap, (caddr_t) parms,
++ (xdrproc_t) xdr_u_short, (caddr_t) port,
++ info->timeout);
++ }
++
+ return status;
+ }
+ #endif
diff --git a/autofs.spec b/autofs.spec
index dae3c38..14b5a33 100644
--- a/autofs.spec
+++ b/autofs.spec
@@ -8,7 +8,7 @@
Summary: A tool for automatically mounting and unmounting filesystems
Name: autofs
Version: 5.0.8
-Release: 5%{?dist}
+Release: 6%{?dist}
Epoch: 1
License: GPLv2+
Group: System Environment/Daemons
@@ -24,6 +24,7 @@ Patch8: autofs-5.0.8-fix-ipv6-link-local-address-handling.patch
Patch9: autofs-5.0.8-fix-fix-ipv6-libtirpc-getport.patch
Patch10: autofs-5.0.8-get_nfs_info-should-query-portmapper-if-port-is-not-given.patch
Patch11: autofs-5.0.8-fix-ipv6-libtirpc-getport-proto-not-set.patch
+Patch12: autofs-5.0.8-fix-portmap-not-trying-proto-v2.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if %{with_systemd}
BuildRequires: systemd-units
@@ -92,6 +93,7 @@ echo %{version}-%{release} > .version
%patch9 -p1
%patch10 -p1
%patch11 -p1
+%patch12 -p1
%build
LDFLAGS=-Wl,-z,now
@@ -183,6 +185,9 @@ fi
%dir /etc/auto.master.d
%changelog
+* Wed Feb 19 2013 Ian Kent <ikent at redhat.com> - 1:5.0.8-6
+- fix portmap not trying proto v2.
+
* Tue Dec 24 2013 Ian Kent <ikent at redhat.com> - 1:5.0.8-5
- fix ipv6 link local address handling.
- fix fix ipv6 libtirpc getport.
More information about the scm-commits
mailing list