[rpcbind/f17] Stop rpcbind from "swallowing" broadcast RPC replies (bz 869365)

Steve Dickson steved at fedoraproject.org
Tue Oct 23 17:30:30 UTC 2012


commit cacba0e5af997af8cb64cbcf14919b3ffe6f6990
Author: Steve Dickson <steved at redhat.com>
Date:   Tue Oct 23 13:26:29 2012 -0400

    Stop rpcbind from "swallowing" broadcast RPC replies (bz 869365)
    
    Signed-off-by: Steve Dickson <steved at redhat.com>

 rpcbind-0.2.0-broadcast.patch |   35 +++++++++++++++++++++++++++++++++++
 rpcbind.spec                  |    7 ++++++-
 2 files changed, 41 insertions(+), 1 deletions(-)
---
diff --git a/rpcbind-0.2.0-broadcast.patch b/rpcbind-0.2.0-broadcast.patch
new file mode 100644
index 0000000..0118ab3
--- /dev/null
+++ b/rpcbind-0.2.0-broadcast.patch
@@ -0,0 +1,35 @@
+commit 86036582c001e99075f4d74cb3829df39f2a9ddf
+Author: Frank Hirtz <fhirtz at redhat.com>
+Date:   Tue Oct 23 11:38:20 2012 -0400
+
+    rpcbind is "swallowing" broadcast RPC replies
+    
+    If xp_auth is NULL, the transport routines will not send
+    the reply. This patch fixes that problem.
+    
+    Signed-off-by: Steve Dickson <steved at redhat.com>
+
+diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
+index 5bb9a44..f6bd6bd 100644
+--- a/src/rpcb_svc_com.c
++++ b/src/rpcb_svc_com.c
+@@ -1227,6 +1227,8 @@ send_svcsyserr(SVCXPRT *xprt, struct finfo *fi)
+ 	return;
+ }
+ 
++extern SVCAUTH svc_auth_none;
++
+ static void
+ handle_reply(int fd, SVCXPRT *xprt)
+ {
+@@ -1293,7 +1295,10 @@ handle_reply(int fd, SVCXPRT *xprt)
+ 	a.rmt_localvers = fi->versnum;
+ 
+ 	xprt_set_caller(xprt, fi);
++	xprt->xp_auth = &svc_auth_none;
+ 	svc_sendreply(xprt, (xdrproc_t) xdr_rmtcall_result, (char *) &a);
++	SVCAUTH_DESTROY(xprt->xp_auth);
++	xprt->xp_auth = NULL;
+ done:
+ 	if (buffer)
+ 		free(buffer);
diff --git a/rpcbind.spec b/rpcbind.spec
index 189a155..4c5ae49 100644
--- a/rpcbind.spec
+++ b/rpcbind.spec
@@ -1,6 +1,6 @@
 Name:           rpcbind
 Version:        0.2.0
-Release:        18%{?dist}
+Release:        19%{?dist}
 Summary:        Universal Addresses to RPC Program Number Mapper
 Group:          System Environment/Daemons
 License:        BSD
@@ -14,6 +14,7 @@ Source3: rpcbind.sysconfig
 
 Patch001: rpcbind-0_2_1-rc3.patch
 Patch002: rpcbind-0.2.0-rpcuser.patch
+Patch003: rpcbind-0.2.0-broadcast.patch
 
 Requires: glibc-common setup
 Conflicts: man-pages < 2.43-12
@@ -36,6 +37,7 @@ RPC calls on a server on that machine.
 %setup -q
 %patch001 -p1
 %patch002 -p1
+%patch003 -p1
 
 %build
 %ifarch s390 s390x
@@ -135,6 +137,9 @@ fi
 %dir %attr(700,rpc,rpc) /var/lib/rpcbind
 
 %changelog
+* Tue Oct 23 2012 Steve Dickson <steved at redhat.com> - 0.2.0-18
+- Stop rpcbind from "swallowing" broadcast RPC replies (bz 869365)
+
 * Tue Oct 16 2012 Steve Dickson <steved at redhat.com> - 0.2.0-18
 - Renamed RPCBINDOPTS to RPCBIND_ARGS for backward compatibility (bz 861025)
 


More information about the scm-commits mailing list