public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-libs/libtirpc/files/, net-libs/libtirpc/
@ 2017-05-08 18:39 Patrick McLean
  0 siblings, 0 replies; 8+ messages in thread
From: Patrick McLean @ 2017-05-08 18:39 UTC (permalink / raw
  To: gentoo-commits

commit:     d968a5aa9ebfa6bc766bed99370e164f08b9a0dc
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Mon May  8 18:33:08 2017 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon May  8 18:38:35 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d968a5aa

net-libs/libtirpc: Revision bump to pull in patch for CVE-2017-8779

This also gets rid of the src_unpack definition, moves to src_prepare and
adds a call to epatch_user to src_prepare.

Gentoo-Bug: 617472
Package-Manager: Portage-2.3.5, Repoman-2.3.2

 .../files/libtirpc-1.0.1-CVE-2017-8779.patch       | 255 +++++++++++++++++++++
 net-libs/libtirpc/libtirpc-1.0.1-r1.ebuild         |  60 +++++
 2 files changed, 315 insertions(+)

diff --git a/net-libs/libtirpc/files/libtirpc-1.0.1-CVE-2017-8779.patch b/net-libs/libtirpc/files/libtirpc-1.0.1-CVE-2017-8779.patch
new file mode 100644
index 00000000000..91a50fad649
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-1.0.1-CVE-2017-8779.patch
@@ -0,0 +1,255 @@
+diff --git a/src/rpc_generic.c b/src/rpc_generic.c
+index 2f09a8f..589cbd5 100644
+--- a/src/rpc_generic.c
++++ b/src/rpc_generic.c
+@@ -615,6 +615,9 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf)
+ 
+ 	switch (af) {
+ 	case AF_INET:
++		if (nbuf->len < sizeof(*sin)) {
++			return NULL;
++		}
+ 		sin = nbuf->buf;
+ 		if (inet_ntop(af, &sin->sin_addr, namebuf, sizeof namebuf)
+ 		    == NULL)
+@@ -626,6 +629,9 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf)
+ 		break;
+ #ifdef INET6
+ 	case AF_INET6:
++		if (nbuf->len < sizeof(*sin6)) {
++			return NULL;
++		}
+ 		sin6 = nbuf->buf;
+ 		if (inet_ntop(af, &sin6->sin6_addr, namebuf6, sizeof namebuf6)
+ 		    == NULL)
+@@ -667,6 +673,8 @@ __rpc_uaddr2taddr_af(int af, const char *uaddr)
+ 
+ 	port = 0;
+ 	sin = NULL;
++	if (uaddr == NULL)
++		return NULL;
+ 	addrstr = strdup(uaddr);
+ 	if (addrstr == NULL)
+ 		return NULL;
+diff --git a/src/rpcb_prot.c b/src/rpcb_prot.c
+index 43fd385..a923c8e 100644
+--- a/src/rpcb_prot.c
++++ b/src/rpcb_prot.c
+@@ -41,6 +41,7 @@
+ #include <rpc/types.h>
+ #include <rpc/xdr.h>
+ #include <rpc/rpcb_prot.h>
++#include "rpc_com.h"
+ 
+ bool_t
+ xdr_rpcb(xdrs, objp)
+@@ -53,13 +54,13 @@ xdr_rpcb(xdrs, objp)
+ 	if (!xdr_u_int32_t(xdrs, &objp->r_vers)) {
+ 		return (FALSE);
+ 	}
+-	if (!xdr_string(xdrs, &objp->r_netid, (u_int)~0)) {
++	if (!xdr_string(xdrs, &objp->r_netid, RPC_MAXDATASIZE)) {
+ 		return (FALSE);
+ 	}
+-	if (!xdr_string(xdrs, &objp->r_addr, (u_int)~0)) {
++	if (!xdr_string(xdrs, &objp->r_addr, RPC_MAXDATASIZE)) {
+ 		return (FALSE);
+ 	}
+-	if (!xdr_string(xdrs, &objp->r_owner, (u_int)~0)) {
++	if (!xdr_string(xdrs, &objp->r_owner, RPC_MAXDATASIZE)) {
+ 		return (FALSE);
+ 	}
+ 	return (TRUE);
+@@ -159,19 +160,19 @@ xdr_rpcb_entry(xdrs, objp)
+ 	XDR *xdrs;
+ 	rpcb_entry *objp;
+ {
+-	if (!xdr_string(xdrs, &objp->r_maddr, (u_int)~0)) {
++	if (!xdr_string(xdrs, &objp->r_maddr, RPC_MAXDATASIZE)) {
+ 		return (FALSE);
+ 	}
+-	if (!xdr_string(xdrs, &objp->r_nc_netid, (u_int)~0)) {
++	if (!xdr_string(xdrs, &objp->r_nc_netid, RPC_MAXDATASIZE)) {
+ 		return (FALSE);
+ 	}
+ 	if (!xdr_u_int32_t(xdrs, &objp->r_nc_semantics)) {
+ 		return (FALSE);
+ 	}
+-	if (!xdr_string(xdrs, &objp->r_nc_protofmly, (u_int)~0)) {
++	if (!xdr_string(xdrs, &objp->r_nc_protofmly, RPC_MAXDATASIZE)) {
+ 		return (FALSE);
+ 	}
+-	if (!xdr_string(xdrs, &objp->r_nc_proto, (u_int)~0)) {
++	if (!xdr_string(xdrs, &objp->r_nc_proto, RPC_MAXDATASIZE)) {
+ 		return (FALSE);
+ 	}
+ 	return (TRUE);
+@@ -292,7 +293,7 @@ xdr_rpcb_rmtcallres(xdrs, p)
+ 	bool_t dummy;
+ 	struct r_rpcb_rmtcallres *objp = (struct r_rpcb_rmtcallres *)(void *)p;
+ 
+-	if (!xdr_string(xdrs, &objp->addr, (u_int)~0)) {
++	if (!xdr_string(xdrs, &objp->addr, RPC_MAXDATASIZE)) {
+ 		return (FALSE);
+ 	}
+ 	if (!xdr_u_int(xdrs, &objp->results.results_len)) {
+@@ -312,6 +313,11 @@ xdr_netbuf(xdrs, objp)
+ 	if (!xdr_u_int32_t(xdrs, (u_int32_t *) &objp->maxlen)) {
+ 		return (FALSE);
+ 	}
++
++	if (objp->maxlen > RPC_MAXDATASIZE) {
++		return (FALSE);
++	}
++
+ 	dummy = xdr_bytes(xdrs, (char **)&(objp->buf),
+ 			(u_int *)&(objp->len), objp->maxlen);
+ 	return (dummy);
+diff --git a/src/rpcb_st_xdr.c b/src/rpcb_st_xdr.c
+index 08db745..28e6a48 100644
+--- a/src/rpcb_st_xdr.c
++++ b/src/rpcb_st_xdr.c
+@@ -37,6 +37,7 @@
+ 
+ 
+ #include <rpc/rpc.h>
++#include "rpc_com.h"
+ 
+ /* Link list of all the stats about getport and getaddr */
+ 
+@@ -58,7 +59,7 @@ xdr_rpcbs_addrlist(xdrs, objp)
+ 	    if (!xdr_int(xdrs, &objp->failure)) {
+ 		return (FALSE);
+ 	    }
+-	    if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) {
++	    if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) {
+ 		return (FALSE);
+ 	    }
+ 
+@@ -109,7 +110,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp)
+ 		IXDR_PUT_INT32(buf, objp->failure);
+ 		IXDR_PUT_INT32(buf, objp->indirect);
+ 	}
+-	if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) {
++	if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) {
+ 		return (FALSE);
+ 	}
+ 	if (!xdr_pointer(xdrs, (char **)&objp->next,
+@@ -147,7 +148,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp)
+ 		objp->failure = (int)IXDR_GET_INT32(buf);
+ 		objp->indirect = (int)IXDR_GET_INT32(buf);
+ 	}
+-	if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) {
++	if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) {
+ 		return (FALSE);
+ 	}
+ 	if (!xdr_pointer(xdrs, (char **)&objp->next,
+@@ -175,7 +176,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp)
+ 	if (!xdr_int(xdrs, &objp->indirect)) {
+ 		return (FALSE);
+ 	}
+-	if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) {
++	if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) {
+ 		return (FALSE);
+ 	}
+ 	if (!xdr_pointer(xdrs, (char **)&objp->next,
+diff --git a/src/xdr.c b/src/xdr.c
+index f3fb9ad..b9a1558 100644
+--- a/src/xdr.c
++++ b/src/xdr.c
+@@ -42,8 +42,10 @@
+ #include <stdlib.h>
+ #include <string.h>
+ 
++#include <rpc/rpc.h>
+ #include <rpc/types.h>
+ #include <rpc/xdr.h>
++#include <rpc/rpc_com.h>
+ 
+ typedef quad_t          longlong_t;     /* ANSI long long type */
+ typedef u_quad_t        u_longlong_t;   /* ANSI unsigned long long type */
+@@ -53,7 +55,6 @@ typedef u_quad_t        u_longlong_t;   /* ANSI unsigned long long type */
+  */
+ #define XDR_FALSE	((long) 0)
+ #define XDR_TRUE	((long) 1)
+-#define LASTUNSIGNED	((u_int) 0-1)
+ 
+ /*
+  * for unit alignment
+@@ -629,6 +630,7 @@ xdr_bytes(xdrs, cpp, sizep, maxsize)
+ {
+ 	char *sp = *cpp;  /* sp is the actual string pointer */
+ 	u_int nodesize;
++	bool_t ret, allocated = FALSE;
+ 
+ 	/*
+ 	 * first deal with the length since xdr bytes are counted
+@@ -652,6 +654,7 @@ xdr_bytes(xdrs, cpp, sizep, maxsize)
+ 		}
+ 		if (sp == NULL) {
+ 			*cpp = sp = mem_alloc(nodesize);
++			allocated = TRUE;
+ 		}
+ 		if (sp == NULL) {
+ 			warnx("xdr_bytes: out of memory");
+@@ -660,7 +663,14 @@ xdr_bytes(xdrs, cpp, sizep, maxsize)
+ 		/* FALLTHROUGH */
+ 
+ 	case XDR_ENCODE:
+-		return (xdr_opaque(xdrs, sp, nodesize));
++		ret = xdr_opaque(xdrs, sp, nodesize);
++		if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) {
++			if (allocated == TRUE) {
++				free(sp);
++				*cpp = NULL;
++			}
++		}
++		return (ret);
+ 
+ 	case XDR_FREE:
+ 		if (sp != NULL) {
+@@ -754,6 +764,7 @@ xdr_string(xdrs, cpp, maxsize)
+ 	char *sp = *cpp;  /* sp is the actual string pointer */
+ 	u_int size;
+ 	u_int nodesize;
++	bool_t ret, allocated = FALSE;
+ 
+ 	/*
+ 	 * first deal with the length since xdr strings are counted-strings
+@@ -793,8 +804,10 @@ xdr_string(xdrs, cpp, maxsize)
+ 	switch (xdrs->x_op) {
+ 
+ 	case XDR_DECODE:
+-		if (sp == NULL)
++		if (sp == NULL) {
+ 			*cpp = sp = mem_alloc(nodesize);
++			allocated = TRUE;
++		}
+ 		if (sp == NULL) {
+ 			warnx("xdr_string: out of memory");
+ 			return (FALSE);
+@@ -803,7 +816,14 @@ xdr_string(xdrs, cpp, maxsize)
+ 		/* FALLTHROUGH */
+ 
+ 	case XDR_ENCODE:
+-		return (xdr_opaque(xdrs, sp, size));
++		ret = xdr_opaque(xdrs, sp, size);
++		if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) {
++			if (allocated == TRUE) {
++				free(sp);
++				*cpp = NULL;
++			}
++		}
++		return (ret);
+ 
+ 	case XDR_FREE:
+ 		mem_free(sp, nodesize);
+@@ -823,7 +843,7 @@ xdr_wrapstring(xdrs, cpp)
+ 	XDR *xdrs;
+ 	char **cpp;
+ {
+-	return xdr_string(xdrs, cpp, LASTUNSIGNED);
++	return xdr_string(xdrs, cpp, RPC_MAXDATASIZE);
+ }
+ 
+ /*

diff --git a/net-libs/libtirpc/libtirpc-1.0.1-r1.ebuild b/net-libs/libtirpc/libtirpc-1.0.1-r1.ebuild
new file mode 100644
index 00000000000..7356481b169
--- /dev/null
+++ b/net-libs/libtirpc/libtirpc-1.0.1-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit multilib-minimal toolchain-funcs eutils
+
+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/3" # subslot matches SONAME major
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="ipv6 kerberos static-libs"
+
+RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+	app-arch/xz-utils
+	>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
+
+PATCHES=(
+	"${FILESDIR}/${P}-CVE-2017-8779.patch"
+)
+
+src_prepare() {
+	cp -r "${WORKDIR}"/tirpc "${S}"/ || die
+	epatch "${PATCHES[@]}"
+	epatch_user
+}
+
+multilib_src_configure() {
+	ECONF_SOURCE=${S} \
+	econf \
+		$(use_enable ipv6) \
+		$(use_enable kerberos gssapi) \
+		$(use_enable static-libs static)
+}
+
+multilib_src_install() {
+	default
+
+	# libtirpc replaces rpc support in glibc, so we need it in /
+	gen_usr_ldscript -a tirpc
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	insinto /etc
+	doins doc/netconfig
+
+	insinto /usr/include/tirpc
+	doins -r "${WORKDIR}"/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 || prune_libtool_files
+}


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

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libtirpc/files/, net-libs/libtirpc/
@ 2017-07-05 10:22 Joshua Kinard
  0 siblings, 0 replies; 8+ messages in thread
From: Joshua Kinard @ 2017-07-05 10:22 UTC (permalink / raw
  To: gentoo-commits

commit:     ae6ad766ca854bf00c6cbe18beb6f7ea6b806c79
Author:     Joshua Kinard <kumba <AT> gentoo <DOT> org>
AuthorDate: Wed Jul  5 10:21:38 2017 +0000
Commit:     Joshua Kinard <kumba <AT> gentoo <DOT> org>
CommitDate: Wed Jul  5 10:22:16 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae6ad766

net-libs/libtirpc: backport fixes for uclibc-ng userlands

A number of patches from libtirpc git were backported from 1.0.2_rc3 to
resolve compiliation errors when building under a sys-libs/uclibc-ng
userland.  Two patches are custom fixes -- see the top of each patch for
a more detailed explanation.  Tested on mips (both uclibc-ng and glibc)
and amd64 glibc.  Solves Bug #610846.

Signed-off-by: Joshua Kinard <kumba <AT> gentoo.org>
Package-Manager: Portage-2.3.6, Repoman-2.3.2

 ...ibtirpc-1.0.1_add-des_impl-c-7f6bb9a3467a.patch |  29 +++++
 ...c-1.0.1_ifdef-out-yp-headers-742bbdff6ddf.patch |  30 +++++
 ...0.1_remove-des-deps-to-glibc-503ac2e9fa56.patch |  43 +++++++
 ...tirpc-1.0.1_remove-nis-h-dep-5f00f8c78c5d.patch | 137 +++++++++++++++++++++
 ...tirpc-1.0.1_uclibc-dont-use-struct-rpcent.patch |  51 ++++++++
 ...ibtirpc-1.0.1_uclibc-use-memset-not-bzero.patch |  21 ++++
 net-libs/libtirpc/libtirpc-1.0.1-r2.ebuild         |  66 ++++++++++
 7 files changed, 377 insertions(+)

diff --git a/net-libs/libtirpc/files/libtirpc-1.0.1_add-des_impl-c-7f6bb9a3467a.patch b/net-libs/libtirpc/files/libtirpc-1.0.1_add-des_impl-c-7f6bb9a3467a.patch
new file mode 100644
index 00000000000..a62f23d87e9
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-1.0.1_add-des_impl-c-7f6bb9a3467a.patch
@@ -0,0 +1,29 @@
+From: Thorsten Kukuk <kukuk@thkukuk.de>
+Date: Mon, 4 Apr 2016 13:48:04 +0000 (-0400)
+Subject: Compile des_crypt.c and des_impl.c
+X-Git-Tag: libtirpc-1-0-2-rc3~1
+X-Git-Url: http://git.linux-nfs.org/?p=steved%2Flibtirpc.git;a=commitdiff_plain;h=7f6bb9a3467a57caf43425d213a06aeb7870086b
+
+Compile des_crypt.c and des_impl.c
+
+Add des_impl.c to become independent of deprecated functions of glibc
+
+Fixes: f17b44048003 ('Revert commit c0547c56dafb')
+Signed-off-by: Thorsten Kukuk <kukuk@thkukuk.de>
+Signed-off-by: Steve Dickson <steved@redhat.com>
+---
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index e4ed8aa..fba2aa4 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -24,7 +24,7 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln
+         rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \
+ 	svc_auth_des.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 debug.c
++        auth_time.c auth_des.c authdes_prot.c debug.c des_crypt.c des_impl.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 xdr_sizeof.c
+

diff --git a/net-libs/libtirpc/files/libtirpc-1.0.1_ifdef-out-yp-headers-742bbdff6ddf.patch b/net-libs/libtirpc/files/libtirpc-1.0.1_ifdef-out-yp-headers-742bbdff6ddf.patch
new file mode 100644
index 00000000000..481ace7e6fc
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-1.0.1_ifdef-out-yp-headers-742bbdff6ddf.patch
@@ -0,0 +1,30 @@
+From: Thorsten Kukuk <kukuk@thkukuk.de>
+Date: Mon, 4 Apr 2016 13:37:32 +0000 (-0400)
+Subject: getpublickey.c: ifdef out yp headers
+X-Git-Tag: libtirpc-1-0-2-rc3~3
+X-Git-Url: http://git.linux-nfs.org/?p=steved%2Flibtirpc.git;a=commitdiff_plain;h=742bbdff6ddff4dde0d610a842cd8ac0408af0a0
+
+getpublickey.c: ifdef out yp headers
+
+If we don't compile in YP support, don't include YP
+
+Signed-off-by: Thorsten Kukuk <kukuk@thkukuk.de>
+Signed-off-by: Steve Dickson <steved@redhat.com>
+---
+
+diff --git a/src/getpublickey.c b/src/getpublickey.c
+index 764a5f9..8cf4dc2 100644
+--- a/src/getpublickey.c
++++ b/src/getpublickey.c
+@@ -38,8 +38,10 @@
+ #include <pwd.h>
+ #include <rpc/rpc.h>
+ #include <rpc/key_prot.h>
++#ifdef YP
+ #include <rpcsvc/yp_prot.h>
+ #include <rpcsvc/ypclnt.h>
++#endif
+ #include <string.h>
+ #include <stdlib.h>
+ 
+

diff --git a/net-libs/libtirpc/files/libtirpc-1.0.1_remove-des-deps-to-glibc-503ac2e9fa56.patch b/net-libs/libtirpc/files/libtirpc-1.0.1_remove-des-deps-to-glibc-503ac2e9fa56.patch
new file mode 100644
index 00000000000..0ef15290ea1
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-1.0.1_remove-des-deps-to-glibc-503ac2e9fa56.patch
@@ -0,0 +1,43 @@
+From: Thorsten Kukuk <kukuk@thkukuk.de>
+Date: Mon, 4 Apr 2016 13:51:15 +0000 (-0400)
+Subject: Remove des*.c dependencies to glibc
+X-Git-Tag: libtirpc-1-0-2-rc3
+X-Git-Url: http://git.linux-nfs.org/?p=steved%2Flibtirpc.git;a=commitdiff_plain;h=503ac2e9fa569d95e366766202a7ca840e28b28a
+
+Remove des*.c dependencies to glibc
+
+Our des_impl.c has dependencies to glibc header files
+and different arguments then our header file has.
+Bring our own code in sync.
+
+Signed-off-by: Thorsten Kukuk <kukuk@thkukuk.de>
+Signed-off-by: Steve Dickson <steved@redhat.com>
+---
+
+diff --git a/src/des_impl.c b/src/des_impl.c
+index c5b7ed6..9dbccaf 100644
+--- a/src/des_impl.c
++++ b/src/des_impl.c
+@@ -6,7 +6,8 @@
+ /* see <http://www.gnu.org/licenses/> to obtain a copy.  */
+ #include <string.h>
+ #include <stdint.h>
+-#include <rpc/rpc_des.h>
++#include <sys/types.h>
++#include <rpc/des.h>
+ 
+ 
+ static const uint32_t des_SPtrans[8][64] =
+diff --git a/tirpc/rpc/des.h b/tirpc/rpc/des.h
+index d2881ad..018aa48 100644
+--- a/tirpc/rpc/des.h
++++ b/tirpc/rpc/des.h
+@@ -82,6 +82,6 @@ struct desparams {
+ /*
+  * Software DES.
+  */
+-extern int _des_crypt( char *, int, struct desparams * );
++extern int _des_crypt( char *, unsigned, struct desparams * );
+ 
+ #endif
+

diff --git a/net-libs/libtirpc/files/libtirpc-1.0.1_remove-nis-h-dep-5f00f8c78c5d.patch b/net-libs/libtirpc/files/libtirpc-1.0.1_remove-nis-h-dep-5f00f8c78c5d.patch
new file mode 100644
index 00000000000..a8ad182f76b
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-1.0.1_remove-nis-h-dep-5f00f8c78c5d.patch
@@ -0,0 +1,137 @@
+From: Thorsten Kukuk <kukuk@thkukuk.de>
+Date: Mon, 4 Apr 2016 13:44:19 +0000 (-0400)
+Subject: Remove dependency to nis.h
+X-Git-Tag: libtirpc-1-0-2-rc3~2
+X-Git-Url: http://git.linux-nfs.org/?p=steved%2Flibtirpc.git;a=commitdiff_plain;h=5f00f8c78c5d13437d50c0737ce77ad67fd4361d
+
+Remove dependency to nis.h
+
+libtirpc needs rpcsvc/nis.h for compiling, but does not
+provide this head file. It's only provided by glibc,
+if the sunrpc code is not marked as deprecated, and
+by libnsl. But libnsl needs libtirpc to compile...
+
+Signed-off-by: Steve Dickson <steved@redhat.com>
+---
+
+diff --git a/src/auth_des.c b/src/auth_des.c
+index 4d3639e..af2f61f 100644
+--- a/src/auth_des.c
++++ b/src/auth_des.c
+@@ -46,8 +46,8 @@
+ #include <rpc/clnt.h>
+ #include <rpc/xdr.h>
+ #include <sys/socket.h>
+-#undef NIS
+-#include <rpcsvc/nis.h>
++
++#include "nis.h"
+ 
+ #if defined(LIBC_SCCS) && !defined(lint)
+ #endif
+diff --git a/src/auth_time.c b/src/auth_time.c
+index 10e58eb..7f83ab4 100644
+--- a/src/auth_time.c
++++ b/src/auth_time.c
+@@ -44,8 +44,8 @@
+ #include <rpc/rpcb_prot.h>
+ //#include <clnt_soc.h>
+ #include <sys/select.h>
+-#undef NIS
+-#include <rpcsvc/nis.h>
++
++#include "nis.h"
+ 
+ 
+ #ifdef TESTING
+diff --git a/src/nis.h b/src/nis.h
+new file mode 100644
+index 0000000..588c041
+--- /dev/null
++++ b/src/nis.h
+@@ -0,0 +1,70 @@
++/*
++ * Copyright (c) 2010, Oracle America, Inc.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions are
++ * met:
++ *
++ *     * Redistributions of source code must retain the above copyright
++ *       notice, this list of conditions and the following disclaimer.
++ *     * Redistributions in binary form must reproduce the above
++ *       copyright notice, this list of conditions and the following
++ *       disclaimer in the documentation and/or other materials
++ *       provided with the distribution.
++ *     * Neither the name of the "Oracle America, Inc." nor the names of its
++ *       contributors may be used to endorse or promote products derived
++ *       from this software without specific prior written permission.
++ *
++ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
++ *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
++ *   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
++ *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ *   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
++ *   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++ *   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
++ *   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++ *   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ */
++
++#ifndef _INTERNAL_NIS_H
++#define _INTERNAL_NIS_H 1
++
++/*  This file only contains the definition of nis_server, to be
++    able to compile libtirpc without the need to have a glibc
++    with sunrpc or a libnsl already installed. */
++
++#define NIS_PK_NONE 0
++
++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;
++
++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;
++
++#endif /* ! _INTERNAL_NIS_H */
+diff --git a/src/rpc_soc.c b/src/rpc_soc.c
+index 1ec7b3f..ed0892a 100644
+--- a/src/rpc_soc.c
++++ b/src/rpc_soc.c
+@@ -61,8 +61,8 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+-#include <rpcsvc/nis.h>
+ 
++#include "nis.h"
+ #include "rpc_com.h"
+ 
+ extern mutex_t	rpcsoc_lock;
+

diff --git a/net-libs/libtirpc/files/libtirpc-1.0.1_uclibc-dont-use-struct-rpcent.patch b/net-libs/libtirpc/files/libtirpc-1.0.1_uclibc-dont-use-struct-rpcent.patch
new file mode 100644
index 00000000000..b2760d2b77b
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-1.0.1_uclibc-dont-use-struct-rpcent.patch
@@ -0,0 +1,51 @@
+From https://patchwork.kernel.org/patch/5499671/:
+
+    Subject: [6/9] Define struct rpcent on non GNU libc
+    From: Natanael Copa <ncopa@alpinelinux.org>
+    X-Patchwork-Id: 5499671
+    Message-Id: <1418718540-13667-7-git-send-email-ncopa@alpinelinux.org>
+    To: libtirpc-devel@lists.sourceforge.net
+    Cc: linux-nfs@vger.kernel.org, Natanael Copa <ncopa@alpinelinux.org>
+    Date: Tue, 16 Dec 2014 09:28:57 +0100
+
+    This fixes the following compile error with musl libc:
+    getrpcent.c:65:16: error: field 'rpc' has incomplete type
+      struct rpcent rpc;
+                    ^
+
+    Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+    ---
+    This patch could probably be better. It assumes that only GNU libc has
+    the rpcent struct defined, but the BSDs probably has it too.
+
+    I am not sure if uClibc has it, but uClibc does define __GLIBC__ so it
+    might be broken there too.
+
+    I looked into using AC_CHECK_MEMBER but I don't think it is a good idea
+    so depend on config.h since this is a header that will be installed on
+    the system.
+
+    I also found out that struct rpcent is also defined in
+    /usr/include/gssrpc/netdb.h but I am unsure if we can depend on that
+    too since GSS is optional.
+
+    So I am a bit in doubt what the proper fix is. Meanwhile, this works
+    for musl libc.
+
+We fix the uClibc case by checking for __UCLIBC__ as well, since uClibc will
+define __GLIBC__ as well (why?) as __UCLIBC__.  This should not affect the
+musl case.
+---
+
+diff -Naurp libtirpc-1.0.1.orig/tirpc/rpc/rpcent.h libtirpc-1.0.1/tirpc/rpc/rpcent.h
+--- libtirpc-1.0.1.orig/tirpc/rpc/rpcent.h	2015-10-30 15:15:14.000000000 +0000
++++ libtirpc-1.0.1/tirpc/rpc/rpcent.h	2017-07-05 04:58:27.141468000 +0000
+@@ -49,7 +49,7 @@ extern "C" {
+ #endif
+ 
+ /* These are defined in /usr/include/rpc/netdb.h */
+-#if !defined(__GLIBC__)
++#if !defined(__GLIBC__) || defined(__UCLIBC__)
+ struct rpcent {
+ 	char	*r_name;	/* name of server for this rpc program */
+ 	char	**r_aliases;	/* alias list */

diff --git a/net-libs/libtirpc/files/libtirpc-1.0.1_uclibc-use-memset-not-bzero.patch b/net-libs/libtirpc/files/libtirpc-1.0.1_uclibc-use-memset-not-bzero.patch
new file mode 100644
index 00000000000..f7657f74db4
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-1.0.1_uclibc-use-memset-not-bzero.patch
@@ -0,0 +1,21 @@
+Inspired by a similar fix here:
+http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/packages/nfs-utils/files/uclibc_bzero_fix.patch?id=39d8c0fc4a9d14b7bad1442e05c536e28b196a47
+
+Because uclibc does not have a working implementation of `__bzero'.
+---
+
+diff -Naurp libtirpc-1.0.1.orig/src/des_impl.c libtirpc-1.0.1/src/des_impl.c
+--- libtirpc-1.0.1.orig/src/des_impl.c	2017-07-05 06:16:07.441468000 +0000
++++ libtirpc-1.0.1/src/des_impl.c	2017-07-05 06:19:57.351468000 +0000
+@@ -588,7 +588,11 @@ _des_crypt (char *buf, unsigned len, str
+     }
+   tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0;
+   tbuf[0] = tbuf[1] = 0;
++#ifndef __UCLIBC__
+   __bzero (schedule, sizeof (schedule));
++#else
++  memset (schedule, 0, sizeof (schedule));
++#endif
+ 
+   return (1);
+ }

diff --git a/net-libs/libtirpc/libtirpc-1.0.1-r2.ebuild b/net-libs/libtirpc/libtirpc-1.0.1-r2.ebuild
new file mode 100644
index 00000000000..7a836805185
--- /dev/null
+++ b/net-libs/libtirpc/libtirpc-1.0.1-r2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit multilib-minimal toolchain-funcs eutils
+
+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/3" # subslot matches SONAME major
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="ipv6 kerberos static-libs"
+
+RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+	app-arch/xz-utils
+	>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
+
+PATCHES=(
+	"${FILESDIR}/${P}-CVE-2017-8779.patch"
+	"${FILESDIR}/${P}_uclibc-dont-use-struct-rpcent.patch"
+	"${FILESDIR}/${P}_ifdef-out-yp-headers-742bbdff6ddf.patch"
+	"${FILESDIR}/${P}_remove-nis-h-dep-5f00f8c78c5d.patch"
+	"${FILESDIR}/${P}_add-des_impl-c-7f6bb9a3467a.patch"
+	"${FILESDIR}/${P}_remove-des-deps-to-glibc-503ac2e9fa56.patch"
+	"${FILESDIR}/${P}_uclibc-use-memset-not-bzero.patch"
+)
+
+src_prepare() {
+	cp -r "${WORKDIR}"/tirpc "${S}"/ || die
+	epatch "${PATCHES[@]}"
+	epatch_user
+}
+
+multilib_src_configure() {
+	ECONF_SOURCE=${S} \
+	econf \
+		$(use_enable ipv6) \
+		$(use_enable kerberos gssapi) \
+		$(use_enable static-libs static)
+}
+
+multilib_src_install() {
+	default
+
+	# libtirpc replaces rpc support in glibc, so we need it in /
+	gen_usr_ldscript -a tirpc
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	insinto /etc
+	doins doc/netconfig
+
+	insinto /usr/include/tirpc
+	doins -r "${WORKDIR}"/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 || prune_libtool_files
+}


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

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libtirpc/files/, net-libs/libtirpc/
@ 2017-07-31  3:39 Joshua Kinard
  0 siblings, 0 replies; 8+ messages in thread
From: Joshua Kinard @ 2017-07-31  3:39 UTC (permalink / raw
  To: gentoo-commits

commit:     bee3a8d385667f50753d725e6fa94e45a0dec7f7
Author:     Joshua Kinard <kumba <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 31 03:38:33 2017 +0000
Commit:     Joshua Kinard <kumba <AT> gentoo <DOT> org>
CommitDate: Mon Jul 31 03:38:33 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bee3a8d3

net-libs/libtirpc: Add libtirpc-1.0.2

Signed-off-by: Joshua Kinard <kumba <AT> gentoo.org>
Package-Manager: Portage-2.3.6, Repoman-2.3.3

 net-libs/libtirpc/Manifest                         |  1 +
 .../files/libtirpc-1.0.2-bcopy-to-memmove.patch    | 49 +++++++++++++++++
 .../files/libtirpc-1.0.2-bzero-to-memset.patch     | 36 +++++++++++++
 net-libs/libtirpc/libtirpc-1.0.2.ebuild            | 62 ++++++++++++++++++++++
 4 files changed, 148 insertions(+)

diff --git a/net-libs/libtirpc/Manifest b/net-libs/libtirpc/Manifest
index 9d6a7415611..6c67c47e523 100644
--- a/net-libs/libtirpc/Manifest
+++ b/net-libs/libtirpc/Manifest
@@ -2,4 +2,5 @@ DIST libtirpc-0.2.4.tar.bz2 458544 SHA256 45c3e21dfc23a5ba501f9dfc6671678316fdfd
 DIST libtirpc-0.2.5.tar.bz2 459094 SHA256 62f9de7c2c8686c568757730e1fef66502a0e00d6cacf33546d0267984e002db SHA512 9f8afa1acb04a2c2c558018f2528f8caaa79994a2af2abeed947f914145872ef72988b241e11925c799db0de9ec51fd9baecd2b08150240b22f91e2e55a45194 WHIRLPOOL a2b4f1c4825f2b774c2290cccd9d552bb7566ec9eb5988d3ab619d7870a907600f67e7af39fbc3e245606db8534f114c990145789c383206d3a9cf96cf043d8c
 DIST libtirpc-0.3.1.tar.bz2 479721 SHA256 a8838fe180deb8a6f6e491ee665325a28dee4100ec6b1f0b86d611dbfe3a2bb8 SHA512 31b0a00a5390e418ab909e02fb67cbe31bef3326ee0105b2d9dc3ed93270a86e30d4cd618335af01be6b4da4bea215c111b9bead0d8d3e225c2e1d1b2f1e76a3 WHIRLPOOL 183f8ef45c381287e33f50c183c5fdb02ccf6e58dc69a80bbf31c46fcf990c422f3971ce40c9f6607a6be0daf015e412633b9e49ff77be41e6b804a21d6fc72c
 DIST libtirpc-1.0.1.tar.bz2 495125 SHA256 5156974f31be7ccbc8ab1de37c4739af6d9d42c87b1d5caf4835dda75fcbb89e SHA512 c9b449e737bc2bd3d56e31e8352f312e89a7ec2a11b73b5ac314e7d82d3b644c611e422b623912453b67b668f86a6de7bb7f18c9495dd15de8e2798ec2ff41c8 WHIRLPOOL cce6a4e69bd634b40d66594a81c23d2044b63eec16d6c96d6fcfaa7f2ca41fb9af99c8e2b964ec12be82682afa4090b218d7e14399fdfc9b32df6c2234bc3c9e
+DIST libtirpc-1.0.2.tar.bz2 509601 SHA256 723c5ce92706cbb601a8db09110df1b4b69391643158f20ff587e20e7c5f90f5 SHA512 6c819019a8e81d8263d3c509b2eee59ba1ef092222c5a0a8d28f004c711afa252097eca7e6b0b919b2d780883dfd9ee7a363df4cee7fd2c9159a065257637cec WHIRLPOOL 59306a645df28cfcfc1bf9e5215c59f0af7b8a01375ccef66c2ded4863e7183afd4b3ae0e7694f3eff78cc88f3978a4fd0c1b3375698fb90b59a08989021ebdc
 DIST libtirpc-glibc-nfs.tar.xz 8948 SHA256 2677cfedf626f3f5a8f6e507aed5bb8f79a7453b589d684dbbc086e755170d83 SHA512 90255bf0a27af16164e0710dd940778609925d473f4343093ff19d98cc4f23023788bf4edf0178eae1961afc0ba8b69b273de95b7d7e2afdb706701d8ba6f7ba WHIRLPOOL 06bcf3fd4e424a86071e5c4ddeb89aa571c862e765aae9382d9f9a55ab72cd1c623490555c1a9bd3380a2d04ecb10fb47a75a7dddf449d4368a1a01617226858

diff --git a/net-libs/libtirpc/files/libtirpc-1.0.2-bcopy-to-memmove.patch b/net-libs/libtirpc/files/libtirpc-1.0.2-bcopy-to-memmove.patch
new file mode 100644
index 00000000000..91619b7ac9f
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-1.0.2-bcopy-to-memmove.patch
@@ -0,0 +1,49 @@
+diff -Naurp libtirpc-1.0.2.orig/src/auth_time.c libtirpc-1.0.2/src/auth_time.c
+--- libtirpc-1.0.2.orig/src/auth_time.c	2017-07-05 11:02:23.000000000 -0400
++++ libtirpc-1.0.2/src/auth_time.c	2017-07-30 17:48:31.361420071 -0400
+@@ -104,7 +104,7 @@ static int uaddr_to_sockaddr(uaddr, sin)
+ 	p_bytes[1] = (unsigned char)a[5] & 0x000000FF;
+ 
+ 	sin->sin_family = AF_INET; /* always */
+-	bcopy((char *)&p_bytes, (char *)&sin->sin_port, 2);
++	memmove((char *)&sin->sin_port, (char *)&p_bytes, 2);
+ 
+ 	return (0);
+ }
+diff -Naurp libtirpc-1.0.2.orig/src/crypt_client.c libtirpc-1.0.2/src/crypt_client.c
+--- libtirpc-1.0.2.orig/src/crypt_client.c	2017-07-05 11:02:23.000000000 -0400
++++ libtirpc-1.0.2/src/crypt_client.c	2017-07-30 17:49:57.911419445 -0400
+@@ -75,8 +75,8 @@ _des_crypt_call(buf, len, dparms)
+ 	des_crypt_1_arg.desbuf.desbuf_val = buf;
+ 	des_crypt_1_arg.des_dir = dparms->des_dir;
+ 	des_crypt_1_arg.des_mode = dparms->des_mode;
+-	bcopy(dparms->des_ivec, des_crypt_1_arg.des_ivec, 8);
+-	bcopy(dparms->des_key, des_crypt_1_arg.des_key, 8);
++	memmove(des_crypt_1_arg.des_ivec, dparms->des_ivec, 8);
++	memmove(des_crypt_1_arg.des_key, dparms->des_key, 8);
+ 
+ 	result_1 = des_crypt_1(&des_crypt_1_arg, clnt);
+ 	if (result_1 == (desresp *) NULL) {
+@@ -88,8 +88,8 @@ _des_crypt_call(buf, len, dparms)
+ 
+ 	if (result_1->stat == DESERR_NONE ||
+ 	    result_1->stat == DESERR_NOHWDEVICE) {
+-		bcopy(result_1->desbuf.desbuf_val, buf, len);
+-		bcopy(result_1->des_ivec, dparms->des_ivec, 8);
++		memmove(buf, result_1->desbuf.desbuf_val, len);
++		memmove(dparms->des_ivec, result_1->des_ivec, 8);
+ 	}
+ 
+ 	clnt_freeres(clnt, (xdrproc_t)xdr_desresp, result_1);
+diff -Naurp libtirpc-1.0.2.orig/src/svc_auth_des.c libtirpc-1.0.2/src/svc_auth_des.c
+--- libtirpc-1.0.2.orig/src/svc_auth_des.c	2017-07-05 11:02:23.000000000 -0400
++++ libtirpc-1.0.2/src/svc_auth_des.c	2017-07-30 17:50:36.591419165 -0400
+@@ -145,7 +145,7 @@ _svcauth_des(rqst, msg)
+ 			return (AUTH_BADCRED);
+ 		}
+ 		cred->adc_fullname.name = area->area_netname;
+-		bcopy((char *)ixdr, cred->adc_fullname.name, 
++		memmove(cred->adc_fullname.name, (char *)ixdr,
+ 			(u_int)namelen);
+ 		cred->adc_fullname.name[namelen] = 0;
+ 		ixdr += (RNDUP(namelen) / BYTES_PER_XDR_UNIT);

diff --git a/net-libs/libtirpc/files/libtirpc-1.0.2-bzero-to-memset.patch b/net-libs/libtirpc/files/libtirpc-1.0.2-bzero-to-memset.patch
new file mode 100644
index 00000000000..64b516ed826
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-1.0.2-bzero-to-memset.patch
@@ -0,0 +1,36 @@
+diff -Naurp libtirpc-1.0.2.orig/src/auth_time.c libtirpc-1.0.2/src/auth_time.c
+--- libtirpc-1.0.2.orig/src/auth_time.c	2017-07-05 11:02:23.000000000 -0400
++++ libtirpc-1.0.2/src/auth_time.c	2017-07-30 17:46:39.481420880 -0400
+@@ -317,7 +317,7 @@ __rpc_get_time_offset(td, srv, thost, ua
+ 	sprintf(ipuaddr, "%d.%d.%d.%d.0.111", a1, a2, a3, a4);
+ 	useua = &ipuaddr[0];
+ 
+-	bzero((char *)&sin, sizeof(sin));
++	memset((char *)&sin, 0, sizeof(sin));
+ 	if (uaddr_to_sockaddr(useua, &sin)) {
+ 		msg("unable to translate uaddr to sockaddr.");
+ 		if (needfree)
+diff -Naurp libtirpc-1.0.2.orig/src/des_impl.c libtirpc-1.0.2/src/des_impl.c
+--- libtirpc-1.0.2.orig/src/des_impl.c	2017-07-05 11:02:23.000000000 -0400
++++ libtirpc-1.0.2/src/des_impl.c	2017-07-30 17:46:49.581420807 -0400
+@@ -588,7 +588,7 @@ _des_crypt (char *buf, unsigned len, str
+     }
+   tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0;
+   tbuf[0] = tbuf[1] = 0;
+-  __bzero (schedule, sizeof (schedule));
++  memset (schedule, 0, sizeof (schedule));
+ 
+   return (1);
+ }
+diff -Naurp libtirpc-1.0.2.orig/src/svc_auth_des.c libtirpc-1.0.2/src/svc_auth_des.c
+--- libtirpc-1.0.2.orig/src/svc_auth_des.c	2017-07-05 11:02:23.000000000 -0400
++++ libtirpc-1.0.2/src/svc_auth_des.c	2017-07-30 17:46:58.771420741 -0400
+@@ -356,7 +356,7 @@ cache_init()
+ 
+ 	authdes_cache = (struct cache_entry *)
+ 		mem_alloc(sizeof(struct cache_entry) * AUTHDES_CACHESZ);	
+-	bzero((char *)authdes_cache, 
++	memset((char *)authdes_cache, 0,
+ 		sizeof(struct cache_entry) * AUTHDES_CACHESZ);
+ 
+ 	authdes_lru = (short *)mem_alloc(sizeof(short) * AUTHDES_CACHESZ);

diff --git a/net-libs/libtirpc/libtirpc-1.0.2.ebuild b/net-libs/libtirpc/libtirpc-1.0.2.ebuild
new file mode 100644
index 00000000000..8aa9a82f54c
--- /dev/null
+++ b/net-libs/libtirpc/libtirpc-1.0.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit autotools multilib-minimal toolchain-funcs eutils
+
+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/3" # subslot matches SONAME major
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="ipv6 kerberos static-libs"
+
+RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+	app-arch/xz-utils
+	>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-1.0.2-bcopy-to-memmove.patch"
+	"${FILESDIR}/${PN}-1.0.2-bzero-to-memset.patch"
+)
+
+src_prepare() {
+	cp -r "${WORKDIR}"/tirpc "${S}"/ || die
+	epatch "${PATCHES[@]}"
+	epatch_user
+	eautoreconf
+}
+
+multilib_src_configure() {
+	ECONF_SOURCE=${S} \
+	econf \
+		$(use_enable ipv6) \
+		$(use_enable kerberos gssapi) \
+		$(use_enable static-libs static)
+}
+
+multilib_src_install() {
+	default
+
+	# libtirpc replaces rpc support in glibc, so we need it in /
+	gen_usr_ldscript -a tirpc
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	insinto /etc
+	doins doc/netconfig
+
+	insinto /usr/include/tirpc
+	doins -r "${WORKDIR}"/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 || prune_libtool_files
+}


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

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libtirpc/files/, net-libs/libtirpc/
@ 2017-09-05 20:25 Andreas Hüttel
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Hüttel @ 2017-09-05 20:25 UTC (permalink / raw
  To: gentoo-commits

commit:     a3ac427cc5cd7c20ba2593aac8413dd6c27ede56
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Tue Sep  5 20:22:27 2017 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Tue Sep  5 20:24:58 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3ac427c

net-libs/libtirpc: Add build fix for glibc-2.26, see bug 628752

Package-Manager: Portage-2.3.8, Repoman-2.3.3

 net-libs/libtirpc/files/libtirpc-1.0.2-glibc-2.26.patch | 12 ++++++++++++
 net-libs/libtirpc/libtirpc-1.0.2.ebuild                 |  1 +
 2 files changed, 13 insertions(+)

diff --git a/net-libs/libtirpc/files/libtirpc-1.0.2-glibc-2.26.patch b/net-libs/libtirpc/files/libtirpc-1.0.2-glibc-2.26.patch
new file mode 100644
index 00000000000..6d583e6149d
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-1.0.2-glibc-2.26.patch
@@ -0,0 +1,12 @@
+diff --git a/src/xdr_sizeof.c b/src/xdr_sizeof.c
+index d23fbd1..79d6707 100644
+--- a/src/xdr_sizeof.c
++++ b/src/xdr_sizeof.c
+@@ -39,6 +39,7 @@
+ #include <rpc/xdr.h>
+ #include <sys/types.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include "un-namespace.h"
+ 
+ /* ARGSUSED */

diff --git a/net-libs/libtirpc/libtirpc-1.0.2.ebuild b/net-libs/libtirpc/libtirpc-1.0.2.ebuild
index 8aa9a82f54c..5ca80645095 100644
--- a/net-libs/libtirpc/libtirpc-1.0.2.ebuild
+++ b/net-libs/libtirpc/libtirpc-1.0.2.ebuild
@@ -23,6 +23,7 @@ DEPEND="${RDEPEND}
 PATCHES=(
 	"${FILESDIR}/${PN}-1.0.2-bcopy-to-memmove.patch"
 	"${FILESDIR}/${PN}-1.0.2-bzero-to-memset.patch"
+	"${FILESDIR}/${PN}-1.0.2-glibc-2.26.patch"
 )
 
 src_prepare() {


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

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libtirpc/files/, net-libs/libtirpc/
@ 2017-09-16 15:48 Andreas Hüttel
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Hüttel @ 2017-09-16 15:48 UTC (permalink / raw
  To: gentoo-commits

commit:     25c725a0ae3e342731bdc9b02cd9e9d180831590
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 16 13:31:34 2017 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sat Sep 16 15:48:17 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25c725a0

net-libs/libtirpc: Add exported symbol bugfix from Arch; see the patch for links

Package-Manager: Portage-2.3.8, Repoman-2.3.3

 .../libtirpc/files/libtirpc-1.0.2-exports.patch    | 17 ++++++
 net-libs/libtirpc/libtirpc-1.0.2-r1.ebuild         | 64 ++++++++++++++++++++++
 2 files changed, 81 insertions(+)

diff --git a/net-libs/libtirpc/files/libtirpc-1.0.2-exports.patch b/net-libs/libtirpc/files/libtirpc-1.0.2-exports.patch
new file mode 100644
index 00000000000..174f4e3471f
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-1.0.2-exports.patch
@@ -0,0 +1,17 @@
+See
+https://bugs.alpinelinux.org/issues/7041
+https://git.alpinelinux.org/cgit/aports/commit/?id=9edb53cea056101c4963a04b747bf102de23f919
+(just hit this myself when building libnsl)
+... dilfridge
+
+--- a/src/libtirpc.map
++++ b/src/libtirpc.map
+@@ -298,7 +298,7 @@
+     key_gendes;
+     key_get_conv;
+     key_setsecret;
+-    key_secret_is_set;
++    key_secretkey_is_set;
+     key_setnet;
+     netname2host;
+     netname2user;

diff --git a/net-libs/libtirpc/libtirpc-1.0.2-r1.ebuild b/net-libs/libtirpc/libtirpc-1.0.2-r1.ebuild
new file mode 100644
index 00000000000..e88a976324a
--- /dev/null
+++ b/net-libs/libtirpc/libtirpc-1.0.2-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit autotools multilib-minimal toolchain-funcs eutils
+
+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/3" # subslot matches SONAME major
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="ipv6 kerberos static-libs"
+
+RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+	app-arch/xz-utils
+	>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-1.0.2-bcopy-to-memmove.patch"
+	"${FILESDIR}/${PN}-1.0.2-bzero-to-memset.patch"
+	"${FILESDIR}/${PN}-1.0.2-glibc-2.26.patch"
+	"${FILESDIR}/${PN}-1.0.2-exports.patch"
+)
+
+src_prepare() {
+	cp -r "${WORKDIR}"/tirpc "${S}"/ || die
+	epatch "${PATCHES[@]}"
+	epatch_user
+	eautoreconf
+}
+
+multilib_src_configure() {
+	ECONF_SOURCE=${S} \
+	econf \
+		$(use_enable ipv6) \
+		$(use_enable kerberos gssapi) \
+		$(use_enable static-libs static)
+}
+
+multilib_src_install() {
+	default
+
+	# libtirpc replaces rpc support in glibc, so we need it in /
+	gen_usr_ldscript -a tirpc
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	insinto /etc
+	doins doc/netconfig
+
+	insinto /usr/include/tirpc
+	doins -r "${WORKDIR}"/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 || prune_libtool_files
+}


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

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libtirpc/files/, net-libs/libtirpc/
@ 2018-03-20 13:36 Lars Wendler
  0 siblings, 0 replies; 8+ messages in thread
From: Lars Wendler @ 2018-03-20 13:36 UTC (permalink / raw
  To: gentoo-commits

commit:     43dcada96a162e895af35ba7bc77b5acccfd8d3d
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 20 12:22:17 2018 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Tue Mar 20 13:36:43 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43dcada9

net-libs/libtirpc: Removed old.

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 net-libs/libtirpc/Manifest                         |   1 -
 .../files/libtirpc-1.0.1-CVE-2017-8779.patch       | 255 ---------------------
 net-libs/libtirpc/libtirpc-1.0.1-r1.ebuild         |  60 -----
 3 files changed, 316 deletions(-)

diff --git a/net-libs/libtirpc/Manifest b/net-libs/libtirpc/Manifest
index 5133ab31777..95af0c27cb3 100644
--- a/net-libs/libtirpc/Manifest
+++ b/net-libs/libtirpc/Manifest
@@ -1,4 +1,3 @@
-DIST libtirpc-1.0.1.tar.bz2 495125 BLAKE2B bb282c6d0aa097840758b00b37c73f391aabc234b5a6e51282004c2c46b403e2ca66180b77810ec6009ea9c9a2a6aae7907a15102ff42f51e3e57e151124bf4c SHA512 c9b449e737bc2bd3d56e31e8352f312e89a7ec2a11b73b5ac314e7d82d3b644c611e422b623912453b67b668f86a6de7bb7f18c9495dd15de8e2798ec2ff41c8
 DIST libtirpc-1.0.2.tar.bz2 509601 BLAKE2B 7ccf23ca200e2027a66a3105d9b3d0612ac66a08498931f66526a291be6ddef8e7df533af4d44a0e4a1178edd6d51ae39ca50c2536b9b1be7179e7f17cfd165e SHA512 6c819019a8e81d8263d3c509b2eee59ba1ef092222c5a0a8d28f004c711afa252097eca7e6b0b919b2d780883dfd9ee7a363df4cee7fd2c9159a065257637cec
 DIST libtirpc-1.0.3.tar.bz2 509831 BLAKE2B 3f908471b3e10f88329793db2c832754b9bb838d115235d7c25256da883960de8d8c94a6941fc9c2a3cc4dca9a77c32b5cb85bb347cc182e5a6255636b79b06e SHA512 1f1cf7dd6f30ddddc919e4caf6db926f1d532f78d5a93e8aaa2acde6b046be0650c4c46549da0ffd5fa7fb9e550af1a871ed6e02ededf504c6667d2e82eba2cc
 DIST libtirpc-glibc-nfs.tar.xz 8948 BLAKE2B 7316623d9f2b6928e296137fe2bf6794b208d549c2ffba9e4a35b47f7b04bf023798a09f38c02d039debf6adc466d7689cf3c8274d71a22eaff08729642c0a28 SHA512 90255bf0a27af16164e0710dd940778609925d473f4343093ff19d98cc4f23023788bf4edf0178eae1961afc0ba8b69b273de95b7d7e2afdb706701d8ba6f7ba

diff --git a/net-libs/libtirpc/files/libtirpc-1.0.1-CVE-2017-8779.patch b/net-libs/libtirpc/files/libtirpc-1.0.1-CVE-2017-8779.patch
deleted file mode 100644
index 91a50fad649..00000000000
--- a/net-libs/libtirpc/files/libtirpc-1.0.1-CVE-2017-8779.patch
+++ /dev/null
@@ -1,255 +0,0 @@
-diff --git a/src/rpc_generic.c b/src/rpc_generic.c
-index 2f09a8f..589cbd5 100644
---- a/src/rpc_generic.c
-+++ b/src/rpc_generic.c
-@@ -615,6 +615,9 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf)
- 
- 	switch (af) {
- 	case AF_INET:
-+		if (nbuf->len < sizeof(*sin)) {
-+			return NULL;
-+		}
- 		sin = nbuf->buf;
- 		if (inet_ntop(af, &sin->sin_addr, namebuf, sizeof namebuf)
- 		    == NULL)
-@@ -626,6 +629,9 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf)
- 		break;
- #ifdef INET6
- 	case AF_INET6:
-+		if (nbuf->len < sizeof(*sin6)) {
-+			return NULL;
-+		}
- 		sin6 = nbuf->buf;
- 		if (inet_ntop(af, &sin6->sin6_addr, namebuf6, sizeof namebuf6)
- 		    == NULL)
-@@ -667,6 +673,8 @@ __rpc_uaddr2taddr_af(int af, const char *uaddr)
- 
- 	port = 0;
- 	sin = NULL;
-+	if (uaddr == NULL)
-+		return NULL;
- 	addrstr = strdup(uaddr);
- 	if (addrstr == NULL)
- 		return NULL;
-diff --git a/src/rpcb_prot.c b/src/rpcb_prot.c
-index 43fd385..a923c8e 100644
---- a/src/rpcb_prot.c
-+++ b/src/rpcb_prot.c
-@@ -41,6 +41,7 @@
- #include <rpc/types.h>
- #include <rpc/xdr.h>
- #include <rpc/rpcb_prot.h>
-+#include "rpc_com.h"
- 
- bool_t
- xdr_rpcb(xdrs, objp)
-@@ -53,13 +54,13 @@ xdr_rpcb(xdrs, objp)
- 	if (!xdr_u_int32_t(xdrs, &objp->r_vers)) {
- 		return (FALSE);
- 	}
--	if (!xdr_string(xdrs, &objp->r_netid, (u_int)~0)) {
-+	if (!xdr_string(xdrs, &objp->r_netid, RPC_MAXDATASIZE)) {
- 		return (FALSE);
- 	}
--	if (!xdr_string(xdrs, &objp->r_addr, (u_int)~0)) {
-+	if (!xdr_string(xdrs, &objp->r_addr, RPC_MAXDATASIZE)) {
- 		return (FALSE);
- 	}
--	if (!xdr_string(xdrs, &objp->r_owner, (u_int)~0)) {
-+	if (!xdr_string(xdrs, &objp->r_owner, RPC_MAXDATASIZE)) {
- 		return (FALSE);
- 	}
- 	return (TRUE);
-@@ -159,19 +160,19 @@ xdr_rpcb_entry(xdrs, objp)
- 	XDR *xdrs;
- 	rpcb_entry *objp;
- {
--	if (!xdr_string(xdrs, &objp->r_maddr, (u_int)~0)) {
-+	if (!xdr_string(xdrs, &objp->r_maddr, RPC_MAXDATASIZE)) {
- 		return (FALSE);
- 	}
--	if (!xdr_string(xdrs, &objp->r_nc_netid, (u_int)~0)) {
-+	if (!xdr_string(xdrs, &objp->r_nc_netid, RPC_MAXDATASIZE)) {
- 		return (FALSE);
- 	}
- 	if (!xdr_u_int32_t(xdrs, &objp->r_nc_semantics)) {
- 		return (FALSE);
- 	}
--	if (!xdr_string(xdrs, &objp->r_nc_protofmly, (u_int)~0)) {
-+	if (!xdr_string(xdrs, &objp->r_nc_protofmly, RPC_MAXDATASIZE)) {
- 		return (FALSE);
- 	}
--	if (!xdr_string(xdrs, &objp->r_nc_proto, (u_int)~0)) {
-+	if (!xdr_string(xdrs, &objp->r_nc_proto, RPC_MAXDATASIZE)) {
- 		return (FALSE);
- 	}
- 	return (TRUE);
-@@ -292,7 +293,7 @@ xdr_rpcb_rmtcallres(xdrs, p)
- 	bool_t dummy;
- 	struct r_rpcb_rmtcallres *objp = (struct r_rpcb_rmtcallres *)(void *)p;
- 
--	if (!xdr_string(xdrs, &objp->addr, (u_int)~0)) {
-+	if (!xdr_string(xdrs, &objp->addr, RPC_MAXDATASIZE)) {
- 		return (FALSE);
- 	}
- 	if (!xdr_u_int(xdrs, &objp->results.results_len)) {
-@@ -312,6 +313,11 @@ xdr_netbuf(xdrs, objp)
- 	if (!xdr_u_int32_t(xdrs, (u_int32_t *) &objp->maxlen)) {
- 		return (FALSE);
- 	}
-+
-+	if (objp->maxlen > RPC_MAXDATASIZE) {
-+		return (FALSE);
-+	}
-+
- 	dummy = xdr_bytes(xdrs, (char **)&(objp->buf),
- 			(u_int *)&(objp->len), objp->maxlen);
- 	return (dummy);
-diff --git a/src/rpcb_st_xdr.c b/src/rpcb_st_xdr.c
-index 08db745..28e6a48 100644
---- a/src/rpcb_st_xdr.c
-+++ b/src/rpcb_st_xdr.c
-@@ -37,6 +37,7 @@
- 
- 
- #include <rpc/rpc.h>
-+#include "rpc_com.h"
- 
- /* Link list of all the stats about getport and getaddr */
- 
-@@ -58,7 +59,7 @@ xdr_rpcbs_addrlist(xdrs, objp)
- 	    if (!xdr_int(xdrs, &objp->failure)) {
- 		return (FALSE);
- 	    }
--	    if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) {
-+	    if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) {
- 		return (FALSE);
- 	    }
- 
-@@ -109,7 +110,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp)
- 		IXDR_PUT_INT32(buf, objp->failure);
- 		IXDR_PUT_INT32(buf, objp->indirect);
- 	}
--	if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) {
-+	if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) {
- 		return (FALSE);
- 	}
- 	if (!xdr_pointer(xdrs, (char **)&objp->next,
-@@ -147,7 +148,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp)
- 		objp->failure = (int)IXDR_GET_INT32(buf);
- 		objp->indirect = (int)IXDR_GET_INT32(buf);
- 	}
--	if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) {
-+	if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) {
- 		return (FALSE);
- 	}
- 	if (!xdr_pointer(xdrs, (char **)&objp->next,
-@@ -175,7 +176,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp)
- 	if (!xdr_int(xdrs, &objp->indirect)) {
- 		return (FALSE);
- 	}
--	if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) {
-+	if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) {
- 		return (FALSE);
- 	}
- 	if (!xdr_pointer(xdrs, (char **)&objp->next,
-diff --git a/src/xdr.c b/src/xdr.c
-index f3fb9ad..b9a1558 100644
---- a/src/xdr.c
-+++ b/src/xdr.c
-@@ -42,8 +42,10 @@
- #include <stdlib.h>
- #include <string.h>
- 
-+#include <rpc/rpc.h>
- #include <rpc/types.h>
- #include <rpc/xdr.h>
-+#include <rpc/rpc_com.h>
- 
- typedef quad_t          longlong_t;     /* ANSI long long type */
- typedef u_quad_t        u_longlong_t;   /* ANSI unsigned long long type */
-@@ -53,7 +55,6 @@ typedef u_quad_t        u_longlong_t;   /* ANSI unsigned long long type */
-  */
- #define XDR_FALSE	((long) 0)
- #define XDR_TRUE	((long) 1)
--#define LASTUNSIGNED	((u_int) 0-1)
- 
- /*
-  * for unit alignment
-@@ -629,6 +630,7 @@ xdr_bytes(xdrs, cpp, sizep, maxsize)
- {
- 	char *sp = *cpp;  /* sp is the actual string pointer */
- 	u_int nodesize;
-+	bool_t ret, allocated = FALSE;
- 
- 	/*
- 	 * first deal with the length since xdr bytes are counted
-@@ -652,6 +654,7 @@ xdr_bytes(xdrs, cpp, sizep, maxsize)
- 		}
- 		if (sp == NULL) {
- 			*cpp = sp = mem_alloc(nodesize);
-+			allocated = TRUE;
- 		}
- 		if (sp == NULL) {
- 			warnx("xdr_bytes: out of memory");
-@@ -660,7 +663,14 @@ xdr_bytes(xdrs, cpp, sizep, maxsize)
- 		/* FALLTHROUGH */
- 
- 	case XDR_ENCODE:
--		return (xdr_opaque(xdrs, sp, nodesize));
-+		ret = xdr_opaque(xdrs, sp, nodesize);
-+		if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) {
-+			if (allocated == TRUE) {
-+				free(sp);
-+				*cpp = NULL;
-+			}
-+		}
-+		return (ret);
- 
- 	case XDR_FREE:
- 		if (sp != NULL) {
-@@ -754,6 +764,7 @@ xdr_string(xdrs, cpp, maxsize)
- 	char *sp = *cpp;  /* sp is the actual string pointer */
- 	u_int size;
- 	u_int nodesize;
-+	bool_t ret, allocated = FALSE;
- 
- 	/*
- 	 * first deal with the length since xdr strings are counted-strings
-@@ -793,8 +804,10 @@ xdr_string(xdrs, cpp, maxsize)
- 	switch (xdrs->x_op) {
- 
- 	case XDR_DECODE:
--		if (sp == NULL)
-+		if (sp == NULL) {
- 			*cpp = sp = mem_alloc(nodesize);
-+			allocated = TRUE;
-+		}
- 		if (sp == NULL) {
- 			warnx("xdr_string: out of memory");
- 			return (FALSE);
-@@ -803,7 +816,14 @@ xdr_string(xdrs, cpp, maxsize)
- 		/* FALLTHROUGH */
- 
- 	case XDR_ENCODE:
--		return (xdr_opaque(xdrs, sp, size));
-+		ret = xdr_opaque(xdrs, sp, size);
-+		if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) {
-+			if (allocated == TRUE) {
-+				free(sp);
-+				*cpp = NULL;
-+			}
-+		}
-+		return (ret);
- 
- 	case XDR_FREE:
- 		mem_free(sp, nodesize);
-@@ -823,7 +843,7 @@ xdr_wrapstring(xdrs, cpp)
- 	XDR *xdrs;
- 	char **cpp;
- {
--	return xdr_string(xdrs, cpp, LASTUNSIGNED);
-+	return xdr_string(xdrs, cpp, RPC_MAXDATASIZE);
- }
- 
- /*

diff --git a/net-libs/libtirpc/libtirpc-1.0.1-r1.ebuild b/net-libs/libtirpc/libtirpc-1.0.1-r1.ebuild
deleted file mode 100644
index 9791662277b..00000000000
--- a/net-libs/libtirpc/libtirpc-1.0.1-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit multilib-minimal toolchain-funcs eutils
-
-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/3" # subslot matches SONAME major
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
-IUSE="ipv6 kerberos static-libs"
-
-RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
-	app-arch/xz-utils
-	>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
-
-PATCHES=(
-	"${FILESDIR}/${P}-CVE-2017-8779.patch"
-)
-
-src_prepare() {
-	cp -r "${WORKDIR}"/tirpc "${S}"/ || die
-	epatch "${PATCHES[@]}"
-	epatch_user
-}
-
-multilib_src_configure() {
-	ECONF_SOURCE=${S} \
-	econf \
-		$(use_enable ipv6) \
-		$(use_enable kerberos gssapi) \
-		$(use_enable static-libs static)
-}
-
-multilib_src_install() {
-	default
-
-	# libtirpc replaces rpc support in glibc, so we need it in /
-	gen_usr_ldscript -a tirpc
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc
-	doins doc/netconfig
-
-	insinto /usr/include/tirpc
-	doins -r "${WORKDIR}"/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 || prune_libtool_files
-}


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

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libtirpc/files/, net-libs/libtirpc/
@ 2020-12-04  8:47 Lars Wendler
  0 siblings, 0 replies; 8+ messages in thread
From: Lars Wendler @ 2020-12-04  8:47 UTC (permalink / raw
  To: gentoo-commits

commit:     5cd60c98745f183e9327110469af3ae0c24c95a0
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  4 08:47:26 2020 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Dec  4 08:47:40 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5cd60c98

net-libs/libtirpc: Removed old

Package-Manager: Portage-3.0.11, Repoman-3.0.2
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 net-libs/libtirpc/Manifest                         |  1 -
 .../libtirpc-1.2.5-avoid-multiple-definition.patch | 44 ---------------
 .../libtirpc/files/libtirpc-1.2.5-endian.h.patch   | 31 -----------
 net-libs/libtirpc/libtirpc-1.2.5.ebuild            | 65 ----------------------
 4 files changed, 141 deletions(-)

diff --git a/net-libs/libtirpc/Manifest b/net-libs/libtirpc/Manifest
index 5715978a610..ccb8c655851 100644
--- a/net-libs/libtirpc/Manifest
+++ b/net-libs/libtirpc/Manifest
@@ -1,4 +1,3 @@
-DIST libtirpc-1.2.5.tar.bz2 513146 BLAKE2B 732e4832f3440d9fa08c45c01c56135ff1b96564c55d33e9b3f16c8361a4f02e49a35638b73110bb72da4bfb78107ccb1b4d475d1ecbdd62dcc156529a372c3e SHA512 d31cd4e22301abe1baddd7e8f45aaaf056a40799e961646691d071084fed50563b5eecdd9b78062fe378be8db7a6d4b87597e21cb81ac925e447148684a2b002
 DIST libtirpc-1.2.6.tar.bz2 513150 BLAKE2B 81ca8d1897b84897b31bd81c17e446213b798e00de80f03736f73eaf6b2e9e436b1569243bf9a8c5ad22de7da51339432decd2a8d3f1b8135151fd7e0f703e54 SHA512 bcb6b5c062c1301aa1246ec93ae0a5c1d221b8421126d020863517cb814b43ed038fb6c0c2faf4e68ff133b69abefe4f4d42bfc870671da6c27ca941a30b155a
 DIST libtirpc-1.3.1.tar.bz2 513399 BLAKE2B 8cc42292cdbde55a0095669bd9ccb3666b9e33d6ec9880ac79d034d42155d1b585f4181ff92f8290d7b5cce01bace2629d1ddfe0d61813f00851216f2be5ed0d SHA512 131f746800ac7280cc3900597018fc8dbc8da50c14e29dbaccf36a6d110eded117351108c6b069eaac90d77cfec17014b08e9afddcf153fda2d780ba64260cbc
 DIST libtirpc-glibc-nfs.tar.xz 8948 BLAKE2B 7316623d9f2b6928e296137fe2bf6794b208d549c2ffba9e4a35b47f7b04bf023798a09f38c02d039debf6adc466d7689cf3c8274d71a22eaff08729642c0a28 SHA512 90255bf0a27af16164e0710dd940778609925d473f4343093ff19d98cc4f23023788bf4edf0178eae1961afc0ba8b69b273de95b7d7e2afdb706701d8ba6f7ba

diff --git a/net-libs/libtirpc/files/libtirpc-1.2.5-avoid-multiple-definition.patch b/net-libs/libtirpc/files/libtirpc-1.2.5-avoid-multiple-definition.patch
deleted file mode 100644
index a5fecc54ced..00000000000
--- a/net-libs/libtirpc/files/libtirpc-1.2.5-avoid-multiple-definition.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 69682de06816de9b9014441d23bda1918ee2e2fb Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Sun, 19 Jan 2020 16:57:45 -0500
-Subject: [PATCH] Avoid multiple-definiton with gcc -fno-common
-
-GCC 10 enables -fno-common by default.
-
-Bug: https://bugs.gentoo.org/705896
----
- src/rpc_com.h | 3 +--
- src/svc.c     | 3 +++
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/rpc_com.h b/src/rpc_com.h
-index 10bec79..76badef 100644
---- a/src/rpc_com.h
-+++ b/src/rpc_com.h
-@@ -61,8 +61,7 @@ void __xprt_unregister_unlocked(SVCXPRT *);
- void __xprt_set_raddr(SVCXPRT *, const struct sockaddr_storage *);
- 
- 
--SVCXPRT **__svc_xports;
--int __svc_maxrec;
-+extern int __svc_maxrec;
- 
- #ifdef __cplusplus
- }
-diff --git a/src/svc.c b/src/svc.c
-index b59467b..6db164b 100644
---- a/src/svc.c
-+++ b/src/svc.c
-@@ -57,6 +57,9 @@
- 
- #define max(a, b) (a > b ? a : b)
- 
-+static SVCXPRT **__svc_xports;
-+int __svc_maxrec;
-+
- /*
-  * The services list
-  * Each entry represents a set of procedures (an rpc program).
--- 
-2.25.0
-

diff --git a/net-libs/libtirpc/files/libtirpc-1.2.5-endian.h.patch b/net-libs/libtirpc/files/libtirpc-1.2.5-endian.h.patch
deleted file mode 100644
index 8245d022bde..00000000000
--- a/net-libs/libtirpc/files/libtirpc-1.2.5-endian.h.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From d04f4d6f0e682f16b0ce96839ab4eadade591eb1 Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Tue, 21 Jan 2020 11:51:16 -0500
-Subject: [PATCH] xdr_float: do not include bits/endian.h
-
-bits/endian.h is an internal header. endian.h should be included.
-
-Fixes compilation with recent musl.
-
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
-Signed-off-by: Steve Dickson <steved@redhat.com>
----
- src/xdr_float.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/xdr_float.c b/src/xdr_float.c
-index 26bc865..349d48f 100644
---- a/src/xdr_float.c
-+++ b/src/xdr_float.c
-@@ -83,7 +83,7 @@ static struct sgl_limits {
- };
- #else
- 
--#include <bits/endian.h>
-+#include <endian.h>
- #define IEEEFP
- 
- #endif /* vax */
--- 
-1.8.3.1
-

diff --git a/net-libs/libtirpc/libtirpc-1.2.5.ebuild b/net-libs/libtirpc/libtirpc-1.2.5.ebuild
deleted file mode 100644
index 632193139a1..00000000000
--- a/net-libs/libtirpc/libtirpc-1.2.5.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal toolchain-funcs usr-ldscript
-
-DESCRIPTION="Transport Independent RPC library (SunRPC replacement)"
-HOMEPAGE="https://sourceforge.net/projects/libtirpc/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
-	mirror://gentoo/${PN}-glibc-nfs.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0/3" # subslot matches SONAME major
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="ipv6 kerberos static-libs"
-
-RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
-	elibc_musl? ( sys-libs/queue-standalone )"
-BDEPEND="
-	app-arch/xz-utils
-	virtual/pkgconfig"
-
-src_prepare() {
-	cp -r "${WORKDIR}"/tirpc "${S}"/ || die
-	local PATCHES=(
-		"${FILESDIR}"/libtirpc-1.2.5-avoid-multiple-definition.patch
-		"${FILESDIR}"/libtirpc-1.2.5-endian.h.patch
-	)
-	default
-	eautoreconf
-}
-
-multilib_src_configure() {
-	local myeconfargs=(
-		$(use_enable ipv6)
-		$(use_enable kerberos gssapi)
-		$(use_enable static-libs static)
-	)
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install() {
-	default
-
-	# libtirpc replaces rpc support in glibc, so we need it in /
-	gen_usr_ldscript -a tirpc
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc
-	doins doc/netconfig
-
-	insinto /usr/include/tirpc
-	doins -r "${WORKDIR}"/tirpc/*
-
-	# makes sure that the linking order for nfs-utils is proper, as
-	# libtool would inject a libgssglue dependency in the list.
-	if ! use static-libs ; then
-		find "${ED}" -name "*.la" -delete || die
-	fi
-}


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

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libtirpc/files/, net-libs/libtirpc/
@ 2022-08-09 20:06 Sam James
  0 siblings, 0 replies; 8+ messages in thread
From: Sam James @ 2022-08-09 20:06 UTC (permalink / raw
  To: gentoo-commits

commit:     6be44a813b7d5fd2c88a0e044578a5ed54c8ef64
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  9 19:16:29 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug  9 20:05:46 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6be44a81

net-libs/libtirpc: add 1.3.3

Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-libs/libtirpc/Manifest                         |  1 +
 .../files/libtirpc-1.3.3-release-version.patch     | 91 ++++++++++++++++++++++
 net-libs/libtirpc/libtirpc-1.3.3.ebuild            | 66 ++++++++++++++++
 3 files changed, 158 insertions(+)

diff --git a/net-libs/libtirpc/Manifest b/net-libs/libtirpc/Manifest
index 7f745c7d4b75..84ccc63b4af4 100644
--- a/net-libs/libtirpc/Manifest
+++ b/net-libs/libtirpc/Manifest
@@ -1,2 +1,3 @@
 DIST libtirpc-1.3.2.tar.bz2 513151 BLAKE2B 375b7bb046244f4666522c4f148428349fe1867b095dc5e268d037ba26982f88df70b0ad21fbe2b99150f644806a46651b524c3b9f7fe2499469806ea50b0331 SHA512 8664d5c4f842ee5acf83b9c1cadb7871f17b8157a7c4500e2236dcfb3a25768cab39f7c5123758dcd7381e30eb028ddfa26a28f458283f2dcea3426c9878c255
+DIST libtirpc-1.3.3.tar.bz2 562812 BLAKE2B e229869b05103d912b677f78648dce1f7fa7649bdf44b782a5fb97635eecf07f768bbc0ef25c0f065c8253fbe37c12b80934d9102b7345adfc4102897458b487 SHA512 df0781a74ff9ded2d3c4f5eb7e05496b9f58eac8060c02c68331dc14c4a00304dcd19f46836f5756fe0d9d27095fd463d42dd696fcdff891516711b7d63deabe
 DIST libtirpc-glibc-nfs.tar.xz 8948 BLAKE2B 7316623d9f2b6928e296137fe2bf6794b208d549c2ffba9e4a35b47f7b04bf023798a09f38c02d039debf6adc466d7689cf3c8274d71a22eaff08729642c0a28 SHA512 90255bf0a27af16164e0710dd940778609925d473f4343093ff19d98cc4f23023788bf4edf0178eae1961afc0ba8b69b273de95b7d7e2afdb706701d8ba6f7ba

diff --git a/net-libs/libtirpc/files/libtirpc-1.3.3-release-version.patch b/net-libs/libtirpc/files/libtirpc-1.3.3-release-version.patch
new file mode 100644
index 000000000000..e80b02245a4d
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-1.3.3-release-version.patch
@@ -0,0 +1,91 @@
+https://git.linux-nfs.org/?p=steved/libtirpc.git;a=commitdiff;h=0fb94eef5062d2657d75eee686fa47238fafa312
+
+From: Steve Dickson <steved@redhat.com>
+Date: Sun, 7 Aug 2022 12:57:19 -0400
+Subject: [PATCH] Release: 1.3.3
+
+Signed-off-by: Steve Dickson <steved@redhat.com>
+--- a/configure
++++ b/configure
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.71 for libtirpc 1.3.2.
++# Generated by GNU Autoconf 2.71 for libtirpc 1.3.3.
+ #
+ #
+ # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
+@@ -618,8 +618,8 @@ MAKEFLAGS=
+ # Identity of this package.
+ PACKAGE_NAME='libtirpc'
+ PACKAGE_TARNAME='libtirpc'
+-PACKAGE_VERSION='1.3.2'
+-PACKAGE_STRING='libtirpc 1.3.2'
++PACKAGE_VERSION='1.3.3'
++PACKAGE_STRING='libtirpc 1.3.3'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+ 
+@@ -1373,7 +1373,7 @@ if test "$ac_init_help" = "long"; then
+   # Omit some internal or obsolete options to make the list less imposing.
+   # This message is too long to be a string in the A/UX 3.1 sh.
+   cat <<_ACEOF
+-\`configure' configures libtirpc 1.3.2 to adapt to many kinds of systems.
++\`configure' configures libtirpc 1.3.3 to adapt to many kinds of systems.
+ 
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+ 
+@@ -1444,7 +1444,7 @@ fi
+ 
+ if test -n "$ac_init_help"; then
+   case $ac_init_help in
+-     short | recursive ) echo "Configuration of libtirpc 1.3.2:";;
++     short | recursive ) echo "Configuration of libtirpc 1.3.3:";;
+    esac
+   cat <<\_ACEOF
+ 
+@@ -1559,7 +1559,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+   cat <<\_ACEOF
+-libtirpc configure 1.3.2
++libtirpc configure 1.3.3
+ generated by GNU Autoconf 2.71
+ 
+ Copyright (C) 2021 Free Software Foundation, Inc.
+@@ -1815,7 +1815,7 @@ cat >config.log <<_ACEOF
+ This file contains any messages produced by compilers while
+ running configure, to aid debugging if configure makes a mistake.
+ 
+-It was created by libtirpc $as_me 1.3.2, which was
++It was created by libtirpc $as_me 1.3.3, which was
+ generated by GNU Autoconf 2.71.  Invocation command line was
+ 
+   $ $0$ac_configure_args_raw
+@@ -3084,7 +3084,7 @@ fi
+ 
+ # Define the identity of the package.
+  PACKAGE='libtirpc'
+- VERSION='1.3.2'
++ VERSION='1.3.3'
+ 
+ 
+ printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
+@@ -14643,7 +14662,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.
+ ac_log="
+-This file was extended by libtirpc $as_me 1.3.2, which was
++This file was extended by libtirpc $as_me 1.3.3, which was
+ generated by GNU Autoconf 2.71.  Invocation command line was
+ 
+   CONFIG_FILES    = $CONFIG_FILES
+@@ -14711,7 +14730,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_config='$ac_cs_config_escaped'
+ ac_cs_version="\\
+-libtirpc config.status 1.3.2
++libtirpc config.status 1.3.3
+ configured by $0, generated by GNU Autoconf 2.71,
+   with options \\"\$ac_cs_config\\"
+ 

diff --git a/net-libs/libtirpc/libtirpc-1.3.3.ebuild b/net-libs/libtirpc/libtirpc-1.3.3.ebuild
new file mode 100644
index 000000000000..92da66ae29fa
--- /dev/null
+++ b/net-libs/libtirpc/libtirpc-1.3.3.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal usr-ldscript
+
+DESCRIPTION="Transport Independent RPC library (SunRPC replacement)"
+HOMEPAGE="https://sourceforge.net/projects/libtirpc/ https://git.linux-nfs.org/?p=steved/libtirpc.git"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
+	mirror://gentoo/${PN}-glibc-nfs.tar.xz"
+
+LICENSE="BSD BSD-2 BSD-4 LGPL-2.1+"
+SLOT="0/3" # subslot matches SONAME major
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="ipv6 kerberos static-libs"
+
+RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+	elibc_musl? ( sys-libs/queue-standalone )"
+BDEPEND="
+	app-arch/xz-utils
+	virtual/pkgconfig"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-release-version.patch
+)
+
+src_prepare() {
+	cp -ra "${WORKDIR}"/tirpc "${S}"/ || die
+
+	default
+}
+
+multilib_src_configure() {
+	local myeconfargs=(
+		$(use_enable ipv6)
+		$(use_enable kerberos gssapi)
+		$(use_enable static-libs static)
+	)
+
+	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+	default
+
+	# libtirpc replaces rpc support in glibc, so we need it in /
+	gen_usr_ldscript -a tirpc
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	insinto /etc
+	doins doc/netconfig
+
+	insinto /usr/include/tirpc
+	doins -r "${WORKDIR}"/tirpc/*
+
+	# makes sure that the linking order for nfs-utils is proper, as
+	# libtool would inject a libgssglue dependency in the list.
+	if ! use static-libs ; then
+		find "${ED}" -name "*.la" -delete || die
+	fi
+}


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

end of thread, other threads:[~2022-08-09 20:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-05 10:22 [gentoo-commits] repo/gentoo:master commit in: net-libs/libtirpc/files/, net-libs/libtirpc/ Joshua Kinard
  -- strict thread matches above, loose matches on Subject: below --
2022-08-09 20:06 Sam James
2020-12-04  8:47 Lars Wendler
2018-03-20 13:36 Lars Wendler
2017-09-16 15:48 Andreas Hüttel
2017-09-05 20:25 Andreas Hüttel
2017-07-31  3:39 Joshua Kinard
2017-05-08 18:39 Patrick McLean

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