From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1S0ipl-0004TY-JN for garchives@archives.gentoo.org; Fri, 24 Feb 2012 00:16:25 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 3F5C4E0E2E; Fri, 24 Feb 2012 00:16:18 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id E3F26E0E2E for ; Fri, 24 Feb 2012 00:16:17 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 26A6A1B4007 for ; Fri, 24 Feb 2012 00:16:17 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id D172BE53FF for ; Fri, 24 Feb 2012 00:16:15 +0000 (UTC) From: "Anthony G. Basile" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Anthony G. Basile" Message-ID: <1330042567.992583313934990a5f48408325fd19356be25d18.blueness@gentoo> Subject: [gentoo-commits] proj/hardened-dev:uclibc commit in: net-libs/libtirpc/, net-libs/libtirpc/files/ X-VCS-Repository: proj/hardened-dev X-VCS-Files: net-libs/libtirpc/files/libtirpc-0.2.1-fortify.patch net-libs/libtirpc/files/libtirpc-0.2.2-rpc-des-prot.patch net-libs/libtirpc/files/libtirpc-no-des.patch net-libs/libtirpc/files/nis.h net-libs/libtirpc/libtirpc-0.2.2-r99.ebuild net-libs/libtirpc/metadata.xml X-VCS-Directories: net-libs/libtirpc/ net-libs/libtirpc/files/ X-VCS-Committer: blueness X-VCS-Committer-Name: Anthony G. Basile X-VCS-Revision: 992583313934990a5f48408325fd19356be25d18 X-VCS-Branch: uclibc Date: Fri, 24 Feb 2012 00:16:15 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: b3516be4-4741-454d-a11b-9a6f38f79cdf X-Archives-Hash: e64fe8523e5b8aa0fcbee7d19edc9c43 commit: 992583313934990a5f48408325fd19356be25d18 Author: Anthony G. Basile gentoo org> AuthorDate: Fri Feb 24 00:16:07 2012 +0000 Commit: Anthony G. Basile gentoo org> CommitDate: Fri Feb 24 00:16:07 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/hardened-dev.= git;a=3Dcommit;h=3D99258331 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-l= ibs/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 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +--- libtirpc-0.2.1.orig/src/getrpcport.c ++++ libtirpc-0.2.1/src/getrpcport.c +@@ -54,11 +54,11 @@ getrpcport(host, prognum, versnum, proto +=20 + if ((hp =3D gethostbyname(host)) =3D=3D NULL) + return (0); ++ if (hp->h_length !=3D sizeof(addr.sin_addr.s_addr)) ++ return (0); + memset(&addr, 0, sizeof(addr)); + addr.sin_family =3D AF_INET; + addr.sin_port =3D 0; +- if (hp->h_length > sizeof(addr)) +- hp->h_length =3D 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,=20 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 +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 +--- + 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. + */ +=20 ++#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 */ +=20 +@@ -80,3 +83,5 @@ struct desparams { + * Software DES. + */ + extern int _des_crypt( char *, int, struct desparams * ); ++ ++#endif +--=20 +1.7.5.3 + diff --git a/net-libs/libtirpc/files/libtirpc-no-des.patch b/net-libs/lib= tirpc/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 =3D -lnsl -lpthread -version-info 1:10:0 ++libtirpc_la_LDFLAGS =3D -lpthread -version-info 1:10:0 +=20 + libtirpc_la_SOURCES =3D auth_none.c auth_unix.c authunix_prot.c bindres= vport.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_gen= eric.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 +=20 + ## XDR + libtirpc_la_SOURCES +=3D xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_me= m.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"); + } +=20 ++#if 0 + /* + * Create the client des authentication object. Obsoleted by + * authdes_seccreate(). +@@ -546,6 +547,7 @@ + dummy =3D authdes_seccreate(servername, window, NULL, ckey); + return (dummy); + } ++#endif +=20 + /* + * Create a client handle for a unix connection. Obsoleted by clnt_vc_c= reate() 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 produc= t 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 TH= E + * 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 revenu= e + * 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 +//#include +//#include + +__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. + * + */ + + +#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 =3D 0, + NO_OBJ =3D 1, + DIRECTORY_OBJ =3D 2, + GROUP_OBJ =3D 3, + TABLE_OBJ =3D 4, + ENTRY_OBJ =3D 5, + LINK_OBJ =3D 6, + PRIVATE_OBJ =3D 7, + NIS_BOGUS_OBJ =3D 0, + NIS_NO_OBJ =3D 1, + NIS_DIRECTORY_OBJ =3D 2, + NIS_GROUP_OBJ =3D 3, + NIS_TABLE_OBJ =3D 4, + NIS_ENTRY_OBJ =3D 5, + NIS_LINK_OBJ =3D 6, + NIS_PRIVATE_OBJ =3D 7 +}; +typedef enum zotypes zotypes; + +enum nstype { + UNKNOWN =3D 0, + NIS =3D 1, + SUNYP =3D 2, + IVY =3D 3, + DNS =3D 4, + X500 =3D 5, + DNANS =3D 6, + XCHS =3D 7, + CDS =3D 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 =3D 0, + NIS_S_SUCCESS =3D 1, + NIS_NOTFOUND =3D 2, + NIS_S_NOTFOUND =3D 3, + NIS_CACHEEXPIRED =3D 4, + NIS_NAMEUNREACHABLE =3D 5, + NIS_UNKNOWNOBJ =3D 6, + NIS_TRYAGAIN =3D 7, + NIS_SYSTEMERROR =3D 8, + NIS_CHAINBROKEN =3D 9, + NIS_PERMISSION =3D 10, + NIS_NOTOWNER =3D 11, + NIS_NOT_ME =3D 12, + NIS_NOMEMORY =3D 13, + NIS_NAMEEXISTS =3D 14, + NIS_NOTMASTER =3D 15, + NIS_INVALIDOBJ =3D 16, + NIS_BADNAME =3D 17, + NIS_NOCALLBACK =3D 18, + NIS_CBRESULTS =3D 19, + NIS_NOSUCHNAME =3D 20, + NIS_NOTUNIQUE =3D 21, + NIS_IBMODERROR =3D 22, + NIS_NOSUCHTABLE =3D 23, + NIS_TYPEMISMATCH =3D 24, + NIS_LINKNAMEERROR =3D 25, + NIS_PARTIAL =3D 26, + NIS_TOOMANYATTRS =3D 27, + NIS_RPCERROR =3D 28, + NIS_BADATTRIBUTE =3D 29, + NIS_NOTSEARCHABLE =3D 30, + NIS_CBERROR =3D 31, + NIS_FOREIGNNS =3D 32, + NIS_BADOBJECT =3D 33, + NIS_NOTSAMEOBJ =3D 34, + NIS_MODFAIL =3D 35, + NIS_BADREQUEST =3D 36, + NIS_NOTEMPTY =3D 37, + NIS_COLDSTART_ERR =3D 38, + NIS_RESYNC =3D 39, + NIS_FAIL =3D 40, + NIS_UNAVAIL =3D 41, + NIS_RES2BIG =3D 42, + NIS_SRVAUTH =3D 43, + NIS_CLNTAUTH =3D 44, + NIS_NOFILESPACE =3D 45, + NIS_NOPROC =3D 46, + NIS_DUMPLATER =3D 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 =3D 0, + ADD_NAME =3D 1, + REM_NAME =3D 2, + MOD_NAME_OLD =3D 3, + MOD_NAME_NEW =3D 4, + ADD_IBASE =3D 5, + REM_IBASE =3D 6, + MOD_IBASE =3D 7, + UPD_STAMP =3D 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 =3D=3D access rights, m =3D=3D desired rights. */ +#define NIS_WORLD(a, m) (((a) & (m)) !=3D 0) +#define NIS_GROUP(a, m) (((a) & ((m) << 8)) !=3D 0) +#define NIS_OWNER(a, m) (((a) & ((m) << 16)) !=3D 0) +#define NIS_NOBODY(a, m) (((a) & ((m) << 24)) !=3D 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)) !=3D 0) +#define GROUP(a, m) (((a) & ((m) << 8)) !=3D 0) +#define OWNER(a, m) (((a) & ((m) << 16)) !=3D 0) +#define NOBODY(a, m) (((a) & ((m) << 24)) !=3D 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_N= AME}; +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_v= alue.ec_value_val +#define ENTRY_LEN(obj, col) (obj)->EN_data.en_cols.en_cols_val[col].ec_v= alue.ec_value_len + + +/* Prototypes, and extern declarations for the NIS library functions. */ +//#include +#endif + +/* + * nis_3.h + * + * This file contains definitions that are only of interest to the actua= l + * 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/libti= rpc/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.e= build,v 1.7 2012/02/15 18:04:40 ranger Exp $ + +EAPI=3D"4" + +inherit autotools eutils toolchain-funcs + +DESCRIPTION=3D"Transport Independent RPC library (SunRPC replacement)" +HOMEPAGE=3D"http://libtirpc.sourceforge.net/" +SRC_URI=3D"mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE=3D"GPL-2" +SLOT=3D"0" +KEYWORDS=3D"~amd64 ~mips ~x86" +IUSE=3D"kerberos static-libs" + +RDEPEND=3D"kerberos? ( net-libs/libgssglue )" +DEPEND=3D"${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=3D"${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 @@ + + + +net-fs +