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