From cbd3a131e5c02bbd7b92a72b3ac467d71cfee1c4 Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Thu, 14 Jan 2010 12:23:19 -0500 Subject: statd: Introduce statd version of matchhostname() For the near future, statd will support IPv6 but exportfs will not. Thus statd will need a version of matchhostname() that can deal properly with IPv6 remotes. To reduce the risk of breaking exportfs, introduce a separate version of matchhostname() for statd to use while exportfs continues to use the existing AF_INET-only implementation. Note that statd will never send matchhostname() a hostname string containing export wildcards, so is_hostame() is not needed in the statd version of matchhostname(). This saves some computational expense when comparing hostnames. A separate statd-specific implementation of matchhostname() allows some flexibility in the long term, as well. We might want to enrich the matching heuristics of our SM_NOTIFY, for example, or replace them entirely with a heuristic that is not dependent upon DNS. Signed-off-by: Chuck Lever --- utils/statd/callback.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'utils/statd/callback.c') diff --git a/utils/statd/callback.c b/utils/statd/callback.c index 2f98aeb..b1acd15 100644 --- a/utils/statd/callback.c +++ b/utils/statd/callback.c @@ -13,7 +13,6 @@ #include #include "rpcmisc.h" -#include "misc.h" #include "statd.h" #include "notlist.h" @@ -52,8 +51,8 @@ sm_notify_1_svc(struct stat_chge *argp, struct svc_req *rqstp) */ for (lp = rtnl ; lp ; lp = lp->next) if (NL_STATE(lp) != argp->state && - (matchhostname(argp->mon_name, lp->dns_name) || - matchhostname(ip_addr, lp->dns_name))) { + (statd_matchhostname(argp->mon_name, lp->dns_name) || + statd_matchhostname(ip_addr, lp->dns_name))) { NL_STATE(lp) = argp->state; call = nlist_clone(lp); nlist_insert(¬ify, call); -- cgit