diff options
-rw-r--r-- | net-libs/libnftnl/Manifest | 3 | ||||
-rw-r--r-- | net-libs/libnftnl/files/libnftnl-1.1.1-big-endian-1.patch | 93 | ||||
-rw-r--r-- | net-libs/libnftnl/files/libnftnl-1.1.1-big-endian-2.patch | 37 | ||||
-rw-r--r-- | net-libs/libnftnl/files/libnftnl-1.1.1-big-endian-3.patch | 33 | ||||
-rw-r--r-- | net-libs/libnftnl/libnftnl-1.0.8-r1.ebuild | 61 | ||||
-rw-r--r-- | net-libs/libnftnl/libnftnl-1.1.1-r1.ebuild | 67 | ||||
-rw-r--r-- | net-libs/libnftnl/libnftnl-1.1.2-r1.ebuild | 47 |
7 files changed, 0 insertions, 341 deletions
diff --git a/net-libs/libnftnl/Manifest b/net-libs/libnftnl/Manifest index 623f9d82ae72..e14496a52c55 100644 --- a/net-libs/libnftnl/Manifest +++ b/net-libs/libnftnl/Manifest @@ -1,4 +1 @@ -DIST libnftnl-1.0.8.tar.bz2 400496 BLAKE2B d2563f707ceb40b8cd7c4b4fdede64943fabcc8a639eb61c844f7b941786a49b1c029e375977759717e5cb8f8dc2019ddcbf48223347f868713d1a077d51d8a8 SHA512 df9f5967908ce5e6a6a85fe4328bdf6e7501ce6b0e42239b750782aeb76c30b1aae80dd07f73a06fb077d072b1269c4e0c5fd525feed1055400201567d215ef9 -DIST libnftnl-1.1.1.tar.bz2 372562 BLAKE2B 9dee45bb485399c4677f636c8aa065a7e4e80102f17beb4aa066278a6ef753e7c1aaf02c6a853edc70f018ebef5e8389a05ca384116ec06761f0a29e278f4e54 SHA512 87f092e2b6576121538c8ac7ce92d8c918723e36dd02e2fcfcb7dcaf2ae705bbcd62c79c9076574ef73f461f7df5d10e72bcaeda29e4a7e60ea1401d998424a6 -DIST libnftnl-1.1.2.tar.bz2 366014 BLAKE2B c9170b9a948b949e443fcbbc0b795095a8e51b0cb77e5ba23853fe8c3005baa476afd5d7fa4d7bfcb733b912f0ecb868d22aa2b4c88dbf68e7b56e1a5b23c1db SHA512 808e0efd2ff32a65cca1e6113cc29aece1335364b94ad87438d19b0887d0bd34de11942fa411e4105ef153f2cce862ded17ebc441c413b839ac506471e530569 DIST libnftnl-1.1.3.tar.bz2 366521 BLAKE2B 9a46a46b68fd6d3e0ffc3d28713ee9a70017dd4d05763a49a655f172ae77928d9b54554e7609851f3a18e9465c53f53c1828311162013bc067493e4e02ff3fb8 SHA512 3fb96ea1a8bc9eb00fa2cf79f64cc9613250e8b97de6e90e440c7c44e92789e7c7fd603b7347bb02d9d74af725cf8fde5d2e435c5ffdcb784316c67b83ddf0fe diff --git a/net-libs/libnftnl/files/libnftnl-1.1.1-big-endian-1.patch b/net-libs/libnftnl/files/libnftnl-1.1.1-big-endian-1.patch deleted file mode 100644 index e91333e21bb0..000000000000 --- a/net-libs/libnftnl/files/libnftnl-1.1.1-big-endian-1.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 9737856067b97cbb869e04fc6b6e65c1d859f521 Mon Sep 17 00:00:00 2001 -From: Phil Sutter <phil@nwl.cc> -Date: Fri, 22 Jun 2018 14:18:57 +0200 -Subject: utils: Fix nftnl_get_value() on big endian - -This function basically did: - -| memcpy(out, val, <len of requested type>); - -which works only for little endian integer types. Fix this by assigning -the 64bit input value to a variable of the right size and use that as -input for above memcpy() call. - -Signed-off-by: Phil Sutter <phil@nwl.cc> ---- - src/utils.c | 44 ++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 42 insertions(+), 2 deletions(-) - -diff --git a/src/utils.c b/src/utils.c -index 3e44960..4d9ee78 100644 ---- a/src/utils.c -+++ b/src/utils.c -@@ -72,6 +72,15 @@ static struct { - - int nftnl_get_value(enum nftnl_type type, void *val, void *out) - { -+ union { -+ uint8_t u8; -+ uint16_t u16; -+ uint32_t u32; -+ int8_t s8; -+ int16_t s16; -+ int32_t s32; -+ } values; -+ void *valuep = NULL; - int64_t sval; - uint64_t uval; - -@@ -85,7 +94,6 @@ int nftnl_get_value(enum nftnl_type type, void *val, void *out) - errno = ERANGE; - return -1; - } -- memcpy(out, &uval, basetype[type].len); - break; - case NFTNL_TYPE_S8: - case NFTNL_TYPE_S16: -@@ -97,10 +105,42 @@ int nftnl_get_value(enum nftnl_type type, void *val, void *out) - errno = ERANGE; - return -1; - } -- memcpy(out, &sval, basetype[type].len); - break; - } - -+ switch (type) { -+ case NFTNL_TYPE_U8: -+ values.u8 = uval; -+ valuep = &values.u8; -+ break; -+ case NFTNL_TYPE_U16: -+ values.u16 = uval; -+ valuep = &values.u16; -+ break; -+ case NFTNL_TYPE_U32: -+ values.u32 = uval; -+ valuep = &values.u32; -+ break; -+ case NFTNL_TYPE_U64: -+ valuep = &uval; -+ break; -+ case NFTNL_TYPE_S8: -+ values.s8 = sval; -+ valuep = &values.s8; -+ break; -+ case NFTNL_TYPE_S16: -+ values.s16 = sval; -+ valuep = &values.s16; -+ break; -+ case NFTNL_TYPE_S32: -+ values.s32 = sval; -+ valuep = &values.s32; -+ break; -+ case NFTNL_TYPE_S64: -+ valuep = &sval; -+ break; -+ } -+ memcpy(out, valuep, basetype[type].len); - return 0; - } - --- -cgit v1.2.1 - diff --git a/net-libs/libnftnl/files/libnftnl-1.1.1-big-endian-2.patch b/net-libs/libnftnl/files/libnftnl-1.1.1-big-endian-2.patch deleted file mode 100644 index c6fb5a25a893..000000000000 --- a/net-libs/libnftnl/files/libnftnl-1.1.1-big-endian-2.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 5d592ce6c4596b25d5779a224d03c096bc25db54 Mon Sep 17 00:00:00 2001 -From: Phil Sutter <phil@nwl.cc> -Date: Fri, 22 Jun 2018 14:18:58 +0200 -Subject: expr/data_reg: Fix JSON parsing on big endian - -Since reg->len is a 32bit variable, one needs to pass NFTNL_TYPE_U32 to -nftnl_jansson_parse_val(). Otherwise, only the most significant byte in -that variable is being written to. - -Since the value could potentially be larger than 255, increase node_name -buffer to avoid a compiler warning. - -Signed-off-by: Phil Sutter <phil@nwl.cc> ---- - src/expr/data_reg.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c -index 1b28b29..ad7f4cb 100644 ---- a/src/expr/data_reg.c -+++ b/src/expr/data_reg.c -@@ -59,10 +59,10 @@ static int nftnl_data_reg_verdict_json_parse(union nftnl_data_reg *reg, json_t * - static int nftnl_data_reg_value_json_parse(union nftnl_data_reg *reg, json_t *data, - struct nftnl_parse_err *err) - { -- char node_name[8] = {}; /* strlen("data256") + 1 == 8 */ -+ char node_name[32] = {}; - int ret, remain = sizeof(node_name), offset = 0, i; - -- if (nftnl_jansson_parse_val(data, "len", NFTNL_TYPE_U8, ®->len, err) < 0) -+ if (nftnl_jansson_parse_val(data, "len", NFTNL_TYPE_U32, ®->len, err) < 0) - return DATA_NONE; - - for (i = 0; i < div_round_up(reg->len, sizeof(uint32_t)); i++) { --- -cgit v1.2.1 - diff --git a/net-libs/libnftnl/files/libnftnl-1.1.1-big-endian-3.patch b/net-libs/libnftnl/files/libnftnl-1.1.1-big-endian-3.patch deleted file mode 100644 index d726ccfdc2d9..000000000000 --- a/net-libs/libnftnl/files/libnftnl-1.1.1-big-endian-3.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 043060b18d27f24fe723e39bc2c9e5f50dde60dd Mon Sep 17 00:00:00 2001 -From: Phil Sutter <phil@nwl.cc> -Date: Fri, 22 Jun 2018 14:18:59 +0200 -Subject: expr/exthdr: Fix JSON parsing on big endian - -When setting NFTNL_EXPR_EXTHDR_TYPE, one needs to call -nftnl_expr_set_u8() and not nftnl_expr_set_u32(). Otherwise 'type' -variable is assigned to uint32_t parameter before being passed to -nftnl_expr_exthdr_set() as void pointer which casts it to uint8_t. -On big endian systems, the latter would only consider the most -significant byte instead of the least significant one. - -Signed-off-by: Phil Sutter <phil@nwl.cc> ---- - src/expr/exthdr.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/expr/exthdr.c b/src/expr/exthdr.c -index 75cafbc..a351835 100644 ---- a/src/expr/exthdr.c -+++ b/src/expr/exthdr.c -@@ -270,7 +270,7 @@ nftnl_expr_exthdr_json_parse(struct nftnl_expr *e, json_t *root, - type = str2exthdr_type(exthdr_type); - if (type < 0) - return -1; -- nftnl_expr_set_u32(e, NFTNL_EXPR_EXTHDR_TYPE, type); -+ nftnl_expr_set_u8(e, NFTNL_EXPR_EXTHDR_TYPE, type); - } - - if (nftnl_jansson_parse_val(root, "offset", NFTNL_TYPE_U32, &uval32, --- -cgit v1.2.1 - diff --git a/net-libs/libnftnl/libnftnl-1.0.8-r1.ebuild b/net-libs/libnftnl/libnftnl-1.0.8-r1.ebuild deleted file mode 100644 index 469321c67eb3..000000000000 --- a/net-libs/libnftnl/libnftnl-1.0.8-r1.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools linux-info toolchain-funcs usr-ldscript - -DESCRIPTION="Netlink API to the in-kernel nf_tables subsystem" -HOMEPAGE="https://netfilter.org/projects/nftables/" -SRC_URI="https://netfilter.org/projects/${PN}/files/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0/7" # libnftnl.so version -KEYWORDS="~alpha amd64 arm arm64 ~hppa ia64 ~ppc ~ppc64 x86" -IUSE="examples json static-libs test threads" - -RDEPEND=">=net-libs/libmnl-1.0.0 - json? ( >=dev-libs/jansson-2.3 )" -DEPEND="virtual/pkgconfig - ${RDEPEND}" - -REQUIRED_USE="test? ( json )" - -pkg_setup() { - if kernel_is ge 3 13; then - CONFIG_CHECK="~NF_TABLES" - linux-info_pkg_setup - else - eerror "This package requires kernel version 3.13 or newer to work properly." - fi -} -src_prepare() { - default - eautoreconf -} - -src_configure() { - local myeconfargs=( - $(use_enable static-libs static) - $(use_with json json-parsing) - ) - econf "${myeconfargs[@]}" -} - -src_test() { - default - cd tests || die - ./test-script.sh || die -} - -src_install() { - default - gen_usr_ldscript -a nftnl - find "${D}" -name '*.la' -delete || die "Could not rm libtool files" - - if use examples; then - find examples/ -name 'Makefile*' -delete || die "Could not rm examples" - dodoc -r examples - docompress -x /usr/share/doc/${PF}/examples - fi -} diff --git a/net-libs/libnftnl/libnftnl-1.1.1-r1.ebuild b/net-libs/libnftnl/libnftnl-1.1.1-r1.ebuild deleted file mode 100644 index e6bf90ec6c46..000000000000 --- a/net-libs/libnftnl/libnftnl-1.1.1-r1.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools linux-info toolchain-funcs usr-ldscript - -DESCRIPTION="Netlink API to the in-kernel nf_tables subsystem" -HOMEPAGE="https://netfilter.org/projects/nftables/" -SRC_URI="https://netfilter.org/projects/${PN}/files/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0/7" # libnftnl.so version -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~x86" -IUSE="examples json static-libs test" - -RDEPEND=">=net-libs/libmnl-1.0.3 - json? ( >=dev-libs/jansson-2.3 )" -DEPEND="virtual/pkgconfig - ${RDEPEND}" - -REQUIRED_USE="test? ( json )" - -PATCHES=( - "${FILESDIR}"/${P}-big-endian-1.patch - "${FILESDIR}"/${P}-big-endian-2.patch - "${FILESDIR}"/${P}-big-endian-3.patch -) - -pkg_setup() { - if kernel_is ge 3 13; then - CONFIG_CHECK="~NF_TABLES" - linux-info_pkg_setup - else - eerror "This package requires kernel version 3.13 or newer to work properly." - fi -} -src_prepare() { - default - eautoreconf -} - -src_configure() { - local myeconfargs=( - $(use_enable static-libs static) - $(use_with json json-parsing) - ) - econf "${myeconfargs[@]}" -} - -src_test() { - default - cd tests || die - ./test-script.sh || die -} - -src_install() { - default - gen_usr_ldscript -a nftnl - find "${D}" -name '*.la' -delete || die "Could not rm libtool files" - - if use examples; then - find examples/ -name 'Makefile*' -delete || die "Could not rm examples" - dodoc -r examples - docompress -x /usr/share/doc/${PF}/examples - fi -} diff --git a/net-libs/libnftnl/libnftnl-1.1.2-r1.ebuild b/net-libs/libnftnl/libnftnl-1.1.2-r1.ebuild deleted file mode 100644 index b1708f1cde2b..000000000000 --- a/net-libs/libnftnl/libnftnl-1.1.2-r1.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools linux-info toolchain-funcs usr-ldscript - -DESCRIPTION="Netlink API to the in-kernel nf_tables subsystem" -HOMEPAGE="https://netfilter.org/projects/nftables/" -SRC_URI="https://netfilter.org/projects/${PN}/files/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0/11" # libnftnl.so version -KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -IUSE="examples static-libs test" - -RDEPEND=">=net-libs/libmnl-1.0.3" -DEPEND="virtual/pkgconfig - ${RDEPEND}" - -pkg_setup() { - if kernel_is ge 3 13; then - CONFIG_CHECK="~NF_TABLES" - linux-info_pkg_setup - else - eerror "This package requires kernel version 3.13 or newer to work properly." - fi -} - -src_configure() { - local myeconfargs=( - $(use_enable static-libs static) - ) - econf "${myeconfargs[@]}" -} - -src_install() { - default - gen_usr_ldscript -a nftnl - find "${D}" -name '*.la' -delete || die "Could not rm libtool files" - - if use examples; then - find examples/ -name 'Makefile*' -delete || die "Could not rm examples" - dodoc -r examples - docompress -x /usr/share/doc/${PF}/examples - fi -} |