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);
|