public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/hardened-dev:uclibc commit in: net-libs/libtirpc/, net-libs/libtirpc/files/
@ 2012-02-24  0:16 Anthony G. Basile
  0 siblings, 0 replies; 4+ messages in thread
From: Anthony G. Basile @ 2012-02-24  0:16 UTC (permalink / raw
  To: gentoo-commits

commit:     992583313934990a5f48408325fd19356be25d18
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 24 00:16:07 2012 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Feb 24 00:16:07 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=99258331

net-libs/libtirpc: add alpine linux fix

---
 .../libtirpc/files/libtirpc-0.2.1-fortify.patch    |   18 +
 .../files/libtirpc-0.2.2-rpc-des-prot.patch        |   36 ++
 net-libs/libtirpc/files/libtirpc-no-des.patch      |   38 ++
 net-libs/libtirpc/files/nis.h                      |  542 ++++++++++++++++++++
 net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild        |   58 +++
 net-libs/libtirpc/metadata.xml                     |    5 +
 6 files changed, 697 insertions(+), 0 deletions(-)

diff --git a/net-libs/libtirpc/files/libtirpc-0.2.1-fortify.patch b/net-libs/libtirpc/files/libtirpc-0.2.1-fortify.patch
new file mode 100644
index 0000000..7375bf8
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-0.2.1-fortify.patch
@@ -0,0 +1,18 @@
+Index: libtirpc-0.2.1/src/getrpcport.c
+===================================================================
+--- libtirpc-0.2.1.orig/src/getrpcport.c
++++ libtirpc-0.2.1/src/getrpcport.c
+@@ -54,11 +54,11 @@ getrpcport(host, prognum, versnum, proto
+ 
+ 	if ((hp = gethostbyname(host)) == NULL)
+ 		return (0);
++	if (hp->h_length != sizeof(addr.sin_addr.s_addr))
++		return (0);
+ 	memset(&addr, 0, sizeof(addr));
+ 	addr.sin_family = AF_INET;
+ 	addr.sin_port =  0;
+-	if (hp->h_length > sizeof(addr))
+-	  hp->h_length = sizeof(addr);
+ 	memcpy(&addr.sin_addr.s_addr, hp->h_addr, (size_t)hp->h_length);
+ 	/* Inconsistent interfaces need casts! :-( */
+ 	return (pmap_getport(&addr, (u_long)prognum, (u_long)versnum, 

diff --git a/net-libs/libtirpc/files/libtirpc-0.2.2-rpc-des-prot.patch b/net-libs/libtirpc/files/libtirpc-0.2.2-rpc-des-prot.patch
new file mode 100644
index 0000000..c5de6da
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-0.2.2-rpc-des-prot.patch
@@ -0,0 +1,36 @@
+From f2f43212b33dea42635061c82645287454a70107 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 11 Jun 2011 15:21:55 -0400
+Subject: [PATCH] add multiple inclusion protection to rpc/des.h
+
+If you try to include this file multiple times, you get a build failure
+due to redefinitions of enums and such.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ tirpc/rpc/des.h |    5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/tirpc/rpc/des.h b/tirpc/rpc/des.h
+index e3d6897..d2881ad 100644
+--- a/tirpc/rpc/des.h
++++ b/tirpc/rpc/des.h
+@@ -33,6 +33,9 @@
+  * Copyright (c) 1986 by Sun Microsystems, Inc.
+  */
+ 
++#ifndef _RPC_DES_H_
++#define _RPC_DES_H_
++
+ #define DES_MAXLEN 	65536	/* maximum # of bytes to encrypt  */
+ #define DES_QUICKLEN	16	/* maximum # of bytes to encrypt quickly */
+ 
+@@ -80,3 +83,5 @@ struct desparams {
+  * Software DES.
+  */
+ extern int _des_crypt( char *, int, struct desparams * );
++
++#endif
+-- 
+1.7.5.3
+

diff --git a/net-libs/libtirpc/files/libtirpc-no-des.patch b/net-libs/libtirpc/files/libtirpc-no-des.patch
new file mode 100644
index 0000000..7ebb644
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-no-des.patch
@@ -0,0 +1,38 @@
+--- libtirpc-0.2.2.orig/src/Makefile.am
++++ libtirpc-0.2.2/src/Makefile.am
+@@ -40,7 +40,7 @@
+ # release number of your package. This is an abuse that only fosters
+ # misunderstanding of the purpose of library versions."
+ #
+-libtirpc_la_LDFLAGS = -lnsl -lpthread -version-info 1:10:0
++libtirpc_la_LDFLAGS = -lpthread -version-info 1:10:0
+ 
+ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \
+         clnt_dg.c clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c \
+@@ -50,7 +50,7 @@
+         rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
+         rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \
+         svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \
+-        auth_time.c auth_des.c authdes_prot.c des_crypt.c
++        auth_time.c
+ 
+ ## XDR
+ libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c
+--- libtirpc-0.2.2.orig/src/rpc_soc.c
++++ libtirpc-0.2.2/src/rpc_soc.c
+@@ -515,6 +515,7 @@
+ 	    (resultproc_t) rpc_wrap_bcast, "udp");
+ }
+ 
++#if 0
+ /*
+  * Create the client des authentication object. Obsoleted by
+  * authdes_seccreate().
+@@ -546,6 +547,7 @@
+ 	dummy = authdes_seccreate(servername, window, NULL, ckey);
+ 	return (dummy);
+ }
++#endif
+ 
+ /*
+  * Create a client handle for a unix connection. Obsoleted by clnt_vc_create()

diff --git a/net-libs/libtirpc/files/nis.h b/net-libs/libtirpc/files/nis.h
new file mode 100644
index 0000000..a03a25f
--- /dev/null
+++ b/net-libs/libtirpc/files/nis.h
@@ -0,0 +1,542 @@
+/*
+ * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
+ * unrestricted use provided that this legend is included on all tape
+ * media and as a part of the software program in whole or part.  Users
+ * may copy or modify Sun RPC without charge, but are not authorized
+ * to license or distribute it to anyone else except as part of a product or
+ * program developed by the user or with the express written consent of
+ * Sun Microsystems, Inc.
+ *
+ * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
+ * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
+ *
+ * Sun RPC is provided with no support and without any obligation on the
+ * part of Sun Microsystems, Inc. to assist in its use, correction,
+ * modification or enhancement.
+ *
+ * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
+ * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
+ * OR ANY PART THEREOF.
+ *
+ * In no event will Sun Microsystems, Inc. be liable for any lost revenue
+ * or profits or other special, indirect and consequential damages, even if
+ * Sun has been advised of the possibility of such damages.
+ *
+ * Sun Microsystems, Inc.
+ * 2550 Garcia Avenue
+ * Mountain View, California  94043
+ */
+
+#ifndef _RPCSVC_NIS_H
+#define _RPCSVC_NIS_H 1
+
+#include <features.h>
+//#include <rpc/rpc.h>
+//#include <rpcsvc/nis_tags.h>
+
+__BEGIN_DECLS
+
+/*
+ *	nis.h
+ *
+ *	This file is the main include file for NIS clients. It contains
+ *	both the client library function defines and the various data
+ * 	structures used by the NIS service. It includes the file nis_tags.h
+ *	which defines the tag values. This allows the tags to change without
+ *	having to change the nis.x file.
+ *
+ *	NOTE : THIS FILE IS NOT GENERATED WITH RPCGEN ! SO YOU HAVE TO
+ *             ADD ALL THE CHANGES ON nis_*.x FILES HERE AGAIN !
+ *
+ *      I have removed all the Solaris internal structs and variables,
+ *      because they are not supported, Sun changed them between various
+ *      releases and they shouldn't be used in user programs.
+ *                                              <kukuk@suse.de>
+ */
+
+
+#ifndef __nis_object_h
+#define __nis_object_h
+
+#define NIS_MAXSTRINGLEN 255
+#define NIS_MAXNAMELEN 1024
+#define NIS_MAXATTRNAME 32
+#define NIS_MAXATTRVAL 2048
+#define NIS_MAXCOLUMNS 64
+#define NIS_MAXATTR 16
+#define NIS_MAXPATH 1024
+#define NIS_MAXREPLICAS 128
+#define NIS_MAXLINKS 16
+#define NIS_PK_NONE 0
+#define NIS_PK_DH 1
+#define NIS_PK_RSA 2
+#define NIS_PK_KERB 3
+#define NIS_PK_DHEXT 4
+
+struct nis_attr {
+	char *zattr_ndx;
+	struct {
+		u_int zattr_val_len;
+		char *zattr_val_val;
+	} zattr_val;
+};
+typedef struct nis_attr nis_attr;
+
+typedef char *nis_name;
+
+enum zotypes {
+	BOGUS_OBJ = 0,
+	NO_OBJ = 1,
+	DIRECTORY_OBJ = 2,
+	GROUP_OBJ = 3,
+	TABLE_OBJ = 4,
+	ENTRY_OBJ = 5,
+	LINK_OBJ = 6,
+	PRIVATE_OBJ = 7,
+	NIS_BOGUS_OBJ = 0,
+	NIS_NO_OBJ = 1,
+	NIS_DIRECTORY_OBJ = 2,
+	NIS_GROUP_OBJ = 3,
+	NIS_TABLE_OBJ = 4,
+	NIS_ENTRY_OBJ = 5,
+	NIS_LINK_OBJ = 6,
+	NIS_PRIVATE_OBJ = 7
+};
+typedef enum zotypes zotypes;
+
+enum nstype {
+	UNKNOWN = 0,
+	NIS = 1,
+	SUNYP = 2,
+	IVY = 3,
+	DNS = 4,
+	X500 = 5,
+	DNANS = 6,
+	XCHS = 7,
+	CDS = 8,
+};
+typedef enum nstype nstype;
+
+struct oar_mask {
+        uint32_t oa_rights;
+        zotypes oa_otype;
+};
+typedef struct oar_mask oar_mask;
+
+struct endpoint {
+	char *uaddr;
+	char *family;
+	char *proto;
+};
+typedef struct endpoint endpoint;
+
+struct nis_server {
+	nis_name name;
+	struct {
+		u_int ep_len;
+		endpoint *ep_val;
+	} ep;
+	uint32_t key_type;
+	netobj pkey;
+};
+typedef struct nis_server nis_server;
+
+struct directory_obj {
+	nis_name do_name;
+	nstype do_type;
+	struct {
+		u_int do_servers_len;
+		nis_server *do_servers_val;
+	} do_servers;
+	uint32_t do_ttl;
+	struct {
+		u_int do_armask_len;
+		oar_mask *do_armask_val;
+	} do_armask;
+};
+typedef struct directory_obj directory_obj;
+
+#define EN_BINARY 1
+#define EN_CRYPT 2
+#define EN_XDR 4
+#define EN_MODIFIED 8
+#define EN_ASN1 64
+
+struct entry_col {
+	uint32_t ec_flags;
+	struct {
+		u_int ec_value_len;
+		char *ec_value_val;
+	} ec_value;
+};
+typedef struct entry_col entry_col;
+
+struct entry_obj {
+	char *en_type;
+	struct {
+		u_int en_cols_len;
+		entry_col *en_cols_val;
+	} en_cols;
+};
+typedef struct entry_obj entry_obj;
+
+struct group_obj {
+	uint32_t gr_flags;
+	struct {
+		u_int gr_members_len;
+		nis_name *gr_members_val;
+	} gr_members;
+};
+typedef struct group_obj group_obj;
+
+struct link_obj {
+	zotypes li_rtype;
+	struct {
+		u_int li_attrs_len;
+		nis_attr *li_attrs_val;
+	} li_attrs;
+	nis_name li_name;
+};
+typedef struct link_obj link_obj;
+
+#define TA_BINARY 1
+#define TA_CRYPT 2
+#define TA_XDR 4
+#define TA_SEARCHABLE 8
+#define TA_CASE 16
+#define TA_MODIFIED 32
+#define TA_ASN1 64
+
+struct table_col {
+	char *tc_name;
+	uint32_t tc_flags;
+	uint32_t tc_rights;
+};
+typedef struct table_col table_col;
+
+struct table_obj {
+	char *ta_type;
+	int ta_maxcol;
+	u_char ta_sep;
+	struct {
+		u_int ta_cols_len;
+		table_col *ta_cols_val;
+	} ta_cols;
+	char *ta_path;
+};
+typedef struct table_obj table_obj;
+
+struct objdata {
+	zotypes zo_type;
+	union {
+		struct directory_obj di_data;
+		struct group_obj gr_data;
+		struct table_obj ta_data;
+		struct entry_obj en_data;
+		struct link_obj li_data;
+		struct {
+			u_int po_data_len;
+			char *po_data_val;
+		} po_data;
+	} objdata_u;
+};
+typedef struct objdata objdata;
+
+struct nis_oid {
+	uint32_t ctime;
+	uint32_t mtime;
+};
+typedef struct nis_oid nis_oid;
+
+struct nis_object {
+	nis_oid zo_oid;
+	nis_name zo_name;
+	nis_name zo_owner;
+	nis_name zo_group;
+	nis_name zo_domain;
+	uint32_t zo_access;
+	uint32_t zo_ttl;
+	objdata zo_data;
+};
+typedef struct nis_object nis_object;
+
+#endif /* if __nis_object_h */
+
+enum nis_error {
+	NIS_SUCCESS = 0,
+	NIS_S_SUCCESS = 1,
+	NIS_NOTFOUND = 2,
+	NIS_S_NOTFOUND = 3,
+	NIS_CACHEEXPIRED = 4,
+	NIS_NAMEUNREACHABLE = 5,
+	NIS_UNKNOWNOBJ = 6,
+	NIS_TRYAGAIN = 7,
+	NIS_SYSTEMERROR = 8,
+	NIS_CHAINBROKEN = 9,
+	NIS_PERMISSION = 10,
+	NIS_NOTOWNER = 11,
+	NIS_NOT_ME = 12,
+	NIS_NOMEMORY = 13,
+	NIS_NAMEEXISTS = 14,
+	NIS_NOTMASTER = 15,
+	NIS_INVALIDOBJ = 16,
+	NIS_BADNAME = 17,
+	NIS_NOCALLBACK = 18,
+	NIS_CBRESULTS = 19,
+	NIS_NOSUCHNAME = 20,
+	NIS_NOTUNIQUE = 21,
+	NIS_IBMODERROR = 22,
+	NIS_NOSUCHTABLE = 23,
+	NIS_TYPEMISMATCH = 24,
+	NIS_LINKNAMEERROR = 25,
+	NIS_PARTIAL = 26,
+	NIS_TOOMANYATTRS = 27,
+	NIS_RPCERROR = 28,
+	NIS_BADATTRIBUTE = 29,
+	NIS_NOTSEARCHABLE = 30,
+	NIS_CBERROR = 31,
+	NIS_FOREIGNNS = 32,
+	NIS_BADOBJECT = 33,
+	NIS_NOTSAMEOBJ = 34,
+	NIS_MODFAIL = 35,
+	NIS_BADREQUEST = 36,
+	NIS_NOTEMPTY = 37,
+	NIS_COLDSTART_ERR = 38,
+	NIS_RESYNC = 39,
+	NIS_FAIL = 40,
+	NIS_UNAVAIL = 41,
+	NIS_RES2BIG = 42,
+	NIS_SRVAUTH = 43,
+	NIS_CLNTAUTH = 44,
+	NIS_NOFILESPACE = 45,
+	NIS_NOPROC = 46,
+	NIS_DUMPLATER = 47,
+};
+typedef enum nis_error nis_error;
+
+struct nis_result {
+	nis_error status;
+	struct {
+		u_int objects_len;
+		nis_object *objects_val;
+	} objects;
+	netobj cookie;
+	uint32_t zticks;
+	uint32_t dticks;
+	uint32_t aticks;
+	uint32_t cticks;
+};
+typedef struct nis_result nis_result;
+
+struct ns_request {
+	nis_name ns_name;
+	struct {
+		u_int ns_object_len;
+		nis_object *ns_object_val;
+	} ns_object;
+};
+typedef struct ns_request ns_request;
+
+struct ib_request {
+	nis_name ibr_name;
+	struct {
+		u_int ibr_srch_len;
+		nis_attr *ibr_srch_val;
+	} ibr_srch;
+	uint32_t ibr_flags;
+	struct {
+		u_int ibr_obj_len;
+		nis_object *ibr_obj_val;
+	} ibr_obj;
+	struct {
+		u_int ibr_cbhost_len;
+		nis_server *ibr_cbhost_val;
+	} ibr_cbhost;
+	u_int ibr_bufsize;
+	netobj ibr_cookie;
+};
+typedef struct ib_request ib_request;
+
+struct ping_args {
+	nis_name dir;
+	uint32_t stamp;
+};
+typedef struct ping_args ping_args;
+
+enum log_entry_t {
+	LOG_NOP = 0,
+	ADD_NAME = 1,
+	REM_NAME = 2,
+	MOD_NAME_OLD = 3,
+	MOD_NAME_NEW = 4,
+	ADD_IBASE = 5,
+	REM_IBASE = 6,
+	MOD_IBASE = 7,
+	UPD_STAMP = 8,
+};
+typedef enum log_entry_t log_entry_t;
+
+struct log_entry {
+	uint32_t le_time;
+	log_entry_t le_type;
+	nis_name le_princp;
+	nis_name le_name;
+	struct {
+		u_int le_attrs_len;
+		nis_attr *le_attrs_val;
+	} le_attrs;
+	nis_object le_object;
+};
+typedef struct log_entry log_entry;
+
+struct log_result {
+	nis_error lr_status;
+	netobj lr_cookie;
+	struct {
+		u_int lr_entries_len;
+		log_entry *lr_entries_val;
+	} lr_entries;
+};
+typedef struct log_result log_result;
+
+struct cp_result {
+	nis_error cp_status;
+	uint32_t cp_zticks;
+	uint32_t cp_dticks;
+};
+typedef struct cp_result cp_result;
+
+struct nis_tag {
+	uint32_t tag_type;
+	char *tag_val;
+};
+typedef struct nis_tag nis_tag;
+
+struct nis_taglist {
+	struct {
+		u_int tags_len;
+		nis_tag *tags_val;
+	} tags;
+};
+typedef struct nis_taglist nis_taglist;
+
+struct dump_args {
+	nis_name da_dir;
+	uint32_t da_time;
+	struct {
+		u_int da_cbhost_len;
+		nis_server *da_cbhost_val;
+	} da_cbhost;
+};
+typedef struct dump_args dump_args;
+
+struct fd_args {
+	nis_name dir_name;
+	nis_name requester;
+};
+typedef struct fd_args fd_args;
+
+struct fd_result {
+	nis_error status;
+	nis_name source;
+	struct {
+		u_int dir_data_len;
+		char *dir_data_val;
+	} dir_data;
+	struct {
+		u_int signature_len;
+		char *signature_val;
+	} signature;
+};
+typedef struct fd_result fd_result;
+
+/* Generic client creating flags */
+#define ZMH_VC		1
+#define ZMH_DG		2
+#define ZMH_AUTH	4
+
+/* Testing Access rights for objects */
+
+#define NIS_READ_ACC		1
+#define NIS_MODIFY_ACC		2
+#define NIS_CREATE_ACC		4
+#define NIS_DESTROY_ACC	8
+/* Test macros. a == access rights, m == desired rights. */
+#define NIS_WORLD(a, m)        (((a) & (m)) != 0)
+#define NIS_GROUP(a, m)        (((a) & ((m) << 8)) != 0)
+#define NIS_OWNER(a, m)        (((a) & ((m) << 16)) != 0)
+#define NIS_NOBODY(a, m)       (((a) & ((m) << 24)) != 0)
+/*
+ * EOL Alert - The following non-prefixed test macros are
+ * here for backward compatability, and will be not be present
+ * in future releases - use the NIS_*() macros above.
+ */
+#define WORLD(a, m)	(((a) & (m)) != 0)
+#define GROUP(a, m)	(((a) & ((m) << 8)) != 0)
+#define OWNER(a, m)	(((a) & ((m) << 16)) != 0)
+#define NOBODY(a, m)	(((a) & ((m) << 24)) != 0)
+
+#define OATYPE(d, n) (((d)->do_armask.do_armask_val+n)->oa_otype)
+#define OARIGHTS(d, n) (((d)->do_armask.do_armask_val+n)->oa_rights)
+#define WORLD_DEFAULT (NIS_READ_ACC)
+#define GROUP_DEFAULT (NIS_READ_ACC << 8)
+#define OWNER_DEFAULT ((NIS_READ_ACC + NIS_MODIFY_ACC + NIS_CREATE_ACC +\
+			NIS_DESTROY_ACC) << 16)
+#define DEFAULT_RIGHTS (WORLD_DEFAULT | GROUP_DEFAULT | OWNER_DEFAULT)
+
+/* Result manipulation defines ... */
+#define NIS_RES_NUMOBJ(x)	((x)->objects.objects_len)
+#define NIS_RES_OBJECT(x)	((x)->objects.objects_val)
+#define NIS_RES_COOKIE(x)	((x)->cookie)
+#define NIS_RES_STATUS(x)	((x)->status)
+
+/* These defines make getting at the variant part of the object easier. */
+#define TA_data zo_data.objdata_u.ta_data
+#define EN_data zo_data.objdata_u.en_data
+#define DI_data zo_data.objdata_u.di_data
+#define LI_data zo_data.objdata_u.li_data
+#define GR_data zo_data.objdata_u.gr_data
+
+#define __type_of(o) ((o)->zo_data.zo_type)
+
+/* Declarations for the internal subroutines in nislib.c */
+enum name_pos {SAME_NAME, HIGHER_NAME, LOWER_NAME, NOT_SEQUENTIAL, BAD_NAME};
+typedef enum name_pos name_pos;
+
+/*
+ * Defines for getting at column data in entry objects. Because RPCGEN
+ * generates some rather wordy structures, we create some defines that
+ * collapse the needed keystrokes to access a particular value using
+ * these definitions they take an nis_object *, and an int and return
+ * a u_char * for Value, and an int for length.
+ */
+#define ENTRY_VAL(obj, col) (obj)->EN_data.en_cols.en_cols_val[col].ec_value.ec_value_val
+#define ENTRY_LEN(obj, col) (obj)->EN_data.en_cols.en_cols_val[col].ec_value.ec_value_len
+
+
+/* Prototypes, and extern declarations for the NIS library functions. */
+//#include <rpcsvc/nislib.h>
+#endif
+
+/*
+ * nis_3.h
+ *
+ * This file contains definitions that are only of interest to the actual
+ * service daemon and client stubs. Normal users of NIS will not include
+ * this file.
+ *
+ * NOTE : This include file is automatically created by a combination
+ * of rpcgen and sed. DO NOT EDIT IT, change the nis.x file instead
+ * and then remake this file.
+ */
+#ifndef __nis_3_h
+#define __nis_3_h
+
+#define NIS_PROG 100300
+#define NIS_VERSION 3
+
+
+__END_DECLS
+
+#endif /* ! _RPCSVC_NIS_H */

diff --git a/net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild b/net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild
new file mode 100644
index 0000000..186c616
--- /dev/null
+++ b/net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/libtirpc/libtirpc-0.2.2-r1.ebuild,v 1.7 2012/02/15 18:04:40 ranger Exp $
+
+EAPI="4"
+
+inherit autotools eutils toolchain-funcs
+
+DESCRIPTION="Transport Independent RPC library (SunRPC replacement)"
+HOMEPAGE="http://libtirpc.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~mips ~x86"
+IUSE="kerberos static-libs"
+
+RDEPEND="kerberos? ( net-libs/libgssglue )"
+DEPEND="${RDEPEND}
+	app-arch/xz-utils
+	dev-util/pkgconfig"
+
+#src_unpack() {
+#	unpack ${A}
+#	cp -r tirpc "${S}"/ || die
+#}
+
+src_prepare() {
+	epatch "${FILESDIR}"/${PN}-0.2.1-fortify.patch
+	epatch "${FILESDIR}"/${PN}-0.2.2-rpc-des-prot.patch
+	epatch "${FILESDIR}"/${PN}-no-des.patch
+	mkdir src/rpcsvc
+	cp "${FILESDIR}"/nis.h src/rpcsvc/
+	elibtoolize
+}
+
+src_configure() {
+	econf \
+		$(use_enable kerberos gss) \
+		$(use_enable static-libs static)
+}
+
+src_install() {
+	emake install DESTDIR="${D}" || die
+	dodoc AUTHORS ChangeLog NEWS README THANKS TODO
+	insinto /etc
+	newins doc/etc_netconfig netconfig || die
+
+	insinto /usr/include/tirpc
+	doins -r "${WORKDIR}"/tirpc/* || die
+
+	# libtirpc replaces rpc support in glibc, so we need it in /
+	gen_usr_ldscript -a tirpc
+
+	# makes sure that the linking order for nfs-utils is proper, as
+	# libtool would inject a libgssglue dependency in the list.
+	use static-libs || find "${D}" -name '*.la' -delete
+}

diff --git a/net-libs/libtirpc/metadata.xml b/net-libs/libtirpc/metadata.xml
new file mode 100644
index 0000000..ca66751
--- /dev/null
+++ b/net-libs/libtirpc/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-fs</herd>
+</pkgmetadata>



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] proj/hardened-dev:uclibc commit in: net-libs/libtirpc/, net-libs/libtirpc/files/
@ 2012-02-24  2:41 Anthony G. Basile
  0 siblings, 0 replies; 4+ messages in thread
From: Anthony G. Basile @ 2012-02-24  2:41 UTC (permalink / raw
  To: gentoo-commits

commit:     00923614895321ecf9024f4fb47e3987f9a90a96
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 24 02:41:50 2012 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Feb 24 02:41:50 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=00923614

net-libs/libtirpc: drop alpine linux approach, enable bundled code

(Portage version: 2.1.10.44/git/Linux x86_64, signed Manifest commit with key 0xD0455535)

---
 .../libtirpc/files/libtirpc-enable-fullfunc.patch  |   14 +
 net-libs/libtirpc/files/libtirpc-no-des.patch      |   38 --
 net-libs/libtirpc/files/nis.h                      |  542 --------------------
 net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild        |   13 +-
 4 files changed, 20 insertions(+), 587 deletions(-)

diff --git a/net-libs/libtirpc/files/libtirpc-enable-fullfunc.patch b/net-libs/libtirpc/files/libtirpc-enable-fullfunc.patch
new file mode 100644
index 0000000..7f6f8d1
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-enable-fullfunc.patch
@@ -0,0 +1,14 @@
+diff -Naur libtirpc-0.2.2.orig//src/Makefile.am libtirpc-0.2.2/src/Makefile.am
+--- libtirpc-0.2.2.orig//src/Makefile.am	2011-05-02 08:10:40.000000000 -0400
++++ libtirpc-0.2.2/src/Makefile.am	2012-02-23 21:32:57.000000000 -0500
+@@ -63,7 +63,6 @@
+     libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSGLUE_CFLAGS)
+ endif
+ 
+-## libtirpc_a_SOURCES += key_call.c key_prot_xdr.c getpublickey.c
+-## libtirpc_a_SOURCES += netname.c netnamer.c rpcdname.c \
+-## libtirpc_a_SOURCES += rtime.c \
+-## auth_time.c auth_des.c authdes_prot.c 
++libtirpc_la_SOURCES += key_prot_xdr.c getpublickey.c
++libtirpc_la_SOURCES += netname.c netnamer.c rpcdname.c
++libtirpc_la_SOURCES += rtime.c

diff --git a/net-libs/libtirpc/files/libtirpc-no-des.patch b/net-libs/libtirpc/files/libtirpc-no-des.patch
deleted file mode 100644
index 7ebb644..0000000
--- a/net-libs/libtirpc/files/libtirpc-no-des.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- libtirpc-0.2.2.orig/src/Makefile.am
-+++ libtirpc-0.2.2/src/Makefile.am
-@@ -40,7 +40,7 @@
- # release number of your package. This is an abuse that only fosters
- # misunderstanding of the purpose of library versions."
- #
--libtirpc_la_LDFLAGS = -lnsl -lpthread -version-info 1:10:0
-+libtirpc_la_LDFLAGS = -lpthread -version-info 1:10:0
- 
- libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \
-         clnt_dg.c clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c \
-@@ -50,7 +50,7 @@
-         rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
-         rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \
-         svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \
--        auth_time.c auth_des.c authdes_prot.c des_crypt.c
-+        auth_time.c
- 
- ## XDR
- libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c
---- libtirpc-0.2.2.orig/src/rpc_soc.c
-+++ libtirpc-0.2.2/src/rpc_soc.c
-@@ -515,6 +515,7 @@
- 	    (resultproc_t) rpc_wrap_bcast, "udp");
- }
- 
-+#if 0
- /*
-  * Create the client des authentication object. Obsoleted by
-  * authdes_seccreate().
-@@ -546,6 +547,7 @@
- 	dummy = authdes_seccreate(servername, window, NULL, ckey);
- 	return (dummy);
- }
-+#endif
- 
- /*
-  * Create a client handle for a unix connection. Obsoleted by clnt_vc_create()

diff --git a/net-libs/libtirpc/files/nis.h b/net-libs/libtirpc/files/nis.h
deleted file mode 100644
index a03a25f..0000000
--- a/net-libs/libtirpc/files/nis.h
+++ /dev/null
@@ -1,542 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user or with the express written consent of
- * Sun Microsystems, Inc.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-
-#ifndef _RPCSVC_NIS_H
-#define _RPCSVC_NIS_H 1
-
-#include <features.h>
-//#include <rpc/rpc.h>
-//#include <rpcsvc/nis_tags.h>
-
-__BEGIN_DECLS
-
-/*
- *	nis.h
- *
- *	This file is the main include file for NIS clients. It contains
- *	both the client library function defines and the various data
- * 	structures used by the NIS service. It includes the file nis_tags.h
- *	which defines the tag values. This allows the tags to change without
- *	having to change the nis.x file.
- *
- *	NOTE : THIS FILE IS NOT GENERATED WITH RPCGEN ! SO YOU HAVE TO
- *             ADD ALL THE CHANGES ON nis_*.x FILES HERE AGAIN !
- *
- *      I have removed all the Solaris internal structs and variables,
- *      because they are not supported, Sun changed them between various
- *      releases and they shouldn't be used in user programs.
- *                                              <kukuk@suse.de>
- */
-
-
-#ifndef __nis_object_h
-#define __nis_object_h
-
-#define NIS_MAXSTRINGLEN 255
-#define NIS_MAXNAMELEN 1024
-#define NIS_MAXATTRNAME 32
-#define NIS_MAXATTRVAL 2048
-#define NIS_MAXCOLUMNS 64
-#define NIS_MAXATTR 16
-#define NIS_MAXPATH 1024
-#define NIS_MAXREPLICAS 128
-#define NIS_MAXLINKS 16
-#define NIS_PK_NONE 0
-#define NIS_PK_DH 1
-#define NIS_PK_RSA 2
-#define NIS_PK_KERB 3
-#define NIS_PK_DHEXT 4
-
-struct nis_attr {
-	char *zattr_ndx;
-	struct {
-		u_int zattr_val_len;
-		char *zattr_val_val;
-	} zattr_val;
-};
-typedef struct nis_attr nis_attr;
-
-typedef char *nis_name;
-
-enum zotypes {
-	BOGUS_OBJ = 0,
-	NO_OBJ = 1,
-	DIRECTORY_OBJ = 2,
-	GROUP_OBJ = 3,
-	TABLE_OBJ = 4,
-	ENTRY_OBJ = 5,
-	LINK_OBJ = 6,
-	PRIVATE_OBJ = 7,
-	NIS_BOGUS_OBJ = 0,
-	NIS_NO_OBJ = 1,
-	NIS_DIRECTORY_OBJ = 2,
-	NIS_GROUP_OBJ = 3,
-	NIS_TABLE_OBJ = 4,
-	NIS_ENTRY_OBJ = 5,
-	NIS_LINK_OBJ = 6,
-	NIS_PRIVATE_OBJ = 7
-};
-typedef enum zotypes zotypes;
-
-enum nstype {
-	UNKNOWN = 0,
-	NIS = 1,
-	SUNYP = 2,
-	IVY = 3,
-	DNS = 4,
-	X500 = 5,
-	DNANS = 6,
-	XCHS = 7,
-	CDS = 8,
-};
-typedef enum nstype nstype;
-
-struct oar_mask {
-        uint32_t oa_rights;
-        zotypes oa_otype;
-};
-typedef struct oar_mask oar_mask;
-
-struct endpoint {
-	char *uaddr;
-	char *family;
-	char *proto;
-};
-typedef struct endpoint endpoint;
-
-struct nis_server {
-	nis_name name;
-	struct {
-		u_int ep_len;
-		endpoint *ep_val;
-	} ep;
-	uint32_t key_type;
-	netobj pkey;
-};
-typedef struct nis_server nis_server;
-
-struct directory_obj {
-	nis_name do_name;
-	nstype do_type;
-	struct {
-		u_int do_servers_len;
-		nis_server *do_servers_val;
-	} do_servers;
-	uint32_t do_ttl;
-	struct {
-		u_int do_armask_len;
-		oar_mask *do_armask_val;
-	} do_armask;
-};
-typedef struct directory_obj directory_obj;
-
-#define EN_BINARY 1
-#define EN_CRYPT 2
-#define EN_XDR 4
-#define EN_MODIFIED 8
-#define EN_ASN1 64
-
-struct entry_col {
-	uint32_t ec_flags;
-	struct {
-		u_int ec_value_len;
-		char *ec_value_val;
-	} ec_value;
-};
-typedef struct entry_col entry_col;
-
-struct entry_obj {
-	char *en_type;
-	struct {
-		u_int en_cols_len;
-		entry_col *en_cols_val;
-	} en_cols;
-};
-typedef struct entry_obj entry_obj;
-
-struct group_obj {
-	uint32_t gr_flags;
-	struct {
-		u_int gr_members_len;
-		nis_name *gr_members_val;
-	} gr_members;
-};
-typedef struct group_obj group_obj;
-
-struct link_obj {
-	zotypes li_rtype;
-	struct {
-		u_int li_attrs_len;
-		nis_attr *li_attrs_val;
-	} li_attrs;
-	nis_name li_name;
-};
-typedef struct link_obj link_obj;
-
-#define TA_BINARY 1
-#define TA_CRYPT 2
-#define TA_XDR 4
-#define TA_SEARCHABLE 8
-#define TA_CASE 16
-#define TA_MODIFIED 32
-#define TA_ASN1 64
-
-struct table_col {
-	char *tc_name;
-	uint32_t tc_flags;
-	uint32_t tc_rights;
-};
-typedef struct table_col table_col;
-
-struct table_obj {
-	char *ta_type;
-	int ta_maxcol;
-	u_char ta_sep;
-	struct {
-		u_int ta_cols_len;
-		table_col *ta_cols_val;
-	} ta_cols;
-	char *ta_path;
-};
-typedef struct table_obj table_obj;
-
-struct objdata {
-	zotypes zo_type;
-	union {
-		struct directory_obj di_data;
-		struct group_obj gr_data;
-		struct table_obj ta_data;
-		struct entry_obj en_data;
-		struct link_obj li_data;
-		struct {
-			u_int po_data_len;
-			char *po_data_val;
-		} po_data;
-	} objdata_u;
-};
-typedef struct objdata objdata;
-
-struct nis_oid {
-	uint32_t ctime;
-	uint32_t mtime;
-};
-typedef struct nis_oid nis_oid;
-
-struct nis_object {
-	nis_oid zo_oid;
-	nis_name zo_name;
-	nis_name zo_owner;
-	nis_name zo_group;
-	nis_name zo_domain;
-	uint32_t zo_access;
-	uint32_t zo_ttl;
-	objdata zo_data;
-};
-typedef struct nis_object nis_object;
-
-#endif /* if __nis_object_h */
-
-enum nis_error {
-	NIS_SUCCESS = 0,
-	NIS_S_SUCCESS = 1,
-	NIS_NOTFOUND = 2,
-	NIS_S_NOTFOUND = 3,
-	NIS_CACHEEXPIRED = 4,
-	NIS_NAMEUNREACHABLE = 5,
-	NIS_UNKNOWNOBJ = 6,
-	NIS_TRYAGAIN = 7,
-	NIS_SYSTEMERROR = 8,
-	NIS_CHAINBROKEN = 9,
-	NIS_PERMISSION = 10,
-	NIS_NOTOWNER = 11,
-	NIS_NOT_ME = 12,
-	NIS_NOMEMORY = 13,
-	NIS_NAMEEXISTS = 14,
-	NIS_NOTMASTER = 15,
-	NIS_INVALIDOBJ = 16,
-	NIS_BADNAME = 17,
-	NIS_NOCALLBACK = 18,
-	NIS_CBRESULTS = 19,
-	NIS_NOSUCHNAME = 20,
-	NIS_NOTUNIQUE = 21,
-	NIS_IBMODERROR = 22,
-	NIS_NOSUCHTABLE = 23,
-	NIS_TYPEMISMATCH = 24,
-	NIS_LINKNAMEERROR = 25,
-	NIS_PARTIAL = 26,
-	NIS_TOOMANYATTRS = 27,
-	NIS_RPCERROR = 28,
-	NIS_BADATTRIBUTE = 29,
-	NIS_NOTSEARCHABLE = 30,
-	NIS_CBERROR = 31,
-	NIS_FOREIGNNS = 32,
-	NIS_BADOBJECT = 33,
-	NIS_NOTSAMEOBJ = 34,
-	NIS_MODFAIL = 35,
-	NIS_BADREQUEST = 36,
-	NIS_NOTEMPTY = 37,
-	NIS_COLDSTART_ERR = 38,
-	NIS_RESYNC = 39,
-	NIS_FAIL = 40,
-	NIS_UNAVAIL = 41,
-	NIS_RES2BIG = 42,
-	NIS_SRVAUTH = 43,
-	NIS_CLNTAUTH = 44,
-	NIS_NOFILESPACE = 45,
-	NIS_NOPROC = 46,
-	NIS_DUMPLATER = 47,
-};
-typedef enum nis_error nis_error;
-
-struct nis_result {
-	nis_error status;
-	struct {
-		u_int objects_len;
-		nis_object *objects_val;
-	} objects;
-	netobj cookie;
-	uint32_t zticks;
-	uint32_t dticks;
-	uint32_t aticks;
-	uint32_t cticks;
-};
-typedef struct nis_result nis_result;
-
-struct ns_request {
-	nis_name ns_name;
-	struct {
-		u_int ns_object_len;
-		nis_object *ns_object_val;
-	} ns_object;
-};
-typedef struct ns_request ns_request;
-
-struct ib_request {
-	nis_name ibr_name;
-	struct {
-		u_int ibr_srch_len;
-		nis_attr *ibr_srch_val;
-	} ibr_srch;
-	uint32_t ibr_flags;
-	struct {
-		u_int ibr_obj_len;
-		nis_object *ibr_obj_val;
-	} ibr_obj;
-	struct {
-		u_int ibr_cbhost_len;
-		nis_server *ibr_cbhost_val;
-	} ibr_cbhost;
-	u_int ibr_bufsize;
-	netobj ibr_cookie;
-};
-typedef struct ib_request ib_request;
-
-struct ping_args {
-	nis_name dir;
-	uint32_t stamp;
-};
-typedef struct ping_args ping_args;
-
-enum log_entry_t {
-	LOG_NOP = 0,
-	ADD_NAME = 1,
-	REM_NAME = 2,
-	MOD_NAME_OLD = 3,
-	MOD_NAME_NEW = 4,
-	ADD_IBASE = 5,
-	REM_IBASE = 6,
-	MOD_IBASE = 7,
-	UPD_STAMP = 8,
-};
-typedef enum log_entry_t log_entry_t;
-
-struct log_entry {
-	uint32_t le_time;
-	log_entry_t le_type;
-	nis_name le_princp;
-	nis_name le_name;
-	struct {
-		u_int le_attrs_len;
-		nis_attr *le_attrs_val;
-	} le_attrs;
-	nis_object le_object;
-};
-typedef struct log_entry log_entry;
-
-struct log_result {
-	nis_error lr_status;
-	netobj lr_cookie;
-	struct {
-		u_int lr_entries_len;
-		log_entry *lr_entries_val;
-	} lr_entries;
-};
-typedef struct log_result log_result;
-
-struct cp_result {
-	nis_error cp_status;
-	uint32_t cp_zticks;
-	uint32_t cp_dticks;
-};
-typedef struct cp_result cp_result;
-
-struct nis_tag {
-	uint32_t tag_type;
-	char *tag_val;
-};
-typedef struct nis_tag nis_tag;
-
-struct nis_taglist {
-	struct {
-		u_int tags_len;
-		nis_tag *tags_val;
-	} tags;
-};
-typedef struct nis_taglist nis_taglist;
-
-struct dump_args {
-	nis_name da_dir;
-	uint32_t da_time;
-	struct {
-		u_int da_cbhost_len;
-		nis_server *da_cbhost_val;
-	} da_cbhost;
-};
-typedef struct dump_args dump_args;
-
-struct fd_args {
-	nis_name dir_name;
-	nis_name requester;
-};
-typedef struct fd_args fd_args;
-
-struct fd_result {
-	nis_error status;
-	nis_name source;
-	struct {
-		u_int dir_data_len;
-		char *dir_data_val;
-	} dir_data;
-	struct {
-		u_int signature_len;
-		char *signature_val;
-	} signature;
-};
-typedef struct fd_result fd_result;
-
-/* Generic client creating flags */
-#define ZMH_VC		1
-#define ZMH_DG		2
-#define ZMH_AUTH	4
-
-/* Testing Access rights for objects */
-
-#define NIS_READ_ACC		1
-#define NIS_MODIFY_ACC		2
-#define NIS_CREATE_ACC		4
-#define NIS_DESTROY_ACC	8
-/* Test macros. a == access rights, m == desired rights. */
-#define NIS_WORLD(a, m)        (((a) & (m)) != 0)
-#define NIS_GROUP(a, m)        (((a) & ((m) << 8)) != 0)
-#define NIS_OWNER(a, m)        (((a) & ((m) << 16)) != 0)
-#define NIS_NOBODY(a, m)       (((a) & ((m) << 24)) != 0)
-/*
- * EOL Alert - The following non-prefixed test macros are
- * here for backward compatability, and will be not be present
- * in future releases - use the NIS_*() macros above.
- */
-#define WORLD(a, m)	(((a) & (m)) != 0)
-#define GROUP(a, m)	(((a) & ((m) << 8)) != 0)
-#define OWNER(a, m)	(((a) & ((m) << 16)) != 0)
-#define NOBODY(a, m)	(((a) & ((m) << 24)) != 0)
-
-#define OATYPE(d, n) (((d)->do_armask.do_armask_val+n)->oa_otype)
-#define OARIGHTS(d, n) (((d)->do_armask.do_armask_val+n)->oa_rights)
-#define WORLD_DEFAULT (NIS_READ_ACC)
-#define GROUP_DEFAULT (NIS_READ_ACC << 8)
-#define OWNER_DEFAULT ((NIS_READ_ACC + NIS_MODIFY_ACC + NIS_CREATE_ACC +\
-			NIS_DESTROY_ACC) << 16)
-#define DEFAULT_RIGHTS (WORLD_DEFAULT | GROUP_DEFAULT | OWNER_DEFAULT)
-
-/* Result manipulation defines ... */
-#define NIS_RES_NUMOBJ(x)	((x)->objects.objects_len)
-#define NIS_RES_OBJECT(x)	((x)->objects.objects_val)
-#define NIS_RES_COOKIE(x)	((x)->cookie)
-#define NIS_RES_STATUS(x)	((x)->status)
-
-/* These defines make getting at the variant part of the object easier. */
-#define TA_data zo_data.objdata_u.ta_data
-#define EN_data zo_data.objdata_u.en_data
-#define DI_data zo_data.objdata_u.di_data
-#define LI_data zo_data.objdata_u.li_data
-#define GR_data zo_data.objdata_u.gr_data
-
-#define __type_of(o) ((o)->zo_data.zo_type)
-
-/* Declarations for the internal subroutines in nislib.c */
-enum name_pos {SAME_NAME, HIGHER_NAME, LOWER_NAME, NOT_SEQUENTIAL, BAD_NAME};
-typedef enum name_pos name_pos;
-
-/*
- * Defines for getting at column data in entry objects. Because RPCGEN
- * generates some rather wordy structures, we create some defines that
- * collapse the needed keystrokes to access a particular value using
- * these definitions they take an nis_object *, and an int and return
- * a u_char * for Value, and an int for length.
- */
-#define ENTRY_VAL(obj, col) (obj)->EN_data.en_cols.en_cols_val[col].ec_value.ec_value_val
-#define ENTRY_LEN(obj, col) (obj)->EN_data.en_cols.en_cols_val[col].ec_value.ec_value_len
-
-
-/* Prototypes, and extern declarations for the NIS library functions. */
-//#include <rpcsvc/nislib.h>
-#endif
-
-/*
- * nis_3.h
- *
- * This file contains definitions that are only of interest to the actual
- * service daemon and client stubs. Normal users of NIS will not include
- * this file.
- *
- * NOTE : This include file is automatically created by a combination
- * of rpcgen and sed. DO NOT EDIT IT, change the nis.x file instead
- * and then remake this file.
- */
-#ifndef __nis_3_h
-#define __nis_3_h
-
-#define NIS_PROG 100300
-#define NIS_VERSION 3
-
-
-__END_DECLS
-
-#endif /* ! _RPCSVC_NIS_H */

