* [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-05-30 20:06 [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-02-25 0:31 Anthony G. Basile
2012-02-24 2:41 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