commit 86036582c001e99075f4d74cb3829df39f2a9ddf Author: Frank Hirtz 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 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);