summaryrefslogtreecommitdiff
path: root/net-libs/libtirpc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-03-23 04:19:44 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-03-23 04:19:44 +0000
commitc5283d322accc6097afec74eab24550829788bab (patch)
treeb99ce668128d82a026eaa31461643f9173f9b77b /net-libs/libtirpc
parent5510d9d7d1c93c2ea71a2bd6f0666168808d5dd6 (diff)
gentoo resync : 23.03.2018
Diffstat (limited to 'net-libs/libtirpc')
-rw-r--r--net-libs/libtirpc/Manifest5
-rw-r--r--net-libs/libtirpc/files/libtirpc-1.0.1-CVE-2017-8779.patch255
-rw-r--r--net-libs/libtirpc/libtirpc-1.0.3.ebuild (renamed from net-libs/libtirpc/libtirpc-1.0.1-r1.ebuild)28
3 files changed, 18 insertions, 270 deletions
diff --git a/net-libs/libtirpc/Manifest b/net-libs/libtirpc/Manifest
index b9e5f3378059..8c54513401c5 100644
--- a/net-libs/libtirpc/Manifest
+++ b/net-libs/libtirpc/Manifest
@@ -1,11 +1,10 @@
-AUX libtirpc-1.0.1-CVE-2017-8779.patch 7032 BLAKE2B 0dae8a3ee695bc1216973a7fd92d30ad7e1bd426f27cac7c64cd6f2cef741509e63431483afb0b1206fd9648d4a6c61df59f9637ed4efe5a20cee219f8bcfcca SHA512 b7c97f6f202cd57c988ff026e2805011942f470c71fdfd81a2647a0e197386db937b022f0056e6ad106bb143c36323835748965b4915a293b89efba3cd171c84
AUX libtirpc-1.0.2-bcopy-to-memmove.patch 2226 BLAKE2B c0a5244f21d9a5531303b317946fe53b695aafc54095f617a3918f28a94033cd0a30b5f3bfd6fe671b64d4919d255298b55fbb4fa6179c255ff561517361d4e5 SHA512 221c85c47ec56edbdb4ce95e0f67680050b8d9f666c6795ceef7f7720acdf05a535e4afbcdc4e2e5eaeb6edc04bd43f65486df772ad2a0c87987d1c204661f00
AUX libtirpc-1.0.2-bzero-to-memset.patch 1587 BLAKE2B ae0358514dedcfa3d7e156dbccf4e8bea9749c37b59e1b187bbc34600bf7980e05213da38287077be08e11a2916cb3c787d83860400e2831ed95f99fdd7ef1e3 SHA512 aaea43a11e02094f9e43640866dffe7ef509362ba169500d6032b088f048eb855a3a7a75f2e7a2c999d6a252cb4b66d970cd8cc76dd0747376cb382b53e43385
AUX libtirpc-1.0.2-exports.patch 424 BLAKE2B c5292cd01b7b8ffd6be3fcd5842f66ce20b7b4b2bfed02c10bb5f5b83db6cacc43949aadfc60fd2023229c6246f3cb3f991413ee1704539625f759ae39b77dbd SHA512 66a4925ed0236aea2e181e9a07677dc9f41c287311c9cb02129d17b9a61b6102997258082d38e45d193a0ceb4b8e2bc0b8dfe1610a298bc508c1f5c70c1b466d
AUX libtirpc-1.0.2-glibc-2.26.patch 276 BLAKE2B 8e557e3c40c4c12339d90c238b26ee396f0ed92622907bf829bb2758119d45a401e29610b5b30c1e9177922546bc1fab535d005df43061cbcca09b8be9a0416f SHA512 67256d618db1330eeb616ade4b79376a600ed2457c03b420fc88b9ba89ea2451c9aac3f48c4967bc5695f10e6d8c895370cc10144ecc53ed0d3810d4cf65265a
-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
-EBUILD libtirpc-1.0.1-r1.ebuild 1430 BLAKE2B 6e1f54fbc9f1154e2edc7ec3389be828d71e62ef681739660608a3d7c7737508cf97d1a9328167bd43be6a456619c0f7f208f11641afa0115536b5e027d1627f SHA512 a34cfe1e3b527ee2229cce79aef82c3e8efee5fb5aceb260997932a625e4ffe453ff09ea5b52090e6d45c7065e857d684bfd0f8f8b31394b58c4e2fcd2f1bdd9
EBUILD libtirpc-1.0.2-r1.ebuild 1629 BLAKE2B 4d4421e028d91d99d299356d21b4c3dac5ff685523fe181896bb5432a4c83d963bb48aeded711411c1d57870705609d2ec0433999dc06c8eb1d45cb7fb016560 SHA512 a901d84990e99b490243b3e2500541d096c854bc79866d596c53cde1695926ddc906798222f5fb94e9a0cc8ad4b014f169cee5a1325ce30c21cde2ad2eda86c8
+EBUILD libtirpc-1.0.3.ebuild 1556 BLAKE2B 02d80480f8ff502134da6ca8a5643da74af2eb60f41dbc1c9db259000cf5e7d6230bf92fc1cabd69cf81c2d7f857eeef3b4634b3cf1a7fa97bc918bff2ea975a SHA512 7b10e7c06b7057738975899deb03559a955739ddd2cd1a08f9b511a1e991a8297729e782134c1ee1010d1f47f06f124c5ec9b87a7aed6b73ca67f534dc59f16b
MISC metadata.xml 335 BLAKE2B 57eb0cadaa82d4fefb0adcbc01bc19d720ebd10256a7188a70e7ae69f147acba7370fcc07813352a067a181bb77321677713cd3ed4cf77f0c815a88a30abbf20 SHA512 d6dd857293827907e545dc6e8631d06682d20e13442f8ce6cbd2e2a789d885c8a788f4ed1d062a8c54c4165d22eb096279d4c2f598e462a57faaf8bec1e9777b
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 91a50fad6497..000000000000
--- 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.3.ebuild
index 9791662277b2..68d0e2e63358 100644
--- a/net-libs/libtirpc/libtirpc-1.0.1-r1.ebuild
+++ b/net-libs/libtirpc/libtirpc-1.0.3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-EAPI="5"
+EAPI=6
-inherit multilib-minimal toolchain-funcs eutils
+inherit autotools multilib-minimal toolchain-funcs
DESCRIPTION="Transport Independent RPC library (SunRPC replacement)"
HOMEPAGE="http://libtirpc.sourceforge.net/"
@@ -12,7 +12,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
LICENSE="GPL-2"
SLOT="0/3" # subslot matches SONAME major
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
IUSE="ipv6 kerberos static-libs"
RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )"
@@ -21,21 +21,23 @@ DEPEND="${RDEPEND}
>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
PATCHES=(
- "${FILESDIR}/${P}-CVE-2017-8779.patch"
+ "${FILESDIR}/${PN}-1.0.2-bcopy-to-memmove.patch"
)
src_prepare() {
cp -r "${WORKDIR}"/tirpc "${S}"/ || die
- epatch "${PATCHES[@]}"
- epatch_user
+ default
+ eapply_user
+ eautoreconf
}
multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable ipv6) \
- $(use_enable kerberos gssapi) \
+ local myeconfargs=(
+ $(use_enable ipv6)
+ $(use_enable kerberos gssapi)
$(use_enable static-libs static)
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
multilib_src_install() {
@@ -56,5 +58,7 @@ multilib_src_install_all() {
# 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
+ if ! use static-libs ; then
+ find "${ED}" -name "*.la" -delete || die
+ fi
}