summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMats O Jansson <maja@cvs.openbsd.org>2003-06-22 23:57:08 +0000
committerMats O Jansson <maja@cvs.openbsd.org>2003-06-22 23:57:08 +0000
commit1d604f2421b24cb4cdba6facc533af0cbb6bed2a (patch)
tree1fc9a1ad935ab809fd15103205505378973c4987
parent68e9b481b25028d497447e7d2dc11eeefb6b45c3 (diff)
Remove files without copyright. Add a yp v1 protocol specification and
generate files at compile time. -moj ok @deraadt
-rw-r--r--usr.sbin/ypserv/ypserv/Makefile28
-rw-r--r--usr.sbin/ypserv/ypserv/ypserv.c42
-rw-r--r--usr.sbin/ypserv/ypserv/ypserv_proc.c24
-rw-r--r--usr.sbin/ypserv/ypserv/ypserv_xdr_v1.c92
-rw-r--r--usr.sbin/ypserv/ypserv/ypv1.h241
-rw-r--r--usr.sbin/ypserv/ypserv/ypv1.x161
6 files changed, 218 insertions, 370 deletions
diff --git a/usr.sbin/ypserv/ypserv/Makefile b/usr.sbin/ypserv/ypserv/Makefile
index 235b95b5096..706bd0a3d2c 100644
--- a/usr.sbin/ypserv/ypserv/Makefile
+++ b/usr.sbin/ypserv/ypserv/Makefile
@@ -1,13 +1,33 @@
-# $OpenBSD: Makefile,v 1.9 2003/02/13 05:54:39 maja Exp $
+# $OpenBSD: Makefile,v 1.10 2003/06/22 23:57:07 maja Exp $
PROG= ypserv
-SRCS= ypserv.c ypserv_proc.c ypserv_db.c acl.c yplog.c ypdb.c \
- ypserv_xdr_v1.c
MAN= ypserv.acl.5 securenet.5 ypserv.8
+
+XSRCS= ypv1.x
+TSRCS= ${XSRCS:R:S/$/.c/g}
+HDRS= ${XSRCS:R:S/$/.h/g}
+SRCS+= ${TSRCS}
+
+SRCS+= ypserv.c ypserv_proc.c ypserv_db.c acl.c yplog.c ypdb.c
+
+CLEANFILES+= ${TSRCS} ${HDRS}
+
LDADD+= -lutil -lrpcsvc
DPADD+= ${LIBUTIL} ${LIBRPCSVC}
.PATH: ${.CURDIR}/../common
-CFLAGS+=-DDAEMON -DOPTDB -I${.CURDIR}/../common
+CFLAGS+=-DDAEMON -DOPTDB -I${.CURDIR}/../common -I.
#CFLAGS=-DDAEMON -I${.CURDIR}/../common -DDEBUG -g
+all: ypserv
+beforedepend: ${HDRS}
+ypv1.c: ypv1.h
+
.include <bsd.prog.mk>
+
+.SUFFIXES: .x .c .h
+
+.x.c:
+ rpcgen -C -c ${.IMPSRC} -o ${.TARGET}
+
+.x.h:
+ rpcgen -C -h ${.IMPSRC} -o ${.TARGET}
diff --git a/usr.sbin/ypserv/ypserv/ypserv.c b/usr.sbin/ypserv/ypserv/ypserv.c
index b9f1f643ba2..523067c9c53 100644
--- a/usr.sbin/ypserv/ypserv/ypserv.c
+++ b/usr.sbin/ypserv/ypserv/ypserv.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ypserv.c,v 1.29 2003/06/12 21:09:48 deraadt Exp $ */
+/* $OpenBSD: ypserv.c,v 1.30 2003/06/22 23:57:07 maja Exp $ */
/*
* Copyright (c) 1994 Mats O Jansson <moj@stacken.kth.se>
@@ -27,7 +27,7 @@
*/
#ifndef LINT
-static const char rcsid[] = "$OpenBSD: ypserv.c,v 1.29 2003/06/12 21:09:48 deraadt Exp $";
+static const char rcsid[] = "$OpenBSD: ypserv.c,v 1.30 2003/06/22 23:57:07 maja Exp $";
#endif
#include <sys/types.h>
@@ -115,15 +115,15 @@ static void
ypprog_1(struct svc_req *rqstp, SVCXPRT *transp)
{
union {
- domainname ypproc_domain_1_arg;
- domainname ypproc_domain_nonack_1_arg;
- yprequest ypproc_match_1_arg;
- yprequest ypproc_first_1_arg;
- yprequest ypproc_next_1_arg;
- yprequest ypproc_poll_1_arg;
- yprequest ypproc_push_1_arg;
- yprequest ypproc_pull_1_arg;
- yprequest ypproc_get_1_arg;
+ domainname ypoldproc_domain_1_arg;
+ domainname ypoldproc_domain_nonack_1_arg;
+ yprequest ypoldproc_match_1_arg;
+ yprequest ypoldproc_first_1_arg;
+ yprequest ypoldproc_next_1_arg;
+ yprequest ypoldproc_poll_1_arg;
+ yprequest ypoldproc_push_1_arg;
+ yprequest ypoldproc_pull_1_arg;
+ yprequest ypoldproc_get_1_arg;
} argument;
char *result;
xdrproc_t xdr_argument, xdr_result;
@@ -134,61 +134,61 @@ ypprog_1(struct svc_req *rqstp, SVCXPRT *transp)
case YPOLDPROC_NULL:
xdr_argument = (xdrproc_t) xdr_void;
xdr_result = (xdrproc_t) xdr_void;
- local = (char *(*)(char *, struct svc_req *)) ypproc_null_1_svc;
+ local = (char *(*)(char *, struct svc_req *)) ypoldproc_null_1_svc;
break;
case YPOLDPROC_DOMAIN:
xdr_argument = (xdrproc_t) xdr_domainname;
xdr_result = (xdrproc_t) xdr_bool;
- local = (char *(*)(char *, struct svc_req *)) ypproc_domain_1_svc;
+ local = (char *(*)(char *, struct svc_req *)) ypoldproc_domain_1_svc;
break;
case YPOLDPROC_DOMAIN_NONACK:
xdr_argument = (xdrproc_t) xdr_domainname;
xdr_result = (xdrproc_t) xdr_bool;
- local = (char *(*)(char *, struct svc_req *)) ypproc_domain_nonack_1_svc;
+ local = (char *(*)(char *, struct svc_req *)) ypoldproc_domain_nonack_1_svc;
break;
case YPOLDPROC_MATCH:
xdr_argument = (xdrproc_t) xdr_yprequest;
xdr_result = (xdrproc_t) xdr_ypresponse;
- local = (char *(*)(char *, struct svc_req *)) ypproc_match_1_svc;
+ local = (char *(*)(char *, struct svc_req *)) ypoldproc_match_1_svc;
break;
case YPOLDPROC_FIRST:
xdr_argument = (xdrproc_t) xdr_yprequest;
xdr_result = (xdrproc_t) xdr_ypresponse;
- local = (char *(*)(char *, struct svc_req *)) ypproc_first_1_svc;
+ local = (char *(*)(char *, struct svc_req *)) ypoldproc_first_1_svc;
break;
case YPOLDPROC_NEXT:
xdr_argument = (xdrproc_t) xdr_yprequest;
xdr_result = (xdrproc_t) xdr_ypresponse;
- local = (char *(*)(char *, struct svc_req *)) ypproc_next_1_svc;
+ local = (char *(*)(char *, struct svc_req *)) ypoldproc_next_1_svc;
break;
case YPOLDPROC_POLL:
xdr_argument = (xdrproc_t) xdr_yprequest;
xdr_result = (xdrproc_t) xdr_ypresponse;
- local = (char *(*)(char *, struct svc_req *)) ypproc_poll_1_svc;
+ local = (char *(*)(char *, struct svc_req *)) ypoldproc_poll_1_svc;
break;
case YPOLDPROC_PUSH:
xdr_argument = (xdrproc_t) xdr_yprequest;
xdr_result = (xdrproc_t) xdr_void;
- local = (char *(*)(char *, struct svc_req *)) ypproc_push_1_svc;
+ local = (char *(*)(char *, struct svc_req *)) ypoldproc_push_1_svc;
break;
case YPOLDPROC_PULL:
xdr_argument = (xdrproc_t) xdr_yprequest;
xdr_result = (xdrproc_t) xdr_void;
- local = (char *(*)(char *, struct svc_req *)) ypproc_pull_1_svc;
+ local = (char *(*)(char *, struct svc_req *)) ypoldproc_pull_1_svc;
break;
case YPOLDPROC_GET:
xdr_argument = (xdrproc_t) xdr_yprequest;
xdr_result = (xdrproc_t) xdr_void;
- local = (char *(*)(char *, struct svc_req *)) ypproc_get_1_svc;
+ local = (char *(*)(char *, struct svc_req *)) ypoldproc_get_1_svc;
break;
default:
diff --git a/usr.sbin/ypserv/ypserv/ypserv_proc.c b/usr.sbin/ypserv/ypserv/ypserv_proc.c
index 8b9d78bca5e..2527fe80238 100644
--- a/usr.sbin/ypserv/ypserv/ypserv_proc.c
+++ b/usr.sbin/ypserv/ypserv/ypserv_proc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ypserv_proc.c,v 1.21 2003/06/02 21:58:27 maja Exp $ */
+/* $OpenBSD: ypserv_proc.c,v 1.22 2003/06/22 23:57:07 maja Exp $ */
/*
* Copyright (c) 1994 Mats O Jansson <moj@stacken.kth.se>
@@ -27,7 +27,7 @@
*/
#ifndef LINT
-static const char rcsid[] = "$OpenBSD: ypserv_proc.c,v 1.21 2003/06/02 21:58:27 maja Exp $";
+static const char rcsid[] = "$OpenBSD: ypserv_proc.c,v 1.22 2003/06/22 23:57:07 maja Exp $";
#endif
#include <rpc/rpc.h>
@@ -525,7 +525,7 @@ bail:
}
void *
-ypproc_null_1_svc(void *argp, struct svc_req *rqstp)
+ypoldproc_null_1_svc(void *argp, struct svc_req *rqstp)
{
static char *result;
struct sockaddr_in *caller = svc_getcaller(rqstp->rq_xprt);
@@ -545,7 +545,7 @@ ypproc_null_1_svc(void *argp, struct svc_req *rqstp)
}
bool_t *
-ypproc_domain_1_svc(domainname *argp, struct svc_req *rqstp)
+ypoldproc_domain_1_svc(domainname *argp, struct svc_req *rqstp)
{
static bool_t result; /* is domain_served? */
struct sockaddr_in *caller = svc_getcaller(rqstp->rq_xprt);
@@ -573,7 +573,7 @@ bail:
}
bool_t *
-ypproc_domain_nonack_1_svc(domainname *argp, struct svc_req *rqstp)
+ypoldproc_domain_nonack_1_svc(domainname *argp, struct svc_req *rqstp)
{
static bool_t result; /* is domain served? */
struct sockaddr_in *caller = svc_getcaller(rqstp->rq_xprt);
@@ -606,7 +606,7 @@ bail:
}
ypresponse *
-ypproc_match_1_svc(yprequest *argp, struct svc_req *rqstp)
+ypoldproc_match_1_svc(yprequest *argp, struct svc_req *rqstp)
{
static ypresponse res;
struct sockaddr_in *caller = svc_getcaller(rqstp->rq_xprt);
@@ -657,7 +657,7 @@ bail:
}
ypresponse *
-ypproc_first_1_svc(yprequest *argp, struct svc_req *rqstp)
+ypoldproc_first_1_svc(yprequest *argp, struct svc_req *rqstp)
{
static ypresponse res;
struct sockaddr_in *caller = svc_getcaller(rqstp->rq_xprt);
@@ -705,7 +705,7 @@ bail:
}
ypresponse *
-ypproc_next_1_svc(yprequest *argp, struct svc_req *rqstp)
+ypoldproc_next_1_svc(yprequest *argp, struct svc_req *rqstp)
{
static ypresponse res;
struct sockaddr_in *caller = svc_getcaller(rqstp->rq_xprt);
@@ -756,7 +756,7 @@ bail:
}
ypresponse *
-ypproc_poll_1_svc(yprequest *argp, struct svc_req *rqstp)
+ypoldproc_poll_1_svc(yprequest *argp, struct svc_req *rqstp)
{
static ypresponse res;
ypresp_order order;
@@ -807,7 +807,7 @@ bail:
}
void *
-ypproc_push_1_svc(yprequest *argp, struct svc_req *rqstp)
+ypoldproc_push_1_svc(yprequest *argp, struct svc_req *rqstp)
{
struct sockaddr_in *caller = svc_getcaller(rqstp->rq_xprt);
int ok = acl_check_host(&caller->sin_addr);
@@ -852,7 +852,7 @@ bail:
}
void *
-ypproc_pull_1_svc(yprequest *argp, struct svc_req *rqstp)
+ypoldproc_pull_1_svc(yprequest *argp, struct svc_req *rqstp)
{
struct sockaddr_in *caller = svc_getcaller(rqstp->rq_xprt);
int ok = acl_check_host(&caller->sin_addr);
@@ -897,7 +897,7 @@ bail:
}
void *
-ypproc_get_1_svc(yprequest *argp, struct svc_req *rqstp)
+ypoldproc_get_1_svc(yprequest *argp, struct svc_req *rqstp)
{
struct sockaddr_in *caller = svc_getcaller(rqstp->rq_xprt);
int ok = acl_check_host(&caller->sin_addr);
diff --git a/usr.sbin/ypserv/ypserv/ypserv_xdr_v1.c b/usr.sbin/ypserv/ypserv/ypserv_xdr_v1.c
deleted file mode 100644
index abed54e4d75..00000000000
--- a/usr.sbin/ypserv/ypserv/ypserv_xdr_v1.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Please do not edit this file.
- * It was generated using rpcgen.
- */
-
-#include <rpcsvc/yp.h>
-#include "ypv1.h"
-#ifndef lint
-static const char rcsid[] = "$OpenBSD: ypserv_xdr_v1.c,v 1.5 2003/05/05 08:37:05 avsm Exp $";
-#endif /* not lint */
-
-bool_t
-xdr_ypreqtype(xdrs, objp)
- XDR *xdrs;
- ypreqtype *objp;
-{
- if (!xdr_enum(xdrs, (enum_t *)objp)) {
- return (FALSE);
- }
- return (TRUE);
-}
-
-bool_t
-xdr_ypresptype(xdrs, objp)
- XDR *xdrs;
- ypresptype *objp;
-{
- if (!xdr_enum(xdrs, (enum_t *)objp)) {
- return (FALSE);
- }
- return (TRUE);
-}
-
-bool_t
-xdr_yprequest(xdrs, objp)
- XDR *xdrs;
- yprequest *objp;
-{
- if (!xdr_ypreqtype(xdrs, &objp->yp_reqtype)) {
- return (FALSE);
- }
- switch (objp->yp_reqtype) {
- case YPREQ_KEY:
- if (!xdr_ypreq_key(xdrs, &objp->yp_reqbody.yp_req_keytype)) {
- return (FALSE);
- }
- break;
- case YPREQ_NOKEY:
- if (!xdr_ypreq_nokey(xdrs, &objp->yp_reqbody.yp_req_nokeytype)) {
- return (FALSE);
- }
- break;
- case YPREQ_MAP_PARMS:
- if (!xdr_ypmap_parms(xdrs, &objp->yp_reqbody.yp_req_map_parmstype)) {
- return (FALSE);
- }
- break;
- default:
- return (FALSE);
- }
- return (TRUE);
-}
-
-bool_t
-xdr_ypresponse(xdrs, objp)
- XDR *xdrs;
- ypresponse *objp;
-{
- if (!xdr_ypresptype(xdrs, &objp->yp_resptype)) {
- return (FALSE);
- }
- switch (objp->yp_resptype) {
- case YPRESP_VAL:
- if (!xdr_ypresp_val(xdrs, &objp->yp_respbody.yp_resp_valtype)) {
- return (FALSE);
- }
- break;
- case YPRESP_KEY_VAL:
- if (!xdr_ypresp_key_val(xdrs, &objp->yp_respbody.yp_resp_key_valtype)) {
- return (FALSE);
- }
- break;
- case YPRESP_MAP_PARMS:
- if (!xdr_ypmap_parms(xdrs, &objp->yp_respbody.yp_resp_map_parmstype)) {
- return (FALSE);
- }
- break;
- default:
- return (FALSE);
- }
- return (TRUE);
-}
diff --git a/usr.sbin/ypserv/ypserv/ypv1.h b/usr.sbin/ypserv/ypserv/ypv1.h
deleted file mode 100644
index 898e87146f5..00000000000
--- a/usr.sbin/ypserv/ypserv/ypv1.h
+++ /dev/null
@@ -1,241 +0,0 @@
-/* $OpenBSD: ypv1.h,v 1.3 2002/07/19 02:38:40 deraadt Exp $ */
-
-/*
- * Please do not edit this file.
- * It was generated using rpcgen.
- */
-
-#ifndef _YPV1_H_RPCGEN
-#define _YPV1_H_RPCGEN
-
-#include <rpc/rpc.h>
-
-#define YPOLDVERS ((u_long)1)
-
-enum ypreqtype {
- YPREQ_KEY = 1,
- YPREQ_NOKEY = 2,
- YPREQ_MAP_PARMS = 3
-};
-typedef enum ypreqtype ypreqtype;
-#ifdef __cplusplus
-extern "C" bool_t xdr_ypreqtype(XDR *, ypreqtype *);
-#elif defined(__STDC__)
-extern bool_t xdr_ypreqtype(XDR *, ypreqtype *);
-#else /* Old Style C */
-bool_t xdr_ypreqtype();
-#endif /* Old Style C */
-
-typedef struct {
- ypreqtype yp_reqtype;
- union {
- struct ypreq_key yp_req_keytype;
- struct ypreq_nokey yp_req_nokeytype;
- struct ypmap_parms yp_req_map_parmstype;
- }yp_reqbody;
-} yprequest;
-#ifdef __cplusplus
-extern "C" bool_t xdr_yprequest(XDR *, yprequest *);
-#elif defined(__STDC__)
-extern bool_t xdr_yprequest(XDR *, yprequest *);
-#else /* Old Style C */
-bool_t xdr_yprequest();
-#endif /* Old Style C */
-
-#define YPMATCH_REQTYPE YPREQ_KEY
-#define ypmatch_req_domain yp_reqbody.yp_req_keytype.domain
-#define ypmatch_req_map yp_reqbody.yp_req_keytype.map
-#define ypmatch_req_keydat yp_reqbody.yp_req_keytype.key
-#define ypmatch_req_keyptr yp_reqbody.yp_req_keytype.key.keydat_val
-#define ypmatch_req_keysize yp_reqbody.yp_req_keytype.key.keydat_len
-
-#define YPFIRST_REQTYPE YPREQ_NOKEY
-#define ypfirst_req_domain yp_reqbody.yp_req_nokeytype.domain
-#define ypfirst_req_map yp_reqbody.yp_req_nokeytype.map
-
-#define YPNEXT_REQTYPE YPREQ_KEY
-#define ypnext_req_domain yp_reqbody.yp_req_keytype.domain
-#define ypnext_req_map yp_reqbody.yp_req_keytype.map
-#define ypnext_req_keydat yp_reqbody.yp_req_keytype.key
-#define ypnext_req_keyptr yp_reqbody.yp_req_keytype.key.keydat_val
-#define ypnext_req_keysize yp_reqbody.yp_req_keytype.key.keydat_len
-
-#define YPPUSH_REQTYPE YPREQ_NOKEY
-#define yppush_req_domain yp_reqbody.yp_req_nokeytype.domain
-#define yppush_req_map yp_reqbody.yp_req_nokeytype.map
-
-#define YPPULL_REQTYPE YPREQ_NOKEY
-#define yppull_req_domain yp_reqbody.yp_req_nokeytype.domain
-#define yppull_req_map yp_reqbody.yp_req_nokeytype.map
-
-#define YPPOLL_REQTYPE YPREQ_NOKEY
-#define yppoll_req_domain yp_reqbody.yp_req_nokeytype.domain
-#define yppoll_req_map yp_reqbody.yp_req_nokeytype.map
-
-#define YPGET_REQTYPE YPREQ_MAP_PARMS
-#define ypget_req_domain yp_reqbody.yp_req_map_parmstype.domain
-#define ypget_req_map yp_reqbody.yp_req_map_parmstype.map
-#define ypget_req_ordernum yp_reqbody.yp_req_map_parmstype.ordernum
-#define ypget_req_owner yp_reqbody.yp_req_map_parmstype.peer
-
-enum ypresptype {
- YPRESP_VAL = 1,
- YPRESP_KEY_VAL = 2,
- YPRESP_MAP_PARMS = 3
-};
-typedef enum ypresptype ypresptype;
-#ifdef __cplusplus
-extern "C" bool_t xdr_ypresptype(XDR *, ypresptype *);
-#elif defined(__STDC__)
-extern bool_t xdr_ypresptype(XDR *, ypresptype *);
-#else /* Old Style C */
-bool_t xdr_ypresptype();
-#endif /* Old Style C */
-
-typedef struct {
- ypresptype yp_resptype;
- union {
- struct ypresp_val yp_resp_valtype;
- struct ypresp_key_val yp_resp_key_valtype;
- struct ypmap_parms yp_resp_map_parmstype;
- } yp_respbody;
-} ypresponse;
-#ifdef __cplusplus
-extern "C" bool_t xdr_ypresponse(XDR *, ypresponse *);
-#elif defined(__STDC__)
-extern bool_t xdr_ypresponse(XDR *, ypresponse *);
-#else /* Old Style C */
-bool_t xdr_ypresponse();
-#endif /* Old Style C */
-
-#define YPMATCH_RESPTYPE YPRESP_VAL
-#define ypmatch_resp_status yp_respbody.yp_resp_valtype.stat
-#define ypmatch_resp_val yp_respbody.yp_resp_valtype
-#define ypmatch_resp_valdat yp_respbody.yp_resp_valtype.val
-#define ypmatch_resp_valptr yp_respbody.yp_resp_valtype.val.valdat_val
-#define ypmatch_resp_valsize yp_respbody.yp_resp_valtype.val.valdat_len
-
-#define YPFIRST_RESPTYPE YPRESP_KEY_VAL
-#define ypfirst_resp_status yp_respbody.yp_resp_key_valtype.stat
-#define ypfirst_resp_keydat yp_respbody.yp_resp_key_valtype.key
-#define ypfirst_resp_keyptr yp_respbody.yp_resp_key_valtype.key.keydat_val
-#define ypfirst_resp_keysize yp_respbody.yp_resp_key_valtype.key.keydat_len
-#define ypfirst_resp_val yp_respbody.yp_resp_key_valtype
-#define ypfirst_resp_valdat yp_respbody.yp_resp_key_valtype.val
-#define ypfirst_resp_valptr yp_respbody.yp_resp_key_valtype.val.valdat_val
-#define ypfirst_resp_valsize yp_respbody.yp_resp_key_valtype.val.valdat_len
-
-#define YPNEXT_RESPTYPE YPRESP_KEY_VAL
-#define ypnext_resp_status yp_respbody.yp_resp_key_valtype.stat
-#define ypnext_resp_keydat yp_respbody.yp_resp_key_valtype.key
-#define ypnext_resp_keyptr yp_respbody.yp_resp_key_valtype.key.keydat_val
-#define ypnext_resp_keysize yp_respbody.yp_resp_key_valtype.key.keydat_len
-#define ypnext_resp_val yp_respbody.yp_resp_key_valtype
-#define ypnext_resp_valdat yp_respbody.yp_resp_key_valtype.val
-#define ypnext_resp_valptr yp_respbody.yp_resp_key_valtype.val.valdat_val
-#define ypnext_resp_valsize yp_respbody.yp_resp_key_valtype.val.valdat_len
-
-#define YPPOLL_RESPTYPE YPRESP_MAP_PARMS
-#define yppoll_resp_domain yp_respbody.yp_resp_map_parmstype.domain
-#define yppoll_resp_map yp_respbody.yp_resp_map_parmstype.map
-#define yppoll_resp_ordernum yp_respbody.yp_resp_map_parmstype.ordernum
-#define yppoll_resp_owner yp_respbody.yp_resp_map_parmstype.peer
-
-#ifdef __cplusplus
-#define YPOLDPROC_NULL ((u_long)0)
-extern "C" void * ypproc_null_1(void *, CLIENT *);
-extern "C" void * ypproc_null_1_svc(void *, struct svc_req *);
-#define YPOLDPROC_DOMAIN ((u_long)1)
-extern "C" bool_t * ypproc_domain_1(domainname *, CLIENT *);
-extern "C" bool_t * ypproc_domain_1_svc(domainname *, struct svc_req *);
-#define YPOLDPROC_DOMAIN_NONACK ((u_long)2)
-extern "C" bool_t * ypproc_domain_nonack_1(domainname *, CLIENT *);
-extern "C" bool_t * ypproc_domain_nonack_1_svc(domainname *, struct svc_req *);
-#define YPOLDPROC_MATCH ((u_long)3)
-extern "C" ypresponse * ypproc_match_1(yprequest *, CLIENT *);
-extern "C" ypresponse * ypproc_match_1_svc(yprequest *, struct svc_req *);
-#define YPOLDPROC_FIRST ((u_long)4)
-extern "C" ypresponse * ypproc_first_1(yprequest *, CLIENT *);
-extern "C" ypresponse * ypproc_first_1_svc(yprequest *, struct svc_req *);
-#define YPOLDPROC_NEXT ((u_long)5)
-extern "C" ypresponse * ypproc_next_1(yprequest *, CLIENT *);
-extern "C" ypresponse * ypproc_next_1_svc(yprequest *, struct svc_req *);
-#define YPOLDPROC_POLL ((u_long)6)
-extern "C" ypresponse * ypproc_poll_1(yprequest *, CLIENT *);
-extern "C" ypresponse * ypproc_poll_1_svc(yprequest *, struct svc_req *);
-#define YPOLDPROC_PUSH ((u_long)7)
-extern "C" void * ypproc_push_1(yprequest *, CLIENT *);
-extern "C" void * ypproc_push_1_svc(yprequest *, struct svc_req *);
-#define YPOLDPROC_PULL ((u_long)8)
-extern "C" void * ypproc_pull_1(yprequest *, CLIENT *);
-extern "C" void * ypproc_pull_1_svc(yprequest *, struct svc_req *);
-#define YPOLDPROC_GET ((u_long)9)
-extern "C" void * ypproc_get_1(yprequest *, CLIENT *);
-extern "C" void * ypproc_get_1_svc(yprequest *, struct svc_req *);
-
-#elif defined(__STDC__)
-#define YPOLDPROC_NULL ((u_long)0)
-extern void * ypproc_null_1(void *, CLIENT *);
-extern void * ypproc_null_1_svc(void *, struct svc_req *);
-#define YPOLDPROC_DOMAIN ((u_long)1)
-extern bool_t * ypproc_domain_1(domainname *, CLIENT *);
-extern bool_t * ypproc_domain_1_svc(domainname *, struct svc_req *);
-#define YPOLDPROC_DOMAIN_NONACK ((u_long)2)
-extern bool_t * ypproc_domain_nonack_1(domainname *, CLIENT *);
-extern bool_t * ypproc_domain_nonack_1_svc(domainname *, struct svc_req *);
-#define YPOLDPROC_MATCH ((u_long)3)
-extern ypresponse * ypproc_match_1(yprequest *, CLIENT *);
-extern ypresponse * ypproc_match_1_svc(yprequest *, struct svc_req *);
-#define YPOLDPROC_FIRST ((u_long)4)
-extern ypresponse * ypproc_first_1(yprequest *, CLIENT *);
-extern ypresponse * ypproc_first_1_svc(yprequest *, struct svc_req *);
-#define YPOLDPROC_NEXT ((u_long)5)
-extern ypresponse * ypproc_next_1(yprequest *, CLIENT *);
-extern ypresponse * ypproc_next_1_svc(yprequest *, struct svc_req *);
-#define YPOLDPROC_POLL ((u_long)6)
-extern ypresponse * ypproc_poll_1(yprequest *, CLIENT *);
-extern ypresponse * ypproc_poll_1_svc(yprequest *, struct svc_req *);
-#define YPOLDPROC_PUSH ((u_long)7)
-extern void * ypproc_push_1(yprequest *, CLIENT *);
-extern void * ypproc_push_1_svc(yprequest *, struct svc_req *);
-#define YPOLDPROC_PULL ((u_long)8)
-extern void * ypproc_pull_1(yprequest *, CLIENT *);
-extern void * ypproc_pull_1_svc(yprequest *, struct svc_req *);
-#define YPOLDPROC_GET ((u_long)9)
-extern void * ypproc_get_1(yprequest *, CLIENT *);
-extern void * ypproc_get_1_svc(yprequest *, struct svc_req *);
-
-#else /* Old Style C */
-#define YPOLDPROC_NULL ((u_long)0)
-extern void * ypproc_null_1();
-extern void * ypproc_null_1_svc();
-#define YPOLDPROC_DOMAIN ((u_long)1)
-extern bool_t * ypproc_domain_1();
-extern bool_t * ypproc_domain_1_svc();
-#define YPOLDPROC_DOMAIN_NONACK ((u_long)2)
-extern bool_t * ypproc_domain_nonack_1();
-extern bool_t * ypproc_domain_nonack_1_svc();
-#define YPOLDPROC_MATCH ((u_long)3)
-extern ypresponse * ypproc_match_1();
-extern ypresponse * ypproc_match_1_svc();
-#define YPOLDPROC_FIRST ((u_long)4)
-extern ypresponse * ypproc_first_1();
-extern ypresponse * ypproc_first_1_svc();
-#define YPOLDPROC_NEXT ((u_long)5)
-extern ypresponse * ypproc_next_1();
-extern ypresponse * ypproc_next_1_svc();
-#define YPOLDPROC_POLL ((u_long)6)
-extern ypresponse * ypproc_poll_1();
-extern ypresponse * ypproc_poll_1_svc();
-#define YPOLDPROC_PUSH ((u_long)7)
-extern void * ypproc_push_1();
-extern void * ypproc_push_1_svc();
-#define YPOLDPROC_PULL ((u_long)8)
-extern void * ypproc_pull_1();
-extern void * ypproc_pull_1_svc();
-#define YPOLDPROC_GET ((u_long)9)
-extern void * ypproc_get_1();
-extern void * ypproc_get_1_svc();
-#endif /* Old Style C */
-
-#endif /* !_YPV1_H_RPCGEN */
diff --git a/usr.sbin/ypserv/ypserv/ypv1.x b/usr.sbin/ypserv/ypserv/ypv1.x
new file mode 100644
index 00000000000..37f82b6226e
--- /dev/null
+++ b/usr.sbin/ypserv/ypserv/ypv1.x
@@ -0,0 +1,161 @@
+/*
+ * Copyright (c) 2003 Mats O Jansson <moj@stacken.kth.se>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/*
+ * YP v1 access protocol
+ *
+ * Created by looking at ypv1_prot.h on AIX 5.1
+ *
+ */
+#ifdef RPC_HDR
+%#include <rpcsvc/yp.h>
+#endif
+
+enum ypreqtype {
+ YPREQ_KEY = 1,
+ YPREQ_NOKEY = 2,
+ YPREQ_MAP_PARMS = 3
+};
+
+enum ypresptype {
+ YPRESP_VAL = 1,
+ YPRESP_KEY_VAL = 2,
+ YPRESP_MAP_PARMS = 3
+};
+
+union yprequest switch (ypreqtype yp_reqtype) {
+case YPREQ_KEY:
+ ypreq_key yp_req_keytype;
+case YPREQ_NOKEY:
+ ypreq_nokey yp_req_nokeytype;
+case YPREQ_MAP_PARMS:
+ ypmap_parms yp_req_map_parmstype;
+};
+
+union ypresponse switch (ypresptype yp_resptype) {
+case YPRESP_VAL:
+ ypresp_val yp_resp_valtype;
+case YPRESP_KEY_VAL:
+ ypresp_key_val yp_resp_key_valtype;
+case YPRESP_MAP_PARMS:
+ ypmap_parms yp_resp_map_parmstype;
+};
+
+program YPPROG {
+ version YPOLDVERS {
+
+ void
+ YPOLDPROC_NULL(void) = 0;
+
+ bool_t
+ YPOLDPROC_DOMAIN(domainname) = 1;
+
+ bool_t
+ YPOLDPROC_DOMAIN_NONACK(domainname) = 2;
+
+ ypresponse
+ YPOLDPROC_MATCH(yprequest) = 3;
+
+ ypresponse
+ YPOLDPROC_FIRST(yprequest) = 4;
+
+ ypresponse
+ YPOLDPROC_NEXT(yprequest) = 5;
+
+ ypresponse
+ YPOLDPROC_POLL(yprequest) = 6;
+
+ void
+ YPOLDPROC_PUSH(yprequest) = 7;
+
+ void
+ YPOLDPROC_PULL(yprequest) = 8;
+
+ void
+ YPOLDPROC_GET(yprequest) = 9;
+ } = 1;
+} = 100004;
+
+#ifdef RPC_HDR
+%#define YPMATCH_REQTYPE YPREQ_KEY
+%#define ypmatch_req_domain yprequest_u.yp_req_keytype.domain
+%#define ypmatch_req_map yprequest_u.yp_req_keytype.map
+%#define ypmatch_req_keydat yprequest_u.yp_req_keytype.key
+%#define ypmatch_req_keyptr yprequest_u.yp_req_keytype.key.keydat_val
+%#define ypmatch_req_keysize yprequest_u.yp_req_keytype.key.keydat_len
+%
+%#define YPMATCH_RESPTYPE YPRESP_VAL
+%#define ypmatch_resp_status ypresponse_u.yp_resp_valtype.stat
+%#define ypmatch_resp_val ypresponse_u.yp_resp_valtype
+%#define ypmatch_resp_valdat ypresponse_u.yp_resp_valtype.val
+%#define ypmatch_resp_valptr ypresponse_u.yp_resp_valtype.val.valdat_val
+%#define ypmatch_resp_valsize ypresponse_u.yp_resp_valtype.val.valdat_len
+%
+%#define YPFIRST_REQTYPE YPREQ_NOKEY
+%#define ypfirst_req_domain yprequest_u.yp_req_nokeytype.domain
+%#define ypfirst_req_map yprequest_u.yp_req_nokeytype.map
+%
+%#define YPFIRST_RESPTYPE YPRESP_KEY_VAL
+%#define ypfirst_resp_status ypresponse_u.yp_resp_key_valtype.stat
+%#define ypfirst_resp_keydat ypresponse_u.yp_resp_key_valtype.key
+%#define ypfirst_resp_keyptr ypresponse_u.yp_resp_key_valtype.key.keydat_val
+%#define ypfirst_resp_keysize ypresponse_u.yp_resp_key_valtype.key.keydat_len
+%#define ypfirst_resp_val ypresponse_u.yp_resp_key_valtype
+%#define ypfirst_resp_valdat ypresponse_u.yp_resp_key_valtype.val
+%#define ypfirst_resp_valptr ypresponse_u.yp_resp_key_valtype.val.valdat_val
+%#define ypfirst_resp_valsize ypresponse_u.yp_resp_key_valtype.val.valdat_len
+%
+%#define YPNEXT_REQTYPE YPREQ_KEY
+%#define ypnext_req_domain yprequest_u.yp_req_keytype.domain
+%#define ypnext_req_map yprequest_u.yp_req_keytype.map
+%#define ypnext_req_keydat yprequest_u.yp_req_keytype.key
+%#define ypnext_req_keyptr yprequest_u.yp_req_keytype.key.keydat_val
+%#define ypnext_req_keysize yprequest_u.yp_req_keytype.key.keydat_len
+%
+%#define YPNEXT_RESPTYPE YPRESP_KEY_VAL
+%#define ypnext_resp_status ypresponse_u.yp_resp_key_valtype.stat
+%#define ypnext_resp_keydat ypresponse_u.yp_resp_key_valtype.key
+%#define ypnext_resp_keyptr ypresponse_u.yp_resp_key_valtype.key.keydat_val
+%#define ypnext_resp_keysize ypresponse_u.yp_resp_key_valtype.key.keydat_len
+%#define ypnext_resp_val ypresponse_u.yp_resp_key_valtype
+%#define ypnext_resp_valdat ypresponse_u.yp_resp_key_valtype.val
+%#define ypnext_resp_valptr ypresponse_u.yp_resp_key_valtype.val.valdat_val
+%#define ypnext_resp_valsize ypresponse_u.yp_resp_key_valtype.val.valdat_len
+%
+%#define YPPUSH_REQTYPE YPREQ_NOKEY
+%#define yppush_req_domain yprequest_u.yp_req_nokeytype.domain
+%#define yppush_req_map yprequest_u.yp_req_nokeytype.map
+%
+%#define YPPULL_REQTYPE YPREQ_NOKEY
+%#define yppull_req_domain yprequest_u.yp_req_nokeytype.domain
+%#define yppull_req_map yprequest_u.yp_req_nokeytype.map
+%
+%#define YPPOLL_REQTYPE YPREQ_NOKEY
+%#define yppoll_req_domain yprequest_u.yp_req_nokeytype.domain
+%#define yppoll_req_map yprequest_u.yp_req_nokeytype.map
+%
+%#define YPPOLL_RESPTYPE YPRESP_MAP_PARMS
+%#define yppoll_resp_domain ypresponse_u.yp_resp_map_parmstype.domain
+%#define yppoll_resp_map ypresponse_u.yp_resp_map_parmstype.map
+%#define yppoll_resp_ordernum ypresponse_u.yp_resp_map_parmstype.ordernum
+%#define yppoll_resp_owner ypresponse_u.yp_resp_map_parmstype.peer
+%
+%#define YPGET_REQTYPE YPREQ_MAP_PARMS
+%#define ypget_req_domain yprequest_u.yp_req_map_parmstype.domain
+%#define ypget_req_map yprequest_u.yp_req_map_parmstype.map
+%#define ypget_req_ordernum yprequest_u.yp_req_map_parmstype.ordernum
+%#define ypget_req_owner yprequest_u.yp_req_map_parmstype.peer
+#endif