summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-firewall')
-rw-r--r--net-firewall/firewalld/Manifest2
-rw-r--r--net-firewall/firewalld/firewalld-1.1.3.ebuild219
-rw-r--r--net-firewall/firewalld/firewalld-1.2.1.ebuild212
-rw-r--r--net-firewall/iptables/Manifest1
-rw-r--r--net-firewall/iptables/files/iptables-1.8.7-cache-double-free.patch61
-rw-r--r--net-firewall/iptables/iptables-1.8.7-r2.ebuild176
-rw-r--r--net-firewall/iptables/iptables-1.8.8-r4.ebuild2
-rw-r--r--net-firewall/nfacct/nfacct-1.0.2-r2.ebuild2
-rw-r--r--net-firewall/nftables/nftables-1.0.4-r2.ebuild10
-rw-r--r--net-firewall/nftables/nftables-1.0.5.ebuild8
-rw-r--r--net-firewall/nftables/nftables-9999.ebuild8
11 files changed, 454 insertions, 247 deletions
diff --git a/net-firewall/firewalld/Manifest b/net-firewall/firewalld/Manifest
index 0a9506eac4f..c92bd3fd4b4 100644
--- a/net-firewall/firewalld/Manifest
+++ b/net-firewall/firewalld/Manifest
@@ -1,3 +1,5 @@
DIST firewalld-1.1.1.tar.gz 1325362 BLAKE2B 0167d9bc1c76da420dfe8aa5e6bfdd743116fbe6959d5920b972fac09c72608c90b9d6b2bb4bd7bb01250cbab2bdbb30a017becf5d050f490f4f289661e4366a SHA512 ecf75c30be63d2285d0b915b26d20e679c2f45f121c37b8cecc236da02d21039c692d1fec72e6c29d2a7b6de570daad573c230deacaef7491a2fd39c35332479
DIST firewalld-1.1.2.tar.gz 2099245 BLAKE2B ea1e73cf96908ca4981deb86d4c0fad75f36ef321a37bba6d789b3de90b1cbb818f1eda713f41567c2125265b2e19707d411e1b51ab35c6f1af8b6040528f150 SHA512 a82a57d77c2fb5e9758218516912057bfbfb5549b341bcaaa8d40f3c39b8af67a01ca146a3aa09495ca38b315fa09a5d3d32597c40de10ca2da370b81d5598b0
+DIST firewalld-1.1.3.tar.gz 2124653 BLAKE2B 178afc1c76538abbc2927819f35a81a642aabe5d9139a7dde69c50e061e59ae9f362374cc0bbfb4e8ad25c99caf8e45ddd92f1709478afb109d700b16bf84e38 SHA512 5108b363017b947907f104fb361bcc85443fc1b523718d8e0883932cb212a447391c9cea8b1e3f69bb9cc1c3a05b9042a8b9d91798d1dd09d4d4a224c9ce9d71
DIST firewalld-1.2.0.tar.gz 2120379 BLAKE2B 8c09e9a5e08e9f4dc2b3bfeda35d9078bd464956a30d7fdb5700329755fc307f0664f6a20ff5e941026785f28940b1eeebe747e2b2b3eed150725e014d05f870 SHA512 739ef7e4b85f2f00656434f6b37fb8116b9a93595390667d212820bc30a3e3cfaf5a60be7b18ec1f72be720d35a76224f3ce28856a9ff72557b8a8ae8e83f0a8
+DIST firewalld-1.2.1.tar.gz 2142992 BLAKE2B 4d9763373bc5b35fd4e9a435669bfba148b8ba7054c3ebb1c24ac96739bb62fa6b424b8b95bd9a0394716a36df5e9c3f4b84efcf4ca2811661265f548eedacef SHA512 a9b2d7346291d0c54e850913f2d40a08d121d64df75ee87655fa2ee022ade908c762e5b6d372d4e8879eec1138f73635ee9398cdb3703efe67039769c5e2a42a
diff --git a/net-firewall/firewalld/firewalld-1.1.3.ebuild b/net-firewall/firewalld/firewalld-1.1.3.ebuild
new file mode 100644
index 00000000000..ec48585ff07
--- /dev/null
+++ b/net-firewall/firewalld/firewalld-1.1.3.ebuild
@@ -0,0 +1,219 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit bash-completion-r1 gnome2-utils linux-info optfeature plocale python-single-r1 systemd xdg-utils
+
+DESCRIPTION="A firewall daemon with D-Bus interface providing a dynamic firewall"
+HOMEPAGE="https://firewalld.org/"
+SRC_URI="https://github.com/firewalld/firewalld/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="gui +nftables +iptables test"
+# Tests previously restricted for bug #650760
+RESTRICT="!test? ( test ) test? ( userpriv )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ || ( >=sys-apps/openrc-0.11.5 sys-apps/systemd )
+ $(python_gen_cond_dep '
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ gui? (
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3
+ )
+ nftables? ( >=net-firewall/nftables-0.9.4[python,json] )
+ ')
+ iptables? (
+ net-firewall/ebtables
+ net-firewall/ipset
+ net-firewall/iptables[ipv6(+)]
+ nftables? ( net-firewall/nftables[xtables(+)] )
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/glib:2
+"
+BDEPEND="
+ app-text/docbook-xml-dtd
+ >=dev-util/intltool-0.35
+ sys-devel/gettext
+ test? ( net-firewall/nftables )
+"
+
+# Testsuite's Makefile.am calls missing(!)
+# ... but this seems to be consistent with the autoconf docs?
+# Needs more investigation: https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/autom4te-Invocation.html
+QA_AM_MAINTAINER_MODE=".*--run autom4te --language=autotest.*"
+
+PLOCALES="ar as ast bg bn_IN ca cs da de el en_GB en_US es et eu fa fi fr gl gu hi hr hu ia id it ja ka kn ko lt ml mr nl or pa pl pt pt_BR ru si sk sq sr sr@latin sv ta te tr uk zh_CN zh_TW"
+
+pkg_setup() {
+ # See bug #830132 for the huge list
+ # We can probably narrow it down a bit but it's rather fragile
+ local CONFIG_CHECK="~NF_CONNTRACK ~NETFILTER_XT_MATCH_CONNTRACK
+ ~NETFILTER
+ ~NETFILTER_ADVANCED
+ ~NETFILTER_INGRESS
+ ~NF_NAT_MASQUERADE
+ ~NF_NAT_REDIRECT
+ ~NF_TABLES_INET
+ ~NF_TABLES_IPV4
+ ~NF_TABLES_IPV6
+ ~NF_CONNTRACK
+ ~NF_CONNTRACK_BROADCAST
+ ~NF_CONNTRACK_NETBIOS_NS
+ ~NF_CONNTRACK_TFTP
+ ~NF_CT_NETLINK
+ ~NF_CT_NETLINK_HELPER
+ ~NF_DEFRAG_IPV4
+ ~NF_DEFRAG_IPV6
+ ~NF_NAT
+ ~NF_NAT_TFTP
+ ~NF_REJECT_IPV4
+ ~NF_REJECT_IPV6
+ ~NF_SOCKET_IPV4
+ ~NF_SOCKET_IPV6
+ ~NF_TABLES
+ ~NF_TPROXY_IPV4
+ ~NF_TPROXY_IPV6
+ ~IP_NF_FILTER
+ ~IP_NF_IPTABLES
+ ~IP_NF_MANGLE
+ ~IP_NF_NAT
+ ~IP_NF_RAW
+ ~IP_NF_SECURITY
+ ~IP_NF_TARGET_MASQUERADE
+ ~IP_NF_TARGET_REJECT
+ ~IP6_NF_FILTER
+ ~IP6_NF_IPTABLES
+ ~IP6_NF_MANGLE
+ ~IP6_NF_NAT
+ ~IP6_NF_RAW
+ ~IP6_NF_SECURITY
+ ~IP6_NF_TARGET_MASQUERADE
+ ~IP6_NF_TARGET_REJECT
+ ~IP_SET
+ ~NETFILTER_CONNCOUNT
+ ~NETFILTER_NETLINK
+ ~NETFILTER_NETLINK_OSF
+ ~NETFILTER_NETLINK_QUEUE
+ ~NETFILTER_SYNPROXY
+ ~NETFILTER_XTABLES
+ ~NETFILTER_XT_CONNMARK
+ ~NETFILTER_XT_MATCH_CONNTRACK
+ ~NETFILTER_XT_MATCH_MULTIPORT
+ ~NETFILTER_XT_MATCH_STATE
+ ~NETFILTER_XT_NAT
+ ~NETFILTER_XT_TARGET_MASQUERADE
+ ~NFT_COMPAT
+ ~NFT_COUNTER
+ ~NFT_CT
+ ~NFT_FIB
+ ~NFT_FIB_INET
+ ~NFT_FIB_IPV4
+ ~NFT_FIB_IPV6
+ ~NFT_HASH
+ ~NFT_LIMIT
+ ~NFT_LOG
+ ~NFT_MASQ
+ ~NFT_NAT
+ ~NFT_OBJREF
+ ~NFT_QUEUE
+ ~NFT_QUOTA
+ ~NFT_REDIR
+ ~NFT_REJECT
+ ~NFT_REJECT_INET
+ ~NFT_REJECT_IPV4
+ ~NFT_REJECT_IPV6
+ ~NFT_SOCKET
+ ~NFT_SYNPROXY
+ ~NFT_TPROXY
+ ~NFT_TUNNEL
+ ~NFT_XFRM"
+
+ # kernel >= 4.19 has unified a NF_CONNTRACK module, bug #692944
+ if kernel_is -lt 4 19; then
+ CONFIG_CHECK+=" ~NF_CONNTRACK_IPV4 ~NF_CONNTRACK_IPV6"
+ fi
+
+ # bug #831259
+ if kernel_is -le 5 4 ; then
+ CONFIG_CHECK+=" ~NF_TABLES_SET"
+ fi
+
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ plocale_find_changes "po" "" ".po" || die
+ plocale_get_locales | sed -e 's/ /\n/g' > po/LINGUAS
+}
+
+src_configure() {
+ python_setup
+
+ local myeconfargs=(
+ --enable-systemd
+ $(use_with iptables iptables "${EPREFIX}/sbin/iptables")
+ $(use_with iptables iptables_restore "${EPREFIX}/sbin/iptables-restore")
+ $(use_with iptables ip6tables "${EPREFIX}/sbin/ip6tables")
+ $(use_with iptables ip6tables_restore "${EPREFIX}/sbin/ip6tables-restore")
+ $(use_with iptables ebtables "${EPREFIX}/sbin/ebtables")
+ $(use_with iptables ebtables_restore "${EPREFIX}/sbin/ebtables-restore")
+ $(use_with iptables ipset "${EPREFIX}/usr/sbin/ipset")
+ --with-systemd-unitdir="$(systemd_get_systemunitdir)"
+ --with-bashcompletiondir="$(get_bashcompdir)"
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ python_optimize
+
+ # Get rid of junk
+ rm -rf "${D}/etc/sysconfig/" || die
+
+ # For non-gui installs we need to remove GUI bits
+ if ! use gui; then
+ rm -rf "${D}/etc/xdg/autostart" || die
+ rm -f "${D}/usr/bin/firewall-applet" || die
+ rm -f "${D}/usr/bin/firewall-config" || die
+ rm -rf "${D}/usr/share/applications" || die
+ rm -rf "${D}/usr/share/icons" || die
+ fi
+
+ newinitd "${FILESDIR}"/firewalld.init firewalld
+
+ # Our version drops the/an obsolete 'conflicts' line with old iptables services
+ # bug #833506
+ systemd_dounit "${FILESDIR}"/firewalld.service
+}
+
+pkg_preinst() {
+ gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ gnome2_schemas_update
+
+ # bug #833569
+ optfeature "changing zones with NetworkManager" gnome-extra/nm-applet
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ gnome2_schemas_update
+}
diff --git a/net-firewall/firewalld/firewalld-1.2.1.ebuild b/net-firewall/firewalld/firewalld-1.2.1.ebuild
new file mode 100644
index 00000000000..a1e5b3069d0
--- /dev/null
+++ b/net-firewall/firewalld/firewalld-1.2.1.ebuild
@@ -0,0 +1,212 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit bash-completion-r1 gnome2-utils linux-info optfeature plocale python-single-r1 systemd xdg-utils
+
+DESCRIPTION="A firewall daemon with D-Bus interface providing a dynamic firewall"
+HOMEPAGE="https://firewalld.org/"
+SRC_URI="https://github.com/firewalld/firewalld/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="gui +nftables +iptables test"
+# Tests previously restricted for bug #650760
+RESTRICT="!test? ( test ) test? ( userpriv )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ iptables? (
+ net-firewall/iptables[ipv6(+)]
+ net-firewall/ebtables
+ net-firewall/ipset
+ nftables? ( net-firewall/nftables[xtables(+)] )
+ )
+ || ( >=sys-apps/openrc-0.11.5 sys-apps/systemd )
+ $(python_gen_cond_dep '
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ gui? (
+ x11-libs/gtk+:3
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ )
+ nftables? ( >=net-firewall/nftables-0.9.4[python,json] )
+ ')"
+DEPEND="${RDEPEND}
+ dev-libs/glib:2"
+BDEPEND="app-text/docbook-xml-dtd
+ >=dev-util/intltool-0.35
+ sys-devel/gettext"
+
+# Testsuite's Makefile.am calls missing(!)
+# ... but this seems to be consistent with the autoconf docs?
+# Needs more investigation: https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/autom4te-Invocation.html
+QA_AM_MAINTAINER_MODE=".*--run autom4te --language=autotest.*"
+
+PLOCALES="ar as ast bg bn_IN ca cs da de el en_GB en_US es et eu fa fi fr gl gu hi hr hu ia id it ja ka kn ko lt ml mr nl or pa pl pt pt_BR ru si sk sq sr sr@latin sv ta te tr uk zh_CN zh_TW"
+
+pkg_setup() {
+ # See bug #830132 for the huge list
+ # We can probably narrow it down a bit but it's rather fragile
+ local CONFIG_CHECK="~NF_CONNTRACK ~NETFILTER_XT_MATCH_CONNTRACK
+ ~NETFILTER
+ ~NETFILTER_ADVANCED
+ ~NETFILTER_INGRESS
+ ~NF_NAT_MASQUERADE
+ ~NF_NAT_REDIRECT
+ ~NF_TABLES_INET
+ ~NF_TABLES_IPV4
+ ~NF_TABLES_IPV6
+ ~NF_CONNTRACK
+ ~NF_CONNTRACK_BROADCAST
+ ~NF_CONNTRACK_NETBIOS_NS
+ ~NF_CONNTRACK_TFTP
+ ~NF_CT_NETLINK
+ ~NF_CT_NETLINK_HELPER
+ ~NF_DEFRAG_IPV4
+ ~NF_DEFRAG_IPV6
+ ~NF_NAT
+ ~NF_NAT_TFTP
+ ~NF_REJECT_IPV4
+ ~NF_REJECT_IPV6
+ ~NF_SOCKET_IPV4
+ ~NF_SOCKET_IPV6
+ ~NF_TABLES
+ ~NF_TPROXY_IPV4
+ ~NF_TPROXY_IPV6
+ ~IP_NF_FILTER
+ ~IP_NF_IPTABLES
+ ~IP_NF_MANGLE
+ ~IP_NF_NAT
+ ~IP_NF_RAW
+ ~IP_NF_SECURITY
+ ~IP_NF_TARGET_MASQUERADE
+ ~IP_NF_TARGET_REJECT
+ ~IP6_NF_FILTER
+ ~IP6_NF_IPTABLES
+ ~IP6_NF_MANGLE
+ ~IP6_NF_NAT
+ ~IP6_NF_RAW
+ ~IP6_NF_SECURITY
+ ~IP6_NF_TARGET_MASQUERADE
+ ~IP6_NF_TARGET_REJECT
+ ~IP_SET
+ ~NETFILTER_CONNCOUNT
+ ~NETFILTER_NETLINK
+ ~NETFILTER_NETLINK_OSF
+ ~NETFILTER_NETLINK_QUEUE
+ ~NETFILTER_SYNPROXY
+ ~NETFILTER_XTABLES
+ ~NETFILTER_XT_CONNMARK
+ ~NETFILTER_XT_MATCH_CONNTRACK
+ ~NETFILTER_XT_MATCH_MULTIPORT
+ ~NETFILTER_XT_MATCH_STATE
+ ~NETFILTER_XT_NAT
+ ~NETFILTER_XT_TARGET_MASQUERADE
+ ~NFT_COMPAT
+ ~NFT_COUNTER
+ ~NFT_CT
+ ~NFT_FIB
+ ~NFT_FIB_INET
+ ~NFT_FIB_IPV4
+ ~NFT_FIB_IPV6
+ ~NFT_HASH
+ ~NFT_LIMIT
+ ~NFT_LOG
+ ~NFT_MASQ
+ ~NFT_NAT
+ ~NFT_OBJREF
+ ~NFT_QUEUE
+ ~NFT_QUOTA
+ ~NFT_REDIR
+ ~NFT_REJECT
+ ~NFT_REJECT_INET
+ ~NFT_REJECT_IPV4
+ ~NFT_REJECT_IPV6
+ ~NFT_SOCKET
+ ~NFT_SYNPROXY
+ ~NFT_TPROXY
+ ~NFT_TUNNEL
+ ~NFT_XFRM"
+
+ # kernel >= 4.19 has unified a NF_CONNTRACK module, bug #692944
+ if kernel_is -lt 4 19; then
+ CONFIG_CHECK+=" ~NF_CONNTRACK_IPV4 ~NF_CONNTRACK_IPV6"
+ fi
+
+ # bug #831259
+ if kernel_is -le 5 4 ; then
+ CONFIG_CHECK+=" ~NF_TABLES_SET"
+ fi
+
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ plocale_find_changes "po" "" ".po" || die
+ plocale_get_locales | sed -e 's/ /\n/g' > po/LINGUAS
+}
+
+src_configure() {
+ python_setup
+
+ local myeconfargs=(
+ --enable-systemd
+ $(use_with iptables iptables "${EPREFIX}/sbin/iptables")
+ $(use_with iptables iptables_restore "${EPREFIX}/sbin/iptables-restore")
+ $(use_with iptables ip6tables "${EPREFIX}/sbin/ip6tables")
+ $(use_with iptables ip6tables_restore "${EPREFIX}/sbin/ip6tables-restore")
+ $(use_with iptables ebtables "${EPREFIX}/sbin/ebtables")
+ $(use_with iptables ebtables_restore "${EPREFIX}/sbin/ebtables-restore")
+ $(use_with iptables ipset "${EPREFIX}/usr/sbin/ipset")
+ --with-systemd-unitdir="$(systemd_get_systemunitdir)"
+ --with-bashcompletiondir="$(get_bashcompdir)"
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ python_optimize
+
+ # Get rid of junk
+ rm -rf "${D}/etc/sysconfig/" || die
+
+ # For non-gui installs we need to remove GUI bits
+ if ! use gui; then
+ rm -rf "${D}/etc/xdg/autostart" || die
+ rm -f "${D}/usr/bin/firewall-applet" || die
+ rm -f "${D}/usr/bin/firewall-config" || die
+ rm -rf "${D}/usr/share/applications" || die
+ rm -rf "${D}/usr/share/icons" || die
+ fi
+
+ newinitd "${FILESDIR}"/firewalld.init firewalld
+
+ # Our version drops the/an obsolete 'conflicts' line with old iptables services
+ # bug #833506
+ systemd_dounit "${FILESDIR}"/firewalld.service
+}
+
+pkg_preinst() {
+ gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ gnome2_schemas_update
+
+ # bug #833569
+ optfeature "changing zones with NetworkManager" gnome-extra/nm-applet
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ gnome2_schemas_update
+}
diff --git a/net-firewall/iptables/Manifest b/net-firewall/iptables/Manifest
index 76320a6fa20..44c1d5abb45 100644
--- a/net-firewall/iptables/Manifest
+++ b/net-firewall/iptables/Manifest
@@ -1,2 +1 @@
-DIST iptables-1.8.7.tar.bz2 717862 BLAKE2B fd4dcff142eaadde2a14ce3eb5e45d41c326752553b52900c77fd2e2a20c0685d0a04b95755995e914df47658834d52216d6465c2ae9cd6abc6eb122b95cc976 SHA512 c0a33fafbf1139157a9f52860938ebedc282a1394a68dcbd58981159379eb525919f999b25925f2cb4d6b18089bd99a94b00b3e73cff5cb0a0e47bdff174ed75
DIST iptables-1.8.8.tar.bz2 746985 BLAKE2B 0da021cc7313b86af331768904956dab3eee3de245a7b03965129f3d7f13097fc03fbb1390167dcd971eff216eabad9e59b261a9c0f54bfc48a77453aa40d164 SHA512 f21df23279a77531a23f3fcb1b8f0f8ec0c726bda236dd0e33af74b06753baff6ce3f26fb9fcceb6fada560656ba901e68fc6452eb840ac1b206bc4654950f59
diff --git a/net-firewall/iptables/files/iptables-1.8.7-cache-double-free.patch b/net-firewall/iptables/files/iptables-1.8.7-cache-double-free.patch
deleted file mode 100644
index fc88636d294..00000000000
--- a/net-firewall/iptables/files/iptables-1.8.7-cache-double-free.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-commit 4318961230bce82958df82b57f1796143bf2f421
-Author: Phil Sutter <phil@nwl.cc>
-Date: Tue Sep 21 11:39:45 2021 +0200
-
- nft: cache: Avoid double free of unrecognized base-chains
-
- On error, nft_cache_add_chain() frees the allocated nft_chain object
- along with the nftnl_chain it points at. Fix nftnl_chain_list_cb() to
- not free the nftnl_chain again in that case.
-
- Fixes: 176c92c26bfc9 ("nft: Introduce a dedicated base chain array")
- Signed-off-by: Phil Sutter <phil@nwl.cc>
-
-diff --git a/iptables/nft-cache.c b/iptables/nft-cache.c
-index 2c88301c..9a03bbfb 100644
---- a/iptables/nft-cache.c
-+++ b/iptables/nft-cache.c
-@@ -314,9 +314,7 @@ static int nftnl_chain_list_cb(const struct nlmsghdr *nlh, void *data)
- goto out;
- }
-
-- if (nft_cache_add_chain(h, t, c))
-- goto out;
--
-+ nft_cache_add_chain(h, t, c);
- return MNL_CB_OK;
- out:
- nftnl_chain_free(c);
-diff --git a/iptables/tests/shell/testcases/chain/0004extra-base_0 b/iptables/tests/shell/testcases/chain/0004extra-base_0
-new file mode 100755
-index 00000000..1b85b060
---- /dev/null
-+++ b/iptables/tests/shell/testcases/chain/0004extra-base_0
-@@ -0,0 +1,27 @@
-+#!/bin/bash
-+
-+case $XT_MULTI in
-+*xtables-nft-multi)
-+ ;;
-+*)
-+ echo skip $XT_MULTI
-+ exit 0
-+ ;;
-+esac
-+
-+set -e
-+
-+nft -f - <<EOF
-+table ip filter {
-+ chain INPUT {
-+ type filter hook input priority filter
-+ counter packets 218 bytes 91375 accept
-+ }
-+
-+ chain x {
-+ type filter hook input priority filter
-+ }
-+}
-+EOF
-+
-+$XT_MULTI iptables -L
diff --git a/net-firewall/iptables/iptables-1.8.7-r2.ebuild b/net-firewall/iptables/iptables-1.8.7-r2.ebuild
deleted file mode 100644
index 42fd108f260..00000000000
--- a/net-firewall/iptables/iptables-1.8.7-r2.ebuild
+++ /dev/null
@@ -1,176 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit systemd toolchain-funcs autotools flag-o-matic usr-ldscript
-
-DESCRIPTION="Linux kernel (2.4+) firewall, NAT and packet mangling tools"
-HOMEPAGE="https://www.netfilter.org/projects/iptables/"
-SRC_URI="https://www.netfilter.org/projects/iptables/files/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-# Subslot reflects PV when libxtables and/or libip*tc was changed
-# the last time.
-SLOT="0/1.8.3"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="conntrack netlink nftables pcap static-libs"
-
-BUILD_DEPEND="
- >=app-eselect/eselect-iptables-20220320
-"
-COMMON_DEPEND="
- conntrack? ( >=net-libs/libnetfilter_conntrack-1.0.6 )
- netlink? ( net-libs/libnfnetlink )
- nftables? (
- >=net-libs/libmnl-1.0:0=
- >=net-libs/libnftnl-1.1.6:0=
- )
- pcap? ( net-libs/libpcap )
-"
-DEPEND="${COMMON_DEPEND}
- virtual/os-headers
- >=sys-kernel/linux-headers-4.4:0
-"
-BDEPEND="${BUILD_DEPEND}
- virtual/pkgconfig
- nftables? (
- sys-devel/flex
- virtual/yacc
- )
-"
-RDEPEND="${COMMON_DEPEND}
- ${BUILD_DEPEND}
- nftables? ( net-misc/ethertypes )
- !<net-firewall/ebtables-2.0.11-r1
- !<net-firewall/arptables-0.0.5-r1
-"
-
-PATCHES=(
- "${FILESDIR}/iptables-1.8.4-no-symlinks.patch"
- "${FILESDIR}/iptables-1.8.2-link.patch"
- # https://bugs.gentoo.org/831626
- "${FILESDIR}/iptables-1.8.7-cache-double-free.patch"
-)
-
-src_prepare() {
- # use the saner headers from the kernel
- rm include/linux/{kernel,types}.h || die
-
- default
- eautoreconf
-}
-
-src_configure() {
- # Some libs use $(AR) rather than libtool to build #444282
- tc-export AR
-
- # Hack around struct mismatches between userland & kernel for some ABIs. #472388
- use amd64 && [[ ${ABI} == "x32" ]] && append-flags -fpack-struct
-
- sed -i \
- -e "/nfnetlink=[01]/s:=[01]:=$(usex netlink 1 0):" \
- -e "/nfconntrack=[01]/s:=[01]:=$(usex conntrack 1 0):" \
- configure || die
-
- local myeconfargs=(
- --sbindir="${EPREFIX}/sbin"
- --libexecdir="${EPREFIX}/$(get_libdir)"
- --enable-devel
- --enable-ipv6
- --enable-shared
- $(use_enable nftables)
- $(use_enable pcap bpf-compiler)
- $(use_enable pcap nfsynproxy)
- $(use_enable static-libs static)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake V=1
-}
-
-src_install() {
- default
- dodoc INCOMPATIBILITIES iptables/iptables.xslt
-
- # all the iptables binaries are in /sbin, so might as well
- # put these small files in with them
- into /
- dosbin iptables/iptables-apply
- dosym iptables-apply /sbin/ip6tables-apply
- doman iptables/iptables-apply.8
-
- insinto /usr/include
- doins include/ip{,6}tables.h
- insinto /usr/include/iptables
- doins include/iptables/internal.h
-
- keepdir /var/lib/ip{,6}tables
- newinitd "${FILESDIR}"/${PN}-r2.init iptables
- newconfd "${FILESDIR}"/${PN}-r1.confd iptables
- dosym iptables /etc/init.d/ip6tables
- newconfd "${FILESDIR}"/ip6tables-r1.confd ip6tables
-
- if use nftables; then
- # Bug 647458
- rm "${ED}"/etc/ethertypes || die
-
- # Bugs 660886 and 669894
- rm "${ED}"/sbin/{arptables,ebtables}{,-{save,restore}} || die
- fi
-
- systemd_dounit "${FILESDIR}"/systemd/ip{,6}tables-{re,}store.service
-
- # Move important libs to /lib #332175
- gen_usr_ldscript -a ip{4,6}tc xtables
-
- find "${ED}" -type f -name "*.la" -delete || die
-}
-
-pkg_postinst() {
- local default_iptables="xtables-legacy-multi"
- if ! eselect iptables show &>/dev/null; then
- elog "Current iptables implementation is unset, setting to ${default_iptables}"
- eselect iptables set "${default_iptables}"
- fi
-
- if use nftables; then
- local tables
- for tables in {arp,eb}tables; do
- if ! eselect ${tables} show &>/dev/null; then
- elog "Current ${tables} implementation is unset, setting to ${default_iptables}"
- eselect ${tables} set xtables-nft-multi
- fi
- done
- fi
-
- eselect iptables show
-}
-
-pkg_prerm() {
- if [[ -z ${REPLACED_BY_VERSION} ]]; then
- elog "Unsetting iptables symlinks before removal"
- eselect iptables unset
- fi
-
- if ! has_version 'net-firewall/ebtables'; then
- elog "Unsetting ebtables symlinks before removal"
- eselect ebtables unset
- elif [[ -z ${REPLACED_BY_VERSION} ]]; then
- elog "Resetting ebtables symlinks to ebtables-legacy"
- eselect ebtables set ebtables-legacy
- fi
-
- if ! has_version 'net-firewall/arptables'; then
- elog "Unsetting arptables symlinks before removal"
- eselect arptables unset
- elif [[ -z ${REPLACED_BY_VERSION} ]]; then
- elog "Resetting arptables symlinks to arptables-legacy"
- eselect arptables set arptables-legacy
- fi
-
- # the eselect module failing should not be fatal
- return 0
-}
diff --git a/net-firewall/iptables/iptables-1.8.8-r4.ebuild b/net-firewall/iptables/iptables-1.8.8-r4.ebuild
index da1b4c528c4..7ee81eb845a 100644
--- a/net-firewall/iptables/iptables-1.8.8-r4.ebuild
+++ b/net-firewall/iptables/iptables-1.8.8-r4.ebuild
@@ -13,7 +13,7 @@ LICENSE="GPL-2"
# Subslot reflects PV when libxtables and/or libip*tc was changed
# the last time.
SLOT="0/1.8.3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="conntrack netlink nftables pcap static-libs"
COMMON_DEPEND="
diff --git a/net-firewall/nfacct/nfacct-1.0.2-r2.ebuild b/net-firewall/nfacct/nfacct-1.0.2-r2.ebuild
index a6dc39569c1..480bc2bea0c 100644
--- a/net-firewall/nfacct/nfacct-1.0.2-r2.ebuild
+++ b/net-firewall/nfacct/nfacct-1.0.2-r2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.netfilter.org/projects/${PN}/files/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~ppc64 x86"
+KEYWORDS="amd64 ~arm ~ppc64 ~riscv x86"
RDEPEND="
net-libs/libmnl:=
diff --git a/net-firewall/nftables/nftables-1.0.4-r2.ebuild b/net-firewall/nftables/nftables-1.0.4-r2.ebuild
index e15c2462f85..394dfa382ae 100644
--- a/net-firewall/nftables/nftables-1.0.4-r2.ebuild
+++ b/net-firewall/nftables/nftables-1.0.4-r2.ebuild
@@ -22,14 +22,14 @@ if [[ ${PV} =~ ^[9]{4,}$ ]]; then
else
SRC_URI="https://netfilter.org/projects/nftables/files/${P}.tar.bz2
verify-sig? ( https://netfilter.org/projects/nftables/files/${P}.tar.bz2.sig )"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-netfilter )"
fi
LICENSE="GPL-2"
SLOT="0/1"
IUSE="debug doc +gmp json libedit +modern-kernel python +readline static-libs test xtables"
-RESTRICT="test? ( userpriv ) !test? ( test )"
+RESTRICT="!test? ( test )"
RDEPEND="
>=net-libs/libmnl-1.0.4:0=
@@ -123,7 +123,11 @@ src_compile() {
src_test() {
emake check
- edo tests/shell/run-tests.sh -v
+ if [[ ${EUID} == 0 ]]; then
+ edo tests/shell/run-tests.sh -v
+ else
+ ewarn "Skipping shell tests (requires root)"
+ fi
# Need to rig up Python eclass if using this, but it doesn't seem to work
# for me anyway.
diff --git a/net-firewall/nftables/nftables-1.0.5.ebuild b/net-firewall/nftables/nftables-1.0.5.ebuild
index 24d357de987..b6fdb61bd49 100644
--- a/net-firewall/nftables/nftables-1.0.5.ebuild
+++ b/net-firewall/nftables/nftables-1.0.5.ebuild
@@ -29,7 +29,7 @@ fi
LICENSE="GPL-2"
SLOT="0/1"
IUSE="debug doc +gmp json libedit +modern-kernel python +readline static-libs test xtables"
-RESTRICT="test? ( userpriv ) !test? ( test )"
+RESTRICT="!test? ( test )"
RDEPEND="
>=net-libs/libmnl-1.0.4:0=
@@ -120,7 +120,11 @@ src_compile() {
src_test() {
emake check
- edo tests/shell/run-tests.sh -v
+ if [[ ${EUID} == 0 ]]; then
+ edo tests/shell/run-tests.sh -v
+ else
+ ewarn "Skipping shell tests (requires root)"
+ fi
# Need to rig up Python eclass if using this, but it doesn't seem to work
# for me anyway.
diff --git a/net-firewall/nftables/nftables-9999.ebuild b/net-firewall/nftables/nftables-9999.ebuild
index 24d357de987..b6fdb61bd49 100644
--- a/net-firewall/nftables/nftables-9999.ebuild
+++ b/net-firewall/nftables/nftables-9999.ebuild
@@ -29,7 +29,7 @@ fi
LICENSE="GPL-2"
SLOT="0/1"
IUSE="debug doc +gmp json libedit +modern-kernel python +readline static-libs test xtables"
-RESTRICT="test? ( userpriv ) !test? ( test )"
+RESTRICT="!test? ( test )"
RDEPEND="
>=net-libs/libmnl-1.0.4:0=
@@ -120,7 +120,11 @@ src_compile() {
src_test() {
emake check
- edo tests/shell/run-tests.sh -v
+ if [[ ${EUID} == 0 ]]; then
+ edo tests/shell/run-tests.sh -v
+ else
+ ewarn "Skipping shell tests (requires root)"
+ fi
# Need to rig up Python eclass if using this, but it doesn't seem to work
# for me anyway.