[net-firewall/iptables] sync from tree

This commit is contained in:
Robert Förster 2015-08-21 15:17:46 +02:00
parent 962c335888
commit 14ed8504dc
2 changed files with 28 additions and 23 deletions

View File

@ -1,7 +1,7 @@
#!/sbin/runscript #!/sbin/runscript
# Copyright 1999-2013 Gentoo Foundation # Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-firewall/iptables/files/iptables-1.4.13-r1.init,v 1.3 2013/04/27 17:29:09 vapier Exp $ # $Id$
extra_commands="check save panic" extra_commands="check save panic"
extra_started_commands="reload" extra_started_commands="reload"
@ -35,7 +35,7 @@ set_table_policy() {
esac esac
local chain local chain
for chain in ${chains} ; do for chain in ${chains} ; do
${iptables_bin} -t ${table} -P ${chain} ${policy} ${iptables_bin} -w -t ${table} -P ${chain} ${policy}
done done
} }
@ -73,8 +73,8 @@ stop() {
for a in $(cat ${iptables_proc}) ; do for a in $(cat ${iptables_proc}) ; do
set_table_policy $a ACCEPT set_table_policy $a ACCEPT
${iptables_bin} -F -t $a ${iptables_bin} -w -F -t $a
${iptables_bin} -X -t $a ${iptables_bin} -w -X -t $a
done done
eend $? eend $?
} }
@ -85,8 +85,8 @@ reload() {
ebegin "Flushing firewall" ebegin "Flushing firewall"
local a local a
for a in $(cat ${iptables_proc}) ; do for a in $(cat ${iptables_proc}) ; do
${iptables_bin} -F -t $a ${iptables_bin} -w -F -t $a
${iptables_bin} -X -t $a ${iptables_bin} -w -X -t $a
done done
eend $? eend $?
@ -121,8 +121,8 @@ panic() {
local a local a
ebegin "Dropping all packets" ebegin "Dropping all packets"
for a in $(cat ${iptables_proc}) ; do for a in $(cat ${iptables_proc}) ; do
${iptables_bin} -F -t $a ${iptables_bin} -w -F -t $a
${iptables_bin} -X -t $a ${iptables_bin} -w -X -t $a
set_table_policy $a DROP set_table_policy $a DROP
done done

View File

@ -1,31 +1,34 @@
# Copyright 1999-2013 Gentoo Foundation # Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5" EAPI="5"
# Force users doing their own patches to install their own tools # Force users doing their own patches to install their own tools
AUTOTOOLS_AUTO_DEPEND=no AUTOTOOLS_AUTO_DEPEND=no
inherit autotools eutils git-r3 multilib systemd toolchain-funcs inherit eutils multilib systemd toolchain-funcs autotools flag-o-matic git-r3
DESCRIPTION="Linux kernel (3.13+) firewall, NAT and packet mangling tools, with nftables compatibility" DESCRIPTION="Linux kernel (2.4+) firewall, NAT and packet mangling tools"
HOMEPAGE="http://www.netfilter.org/projects/nftables/" HOMEPAGE="http://www.netfilter.org/projects/iptables/"
EGIT_REPO_URI="git://git.netfilter.org/iptables.git" EGIT_REPO_URI="git://git.netfilter.org/iptables.git"
LICENSE="GPL-2" LICENSE="GPL-2"
SLOT="0" # Subslot tracks libxtables as that's the one other packages generally link
# against and iptables changes. Will have to revisit if other sonames change.
SLOT="0/10"
KEYWORDS="" KEYWORDS=""
IUSE="ipv6 netlink static-libs" IUSE="conntrack ipv6 netlink pcap static-libs"
RDEPEND=" RDEPEND="
conntrack? ( net-libs/libnetfilter_conntrack )
netlink? ( net-libs/libnfnetlink ) netlink? ( net-libs/libnfnetlink )
pcap? ( net-libs/libpcap )
net-libs/libnftnl
" "
DEPEND="${RDEPEND} DEPEND="${RDEPEND}
virtual/os-headers virtual/os-headers
virtual/pkgconfig virtual/pkgconfig
net-libs/libnetfilter_conntrack
net-libs/libnftnl
net-libs/libpcap
" "
src_prepare() { src_prepare() {
@ -39,8 +42,12 @@ src_configure() {
# Some libs use $(AR) rather than libtool to build #444282 # Some libs use $(AR) rather than libtool to build #444282
tc-export AR tc-export AR
# Hack around struct mismatches between userland & kernel for some ABIs. #472388
use amd64 && [[ ${ABI} == "x32" ]] && append-flags -fpack-struct
sed -i \ sed -i \
-e "/nfnetlink=[01]/s:=[01]:=$(usex netlink 1 0):" \ -e "/nfnetlink=[01]/s:=[01]:=$(usex netlink 1 0):" \
-e "/nfconntrack=[01]/s:=[01]:=$(usex conntrack 1 0):" \
configure || die configure || die
econf \ econf \
@ -48,9 +55,7 @@ src_configure() {
--libexecdir="${EPREFIX}/$(get_libdir)" \ --libexecdir="${EPREFIX}/$(get_libdir)" \
--enable-devel \ --enable-devel \
--enable-shared \ --enable-shared \
--enable-libipq \ $(use_enable pcap bpf-compiler) \
--enable-bpf-compiler \
--enable-nfsynproxy \
$(use_enable static-libs static) \ $(use_enable static-libs static) \
$(use_enable ipv6) $(use_enable ipv6)
} }
@ -76,11 +81,11 @@ src_install() {
doins include/iptables/internal.h doins include/iptables/internal.h
keepdir /var/lib/iptables keepdir /var/lib/iptables
newinitd "${FILESDIR}"/${PN}-1.4.13-r1.init iptables newinitd "${FILESDIR}"/${PN}.init iptables
newconfd "${FILESDIR}"/${PN}-1.4.13.confd iptables newconfd "${FILESDIR}"/${PN}-1.4.13.confd iptables
if use ipv6 ; then if use ipv6 ; then
keepdir /var/lib/ip6tables keepdir /var/lib/ip6tables
newinitd "${FILESDIR}"/iptables-1.4.13-r1.init ip6tables newinitd "${FILESDIR}"/iptables.init ip6tables
newconfd "${FILESDIR}"/ip6tables-1.4.13.confd ip6tables newconfd "${FILESDIR}"/ip6tables-1.4.13.confd ip6tables
fi fi
@ -89,7 +94,7 @@ src_install() {
systemd_dounit "${FILESDIR}"/systemd/ip6tables{,-{re,}store}.service systemd_dounit "${FILESDIR}"/systemd/ip6tables{,-{re,}store}.service
fi fi
# Move important libs to /lib # Move important libs to /lib #332175
gen_usr_ldscript -a ip{4,6}tc iptc xtables gen_usr_ldscript -a ip{4,6}tc iptc xtables
prune_libtool_files prune_libtool_files