From 27a49079b03316eebcbc74197b73988b01b58ecc Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Thu, 5 Mar 2009 06:20:40 -0500 Subject: nfs-utils: Provide type-checked version of svc_getcaller() TI-RPC's version of the svc_getcaller() macro points to a sockaddr_in6, not a sockaddr_in, though for AF_INET callers, an AF_INET address resides there. To squelch compiler warnings when the TI-RPC version of the svc_req structure is used, add inline helpers with appropriate type casting. Note that tcp_wrappers support only AF_INET addresses for now. Signed-off-by: Chuck Lever Signed-off-by: Steve Dickson --- utils/statd/callback.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'utils/statd/callback.c') diff --git a/utils/statd/callback.c b/utils/statd/callback.c index 505fdb3..8885238 100644 --- a/utils/statd/callback.c +++ b/utils/statd/callback.c @@ -9,10 +9,13 @@ #ifdef HAVE_CONFIG_H #include #endif + +#include + +#include "rpcmisc.h" #include "misc.h" #include "statd.h" #include "notlist.h" -#include /* Callback notify list. */ /* notify_list *cbnl = NULL; ... never used */ @@ -29,8 +32,8 @@ sm_notify_1_svc(struct stat_chge *argp, struct svc_req *rqstp) { notify_list *lp, *call; static char *result = NULL; - char *ip_addr = xstrdup(inet_ntoa(svc_getcaller(rqstp->rq_xprt) - ->sin_addr)); + struct sockaddr_in *sin = nfs_getrpccaller_in(rqstp->rq_xprt); + char *ip_addr = xstrdup(inet_ntoa(sin->sin_addr)); dprintf(N_DEBUG, "Received SM_NOTIFY from %s, state: %d", argp->mon_name, argp->state); -- cgit