diff --git a/net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild b/net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild
index d4ea109..248f9d7 100644
--- a/net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild
+++ b/net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild
@@ -29,10 +29,9 @@ src_unpack() {
 src_prepare() {
 	epatch "${FILESDIR}"/${PN}-0.2.1-fortify.patch
 	epatch "${FILESDIR}"/${PN}-0.2.2-rpc-des-prot.patch
-	epatch "${FILESDIR}"/${PN}-no-des.patch
-	mkdir src/rpcsvc
-	cp "${FILESDIR}"/nis.h src/rpcsvc/
-	elibtoolize
+	epatch "${FILESDIR}"/${PN}-enable-fullfunc.patch
+	> src/des_crypt.c #370713
+	autoreconf
 }
 
 src_configure() {
@@ -42,13 +41,13 @@ src_configure() {
 }
 
 src_install() {
-	emake install DESTDIR="${D}" || die
+	emake install DESTDIR="${D}"
 	dodoc AUTHORS ChangeLog NEWS README THANKS TODO
 	insinto /etc
-	newins doc/etc_netconfig netconfig || die
+	newins doc/etc_netconfig netconfig
 
 	insinto /usr/include/tirpc
-	doins -r "${WORKDIR}"/tirpc/* || die
+	doins -r "${WORKDIR}"/tirpc/*
 
 	# libtirpc replaces rpc support in glibc, so we need it in /
 	gen_usr_ldscript -a tirpc



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] proj/hardened-dev:uclibc commit in: net-libs/libtirpc/, net-libs/libtirpc/files/
@ 2012-02-25  0:31 Anthony G. Basile
  0 siblings, 0 replies; 4+ messages in thread
From: Anthony G. Basile @ 2012-02-25  0:31 UTC (permalink / raw
  To: gentoo-commits

commit:     c7d00f3f54baeadfc21aa12fef0df3e514f8a446
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 25 00:30:56 2012 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Feb 25 00:30:56 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=c7d00f3f

net-libs/libtirpc: reintroduce alpine linux fix

---
 .../libtirpc/files/libtirpc-allow-all-arch.patch   |   12 ++++++
 .../libtirpc/files/libtirpc-enable-fullfunc.patch  |   14 -------
 net-libs/libtirpc/files/libtirpc-no-des.patch      |   40 ++++++++++++++++++++
 net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild        |    4 +-
 4 files changed, 54 insertions(+), 16 deletions(-)

diff --git a/net-libs/libtirpc/files/libtirpc-allow-all-arch.patch b/net-libs/libtirpc/files/libtirpc-allow-all-arch.patch
new file mode 100644
index 0000000..46009be
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-allow-all-arch.patch
@@ -0,0 +1,12 @@
+diff -Naur libtirpc-0.2.2.orig/src/key_call.c libtirpc-0.2.2/src/key_call.c
+--- libtirpc-0.2.2.orig/src/key_call.c	2011-05-02 12:10:40.000000000 +0000
++++ libtirpc-0.2.2/src/key_call.c	2012-02-24 04:16:07.000000000 +0000
+@@ -359,7 +359,7 @@
+ #elif defined(sparc)
+ 	if (uname(&u) == -1)
+ #else
+-#error Unknown architecture!
++	if (uname(&u) == -1)
+ #endif
+ #endif
+ 	{

diff --git a/net-libs/libtirpc/files/libtirpc-enable-fullfunc.patch b/net-libs/libtirpc/files/libtirpc-enable-fullfunc.patch
deleted file mode 100644
index 7f6f8d1..0000000
--- a/net-libs/libtirpc/files/libtirpc-enable-fullfunc.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Naur libtirpc-0.2.2.orig//src/Makefile.am libtirpc-0.2.2/src/Makefile.am
---- libtirpc-0.2.2.orig//src/Makefile.am	2011-05-02 08:10:40.000000000 -0400
-+++ libtirpc-0.2.2/src/Makefile.am	2012-02-23 21:32:57.000000000 -0500
-@@ -63,7 +63,6 @@
-     libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSGLUE_CFLAGS)
- endif
- 
--## libtirpc_a_SOURCES += key_call.c key_prot_xdr.c getpublickey.c
--## libtirpc_a_SOURCES += netname.c netnamer.c rpcdname.c \
--## libtirpc_a_SOURCES += rtime.c \
--## auth_time.c auth_des.c authdes_prot.c 
-+libtirpc_la_SOURCES += key_prot_xdr.c getpublickey.c
-+libtirpc_la_SOURCES += netname.c netnamer.c rpcdname.c
-+libtirpc_la_SOURCES += rtime.c

diff --git a/net-libs/libtirpc/files/libtirpc-no-des.patch b/net-libs/libtirpc/files/libtirpc-no-des.patch
new file mode 100644
index 0000000..16c6cd0
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-no-des.patch
@@ -0,0 +1,40 @@
+See: http://git.alpinelinux.org/cgit/aports/tree/main/libtirpc/libtirpc-no-des.patch
+
+--- libtirpc-0.2.2.orig/src/Makefile.am
++++ libtirpc-0.2.2/src/Makefile.am
+@@ -40,7 +40,7 @@
+ # release number of your package. This is an abuse that only fosters
+ # misunderstanding of the purpose of library versions."
+ #
+-libtirpc_la_LDFLAGS = -lnsl -lpthread -version-info 1:10:0
++libtirpc_la_LDFLAGS = -lpthread -version-info 1:10:0
+ 
+ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \
+         clnt_dg.c clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c \
+@@ -50,7 +50,7 @@
+         rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
+         rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \
+         svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \
+-        auth_time.c auth_des.c authdes_prot.c des_crypt.c
++        auth_time.c
+ 
+ ## XDR
+ libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c
+--- libtirpc-0.2.2.orig/src/rpc_soc.c
++++ libtirpc-0.2.2/src/rpc_soc.c
+@@ -515,6 +515,7 @@
+ 	    (resultproc_t) rpc_wrap_bcast, "udp");
+ }
+ 
++#if 0
+ /*
+  * Create the client des authentication object. Obsoleted by
+  * authdes_seccreate().
+@@ -546,6 +547,7 @@
+ 	dummy = authdes_seccreate(servername, window, NULL, ckey);
+ 	return (dummy);
+ }
++#endif
+ 
+ /*
+  * Create a client handle for a unix connection. Obsoleted by clnt_vc_create()

diff --git a/net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild b/net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild
index 248f9d7..9ccd955 100644
--- a/net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild
+++ b/net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild
@@ -29,8 +29,8 @@ src_unpack() {
 src_prepare() {
 	epatch "${FILESDIR}"/${PN}-0.2.1-fortify.patch
 	epatch "${FILESDIR}"/${PN}-0.2.2-rpc-des-prot.patch
-	epatch "${FILESDIR}"/${PN}-enable-fullfunc.patch
-	> src/des_crypt.c #370713
+	epatch "${FILESDIR}"/${PN}-allow-all-arch.patch
+	epatch "${FILESDIR}"/${PN}-no-des.patch
 	autoreconf
 }
 



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] proj/hardened-dev:uclibc commit in: net-libs/libtirpc/, net-libs/libtirpc/files/
@ 2012-05-30 20:06 Anthony G. Basile
  0 siblings, 0 replies; 4+ messages in thread
From: Anthony G. Basile @ 2012-05-30 20:06 UTC (permalink / raw
  To: gentoo-commits

commit:     18c420c6b8f2a5aea68941d90a4205f53b4cc458
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed May 30 20:06:29 2012 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed May 30 20:06:29 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=18c420c6

net-libs/libtirpc: removed, works without alpine patch on uclibc-0.9.33.2

---
 .../libtirpc/files/libtirpc-0.2.1-fortify.patch    |   18 ------
 .../files/libtirpc-0.2.2-rpc-des-prot.patch        |   36 ------------
 .../libtirpc/files/libtirpc-allow-all-arch.patch   |   12 ----
 net-libs/libtirpc/files/libtirpc-no-des.patch      |   40 --------------
 net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild        |   58 --------------------
 net-libs/libtirpc/metadata.xml                     |    5 --
 6 files changed, 0 insertions(+), 169 deletions(-)

diff --git a/net-libs/libtirpc/files/libtirpc-0.2.1-fortify.patch b/net-libs/libtirpc/files/libtirpc-0.2.1-fortify.patch
deleted file mode 100644
index 7375bf8..0000000
--- a/net-libs/libtirpc/files/libtirpc-0.2.1-fortify.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Index: libtirpc-0.2.1/src/getrpcport.c
-===================================================================
---- libtirpc-0.2.1.orig/src/getrpcport.c
-+++ libtirpc-0.2.1/src/getrpcport.c
-@@ -54,11 +54,11 @@ getrpcport(host, prognum, versnum, proto
- 
- 	if ((hp = gethostbyname(host)) == NULL)
- 		return (0);
-+	if (hp->h_length != sizeof(addr.sin_addr.s_addr))
-+		return (0);
- 	memset(&addr, 0, sizeof(addr));
- 	addr.sin_family = AF_INET;
- 	addr.sin_port =  0;
--	if (hp->h_length > sizeof(addr))
--	  hp->h_length = sizeof(addr);
- 	memcpy(&addr.sin_addr.s_addr, hp->h_addr, (size_t)hp->h_length);
- 	/* Inconsistent interfaces need casts! :-( */
- 	return (pmap_getport(&addr, (u_long)prognum, (u_long)versnum, 

diff --git a/net-libs/libtirpc/files/libtirpc-0.2.2-rpc-des-prot.patch b/net-libs/libtirpc/files/libtirpc-0.2.2-rpc-des-prot.patch
deleted file mode 100644
index c5de6da..0000000
--- a/net-libs/libtirpc/files/libtirpc-0.2.2-rpc-des-prot.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From f2f43212b33dea42635061c82645287454a70107 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sat, 11 Jun 2011 15:21:55 -0400
-Subject: [PATCH] add multiple inclusion protection to rpc/des.h
-
-If you try to include this file multiple times, you get a build failure
-due to redefinitions of enums and such.
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- tirpc/rpc/des.h |    5 +++++
- 1 files changed, 5 insertions(+), 0 deletions(-)
-
-diff --git a/tirpc/rpc/des.h b/tirpc/rpc/des.h
-index e3d6897..d2881ad 100644
---- a/tirpc/rpc/des.h
-+++ b/tirpc/rpc/des.h
-@@ -33,6 +33,9 @@
-  * Copyright (c) 1986 by Sun Microsystems, Inc.
-  */
- 
-+#ifndef _RPC_DES_H_
-+#define _RPC_DES_H_
-+
- #define DES_MAXLEN 	65536	/* maximum # of bytes to encrypt  */
- #define DES_QUICKLEN	16	/* maximum # of bytes to encrypt quickly */
- 
-@@ -80,3 +83,5 @@ struct desparams {
-  * Software DES.
-  */
- extern int _des_crypt( char *, int, struct desparams * );
-+
-+#endif
--- 
-1.7.5.3
-

diff --git a/net-libs/libtirpc/files/libtirpc-allow-all-arch.patch b/net-libs/libtirpc/files/libtirpc-allow-all-arch.patch
deleted file mode 100644
index 46009be..0000000
--- a/net-libs/libtirpc/files/libtirpc-allow-all-arch.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur libtirpc-0.2.2.orig/src/key_call.c libtirpc-0.2.2/src/key_call.c
---- libtirpc-0.2.2.orig/src/key_call.c	2011-05-02 12:10:40.000000000 +0000
-+++ libtirpc-0.2.2/src/key_call.c	2012-02-24 04:16:07.000000000 +0000
-@@ -359,7 +359,7 @@
- #elif defined(sparc)
- 	if (uname(&u) == -1)
- #else
--#error Unknown architecture!
-+	if (uname(&u) == -1)
- #endif
- #endif
- 	{

diff --git a/net-libs/libtirpc/files/libtirpc-no-des.patch b/net-libs/libtirpc/files/libtirpc-no-des.patch
deleted file mode 100644
index 16c6cd0..0000000
--- a/net-libs/libtirpc/files/libtirpc-no-des.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-See: http://git.alpinelinux.org/cgit/aports/tree/main/libtirpc/libtirpc-no-des.patch
-
---- libtirpc-0.2.2.orig/src/Makefile.am
-+++ libtirpc-0.2.2/src/Makefile.am
-@@ -40,7 +40,7 @@
- # release number of your package. This is an abuse that only fosters
- # misunderstanding of the purpose of library versions."
- #
--libtirpc_la_LDFLAGS = -lnsl -lpthread -version-info 1:10:0
-+libtirpc_la_LDFLAGS = -lpthread -version-info 1:10:0
- 
- libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \
-         clnt_dg.c clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c \
-@@ -50,7 +50,7 @@
-         rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
-         rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \
-         svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \
--        auth_time.c auth_des.c authdes_prot.c des_crypt.c
-+        auth_time.c
- 
- ## XDR
- libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c
---- libtirpc-0.2.2.orig/src/rpc_soc.c
-+++ libtirpc-0.2.2/src/rpc_soc.c
-@@ -515,6 +515,7 @@
- 	    (resultproc_t) rpc_wrap_bcast, "udp");
- }
- 
-+#if 0
- /*
-  * Create the client des authentication object. Obsoleted by
-  * authdes_seccreate().
-@@ -546,6 +547,7 @@
- 	dummy = authdes_seccreate(servername, window, NULL, ckey);
- 	return (dummy);
- }
-+#endif
- 
- /*
-  * Create a client handle for a unix connection. Obsoleted by clnt_vc_create()

diff --git a/net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild b/net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild
deleted file mode 100644
index 9ccd955..0000000
--- a/net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/libtirpc/libtirpc-0.2.2-r1.ebuild,v 1.7 2012/02/15 18:04:40 ranger Exp $
-
-EAPI="4"
-
-inherit autotools eutils toolchain-funcs
-
-DESCRIPTION="Transport Independent RPC library (SunRPC replacement)"
-HOMEPAGE="http://libtirpc.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
-	mirror://gentoo/${PN}-glibc-nfs.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 mips x86"
-IUSE="kerberos static-libs"
-
-RDEPEND="kerberos? ( net-libs/libgssglue )"
-DEPEND="${RDEPEND}
-	app-arch/xz-utils
-	dev-util/pkgconfig"
-
-src_unpack() {
-	unpack ${A}
-	cp -r tirpc "${S}"/ || die
-}
-
-src_prepare() {
-	epatch "${FILESDIR}"/${PN}-0.2.1-fortify.patch
-	epatch "${FILESDIR}"/${PN}-0.2.2-rpc-des-prot.patch
-	epatch "${FILESDIR}"/${PN}-allow-all-arch.patch
-	epatch "${FILESDIR}"/${PN}-no-des.patch
-	autoreconf
-}
-
-src_configure() {
-	econf \
-		$(use_enable kerberos gss) \
-		$(use_enable static-libs static)
-}
-
-src_install() {
-	emake install DESTDIR="${D}"
-	dodoc AUTHORS ChangeLog NEWS README THANKS TODO
-	insinto /etc
-	newins doc/etc_netconfig netconfig
-
-	insinto /usr/include/tirpc
-	doins -r "${WORKDIR}"/tirpc/*
-
-	# libtirpc replaces rpc support in glibc, so we need it in /
-	gen_usr_ldscript -a tirpc
-
-	# makes sure that the linking order for nfs-utils is proper, as
-	# libtool would inject a libgssglue dependency in the list.
-	use static-libs || find "${D}" -name '*.la' -delete
-}

diff --git a/net-libs/libtirpc/metadata.xml b/net-libs/libtirpc/metadata.xml
deleted file mode 100644
index ca66751..0000000
--- a/net-libs/libtirpc/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>net-fs</herd>
-</pkgmetadata>



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-05-30 20:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-24  2:41 [gentoo-commits] proj/hardened-dev:uclibc commit in: net-libs/libtirpc/, net-libs/libtirpc/files/ Anthony G. Basile
  -- strict thread matches above, loose matches on Subject: below --
2012-05-30 20:06 Anthony G. Basile
2012-02-25  0:31 Anthony G. Basile
2012-02-24  0:16 Anthony G. Basile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox