socsvn commit: r240191 - in soc2012/exxo/freebsd-head:
include/rpcsvc lib/libc lib/libc/yp usr.bin/ypwhich usr.sbin/ypbind
exxo at FreeBSD.org
exxo at FreeBSD.org
Wed Aug 8 15:32:30 UTC 2012
Author: exxo
Date: Wed Aug 8 15:32:28 2012
New Revision: 240191
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=240191
Log:
Fix alignment issue and apply proper options for buildworld
Modified:
soc2012/exxo/freebsd-head/include/rpcsvc/yp_prot.h
soc2012/exxo/freebsd-head/lib/libc/Makefile
soc2012/exxo/freebsd-head/lib/libc/yp/Makefile.inc
soc2012/exxo/freebsd-head/lib/libc/yp/Symbol.map
soc2012/exxo/freebsd-head/usr.bin/ypwhich/ypwhich.c
soc2012/exxo/freebsd-head/usr.sbin/ypbind/ypbind.c
Modified: soc2012/exxo/freebsd-head/include/rpcsvc/yp_prot.h
==============================================================================
--- soc2012/exxo/freebsd-head/include/rpcsvc/yp_prot.h Wed Aug 8 13:54:26 2012 (r240190)
+++ soc2012/exxo/freebsd-head/include/rpcsvc/yp_prot.h Wed Aug 8 15:32:28 2012 (r240191)
@@ -247,7 +247,7 @@
#endif
} ypbind_binding_addr;
u_short ypbind_binding_port;
-};
+} __attribute__ ((__packed__));
struct ypbind_resp {
enum ypbind_resptype ypbind_status;
@@ -349,7 +349,9 @@
bool_t xdr_ypresp_val(XDR *, struct ypresp_val *);
bool_t xdr_ypresp_key_val(XDR *, struct ypresp_key_val *);
bool_t xdr_ypbind_resp(XDR *, struct ypbind_resp *);
+#ifdef YPBIND_COMPAT_V2
bool_t xdr_ypbind_resp_v2(XDR *, struct ypbind_resp_v2 *);
+#endif
bool_t xdr_ypbind_setdom(XDR *, struct ypbind_setdom *);
bool_t xdr_yp_inaddr(XDR *, struct inaddr *);
bool_t xdr_ypmap_parms(XDR *, struct ypmap_parms *);
Modified: soc2012/exxo/freebsd-head/lib/libc/Makefile
==============================================================================
--- soc2012/exxo/freebsd-head/lib/libc/Makefile Wed Aug 8 13:54:26 2012 (r240190)
+++ soc2012/exxo/freebsd-head/lib/libc/Makefile Wed Aug 8 15:32:28 2012 (r240191)
@@ -24,7 +24,7 @@
LIB=c
SHLIB_MAJOR= 7
WARNS?= 2
-CFLAGS+=-I${.CURDIR}/include -I${.CURDIR}/../../include
+CFLAGS+=-I${.CURDIR}/include -I${.CURDIR}/../../include -I${.CURDIR}/../../sys/
CFLAGS+=-I${.CURDIR}/${LIBC_ARCH}
.if ${MK_NLS} != "no"
CFLAGS+=-DNLS
@@ -96,7 +96,7 @@
.include "${.CURDIR}/softfloat/Makefile.inc"
.endif
.if ${MK_NIS} != "no"
-CFLAGS+= -DYP
+CFLAGS+= -DYP -DYPBIND_COMPAT_V2
.include "${.CURDIR}/yp/Makefile.inc"
.endif
.if ${MK_HESIOD} != "no"
Modified: soc2012/exxo/freebsd-head/lib/libc/yp/Makefile.inc
==============================================================================
--- soc2012/exxo/freebsd-head/lib/libc/yp/Makefile.inc Wed Aug 8 13:54:26 2012 (r240190)
+++ soc2012/exxo/freebsd-head/lib/libc/yp/Makefile.inc Wed Aug 8 15:32:28 2012 (r240191)
@@ -10,7 +10,7 @@
SYM_MAPS+= ${.CURDIR}/yp/Symbol.map
RPCSRC= ${DESTDIR}/usr/include/rpcsvc/yp.x
-RPCGEN= RPCGEN_CPP=${CPP:Q} rpcgen -C
+RPCGEN= RPCGEN_CPP=${CPP:Q} rpcgen -C -DYPBIND_COMPAT_V2
yp_xdr.c: ${RPCSRC}
${RPCGEN} -c -o ${.TARGET} ${RPCSRC}
Modified: soc2012/exxo/freebsd-head/lib/libc/yp/Symbol.map
==============================================================================
--- soc2012/exxo/freebsd-head/lib/libc/yp/Symbol.map Wed Aug 8 13:54:26 2012 (r240190)
+++ soc2012/exxo/freebsd-head/lib/libc/yp/Symbol.map Wed Aug 8 15:32:28 2012 (r240191)
@@ -23,3 +23,9 @@
ypprot_err;
_yp_check;
};
+
+FBSD_1.3 {
+ xdr_ypbind_resp_v2;
+ xdr_ypbind_binding_v2;
+ xdr_ypbind_setdom_v2;
+};
Modified: soc2012/exxo/freebsd-head/usr.bin/ypwhich/ypwhich.c
==============================================================================
--- soc2012/exxo/freebsd-head/usr.bin/ypwhich/ypwhich.c Wed Aug 8 13:54:26 2012 (r240190)
+++ soc2012/exxo/freebsd-head/usr.bin/ypwhich/ypwhich.c Wed Aug 8 15:32:28 2012 (r240191)
@@ -161,7 +161,7 @@
if (clnt_control(client, CLSET_VERS, &version) == TRUE)
r = clnt_call(client, YPBINDPROC_DOMAIN,
(xdrproc_t)xdr_domainname, &dom,
- (xdrproc_t)xdr_ypbind_resp_v2, &ypbr.resp2, tv); /* TODO libc must define YPBIND_COMPAT_V2 */
+ (xdrproc_t)xdr_ypbind_resp_v2, &ypbr.resp2, tv);
}
#endif
if (r != RPC_SUCCESS) {
Modified: soc2012/exxo/freebsd-head/usr.sbin/ypbind/ypbind.c
==============================================================================
--- soc2012/exxo/freebsd-head/usr.sbin/ypbind/ypbind.c Wed Aug 8 13:54:26 2012 (r240190)
+++ soc2012/exxo/freebsd-head/usr.sbin/ypbind/ypbind.c Wed Aug 8 15:32:28 2012 (r240191)
@@ -384,10 +384,10 @@
*(u_short *)&res.ypbf_rport = *ss_getport(&ypdb->dom_server_addr);
#ifdef INET6
if (family == AF_INET6)
- bcopy(ss_to_sin6addr(&ypdb->dom_server_addr), (char *) res.ypbf_raddr, sizeof(struct in6_addr));
+ bcopy(ss_to_sin6addr(&ypdb->dom_server_addr), (char *) &res.ypbf_raddr, sizeof(struct in6_addr));
else
#endif
- bcopy(ss_to_sinaddr(&ypdb->dom_server_addr), (char *) res.ypbf_raddr, sizeof(struct in_addr));
+ bcopy(ss_to_sinaddr(&ypdb->dom_server_addr), (char *) &res.ypbf_raddr, sizeof(struct in_addr));
}
return ((char *) &res);
}
@@ -514,9 +514,11 @@
case YPBINDPROC_DOMAIN:
xdr_argument = xdr_domainname;
+#ifdef YPBIND_COMPAT_V2
if (version == YPBINDVERS_2)
xdr_result = xdr_ypbind_resp_v2;
else
+#endif
xdr_result = xdr_ypbind_resp;
local = (funcptr) ypbindproc_domain;
break;
@@ -534,9 +536,11 @@
svcerr_weakauth(transp);
return;
}
+#ifdef YPBIND_COMPAT_V2
if (version == YPBINDVERS_2)
xdr_argument = xdr_ypbind_setdom_v2;
else
+#endif
xdr_argument = xdr_ypbind_setdom;
xdr_result = xdr_void;
local = (funcptr) ypbindproc_setdom;
More information about the svn-soc-all
mailing list