91ff6aa42e
- Add 0002-revert-auth.patch: revert old patch no longer working with libtirpc 1.0.1 (http://sourceforge.net/p/libtirpc/mailman/message/34585439/) - Add 099-poll.patch: use libtirpc with poll() implementation OBS-URL: https://build.opensuse.org/request/show/345010 OBS-URL: https://build.opensuse.org/package/show/network/rpcbind?expand=0&rev=56
36 lines
974 B
Diff
36 lines
974 B
Diff
commit 86036582c001e99075f4d74cb3829df39f2a9ddf
|
|
Author: Frank Hirtz <fhirtz@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@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);
|