svn commit: r296376 - head/usr.sbin/ypldap
Marcelo Araujo
araujo at FreeBSD.org
Fri Mar 4 02:14:34 UTC 2016
Author: araujo
Date: Fri Mar 4 02:14:32 2016
New Revision: 296376
URL: https://svnweb.freebsd.org/changeset/base/296376
Log:
Implement the 'master' request.
Obtained from: OpenBSD (r1.15)
Modified:
head/usr.sbin/ypldap/yp.c
Modified: head/usr.sbin/ypldap/yp.c
==============================================================================
--- head/usr.sbin/ypldap/yp.c Fri Mar 4 01:31:13 2016 (r296375)
+++ head/usr.sbin/ypldap/yp.c Fri Mar 4 02:14:32 2016 (r296376)
@@ -222,6 +222,8 @@ yp_dispatch(struct svc_req *req, SVCXPRT
break;
case YPPROC_MASTER:
log_debug("ypproc_master");
+ xdr_argument = (xdrproc_t) xdr_ypreq_nokey;
+ xdr_result = (xdrproc_t) xdr_ypresp_master;
if (yp_check(req) == -1)
return;
cb = (void *)ypproc_master_2_svc;
@@ -559,11 +561,18 @@ ypresp_master *
ypproc_master_2_svc(ypreq_nokey *arg, struct svc_req *req)
{
static struct ypresp_master res;
+ static char master[YPMAXPEER + 1];
+ bzero(&res, sizeof(res));
if (yp_valid_domain(arg->domain, (struct ypresp_val *)&res) == -1)
return (&res);
+
+ if (gethostname(master, sizeof(master)) == 0) {
+ res.peer = (peername)master;
+ res.stat = YP_TRUE;
+ } else
+ res.stat = YP_NOKEY;
- res.stat = YP_YPERR;
return (&res);
}
More information about the svn-src-head
mailing list