diff options
author | Mike Frysinger <vapier@gentoo.org> | 2006-10-07 03:18:03 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2006-10-07 03:18:03 +0000 |
commit | de9e9ab232ce351a9ac4f91376a7b9c884099a04 (patch) | |
tree | 6a3febdf035801892b43c5b5038878cab1dc375c /net-firewall/iptables | |
parent | touchups (diff) | |
download | gentoo-2-de9e9ab232ce351a9ac4f91376a7b9c884099a04.tar.gz gentoo-2-de9e9ab232ce351a9ac4f91376a7b9c884099a04.tar.bz2 gentoo-2-de9e9ab232ce351a9ac4f91376a7b9c884099a04.zip |
Update l7-filter support #150124.
(Portage version: 2.1.2_pre2-r5)
Diffstat (limited to 'net-firewall/iptables')
-rw-r--r-- | net-firewall/iptables/ChangeLog | 7 | ||||
-rw-r--r-- | net-firewall/iptables/files/digest-iptables-1.3.6-r1 | 9 | ||||
-rw-r--r-- | net-firewall/iptables/iptables-1.3.6-r1.ebuild | 182 |
3 files changed, 197 insertions, 1 deletions
diff --git a/net-firewall/iptables/ChangeLog b/net-firewall/iptables/ChangeLog index 3cae0ba43ff1..ce759df32d12 100644 --- a/net-firewall/iptables/ChangeLog +++ b/net-firewall/iptables/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for net-firewall/iptables # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-firewall/iptables/ChangeLog,v 1.116 2006/10/03 21:12:12 wolf31o2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-firewall/iptables/ChangeLog,v 1.117 2006/10/07 03:18:03 vapier Exp $ + +*iptables-1.3.6-r1 (07 Oct 2006) + + 07 Oct 2006; Mike Frysinger <vapier@gentoo.org> +iptables-1.3.6-r1.ebuild: + Update l7-filter support #150124. 03 Oct 2006; Chris Gianelloni <wolf31o2@gentoo.org> iptables-1.3.5-r4.ebuild: diff --git a/net-firewall/iptables/files/digest-iptables-1.3.6-r1 b/net-firewall/iptables/files/digest-iptables-1.3.6-r1 new file mode 100644 index 000000000000..874edc2d59db --- /dev/null +++ b/net-firewall/iptables/files/digest-iptables-1.3.6-r1 @@ -0,0 +1,9 @@ +MD5 9adae8be9562775a176fc1b275b3cb29 iptables-1.3.0-imq1.diff 5369 +RMD160 8ca1fa3bfea02d27232d8d8cb0a12586dd4537b5 iptables-1.3.0-imq1.diff 5369 +SHA256 0f9d36e48b3f1e83ef9e1d39c19e7271a889a31c65c396c416200eb143f1795b iptables-1.3.0-imq1.diff 5369 +MD5 077e886a9c90a11bb47f3d7a4fc4a689 iptables-1.3.6.tar.bz2 185438 +RMD160 54d9777f2116ad57253446c42619c726f68ae8f0 iptables-1.3.6.tar.bz2 185438 +SHA256 4394c3de8c55776e54a36a6fcd4f9eeed381f451883049f8268c34c3482f5f1b iptables-1.3.6.tar.bz2 185438 +MD5 58135cd1aafaf4ae2fa478159206f064 netfilter-layer7-v2.6.tar.gz 122514 +RMD160 31b68ae3baa0a340f2e4a555fd5124c3b977629d netfilter-layer7-v2.6.tar.gz 122514 +SHA256 c5a842c037e915eb72576e5861f0b048837719f1edf448775d9218b42c48e0aa netfilter-layer7-v2.6.tar.gz 122514 diff --git a/net-firewall/iptables/iptables-1.3.6-r1.ebuild b/net-firewall/iptables/iptables-1.3.6-r1.ebuild new file mode 100644 index 000000000000..c710159a40db --- /dev/null +++ b/net-firewall/iptables/iptables-1.3.6-r1.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-firewall/iptables/iptables-1.3.6-r1.ebuild,v 1.1 2006/10/07 03:18:03 vapier Exp $ + +inherit eutils flag-o-matic toolchain-funcs linux-info + +L7_PV="2.6" +L7_P="netfilter-layer7-v${L7_PV}" +L7_PATCH="iptables-layer7-${L7_PV}.patch" +IMQ_PATCH="iptables-1.3.0-imq1.diff" + +DESCRIPTION="Linux kernel (2.4+) firewall, NAT and packet mangling tools" +HOMEPAGE="http://www.iptables.org/ http://www.linuximq.net/ http://l7-filter.sf.net/" +SRC_URI="http://iptables.org/projects/iptables/files/${P}.tar.bz2 + imq? ( http://www.linuximq.net/patchs/${IMQ_PATCH} ) + l7filter? ( mirror://sourceforge/l7-filter/${L7_P}.tar.gz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="extensions imq ipv6 l7filter static" + +DEPEND="virtual/os-headers + l7filter? ( virtual/linux-sources ) + imq? ( virtual/linux-sources )" +RDEPEND="" + +pkg_setup() { + if use l7filter || use imq || use extensions ; then + ewarn "WARNING: 3rd party extensions has been enabled." + ewarn "This means that iptables will use your currently installed" + ewarn "kernel in ${KERNEL_DIR} as headers for iptables." + ewarn + if use extensions ; then + ewarn "You may have to patch your kernel to allow iptables to build." + ewarn "Please check http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/ for patches" + ewarn "for your kernel." + ewarn + fi + linux-info_pkg_setup + fi + + if use l7filter && \ + [ ! -f "${KERNEL_DIR}/net/ipv4/netfilter/ipt_layer7.c" ]; then + die "For layer 7 support emerge net-misc/l7-filter-${L7_PV} before this" + fi + if use imq && \ + [ ! -f "${KERNEL_DIR}/net/ipv4/netfilter/ipt_IMQ.c" ]; then + die "For IMQ support add a patch from http://www.linuximq.net/patches.html to your kernel" + fi +} + +src_unpack() { + unpack ${P}.tar.bz2 + use l7filter && unpack ${L7_P}.tar.gz + cd "${S}" + + EPATCH_OPTS="-p0" \ + epatch "${FILESDIR}"/1.3.1-files/install_ipv6_apps.patch + EPATCH_OPTS="-p1" \ + epatch "${FILESDIR}"/1.3.1-files/install_all_dev_files.patch-1.3.1 + + # this provide's grsec's stealth match + EPATCH_OPTS="-p0" \ + epatch "${FILESDIR}"/1.3.1-files/grsecurity-1.2.8-iptables.patch-1.3.1 + sed -i \ + -e "s/PF_EXT_SLIB:=/PF_EXT_SLIB:=stealth /g" \ + extensions/Makefile || die "failed to enable stealth extension" + + EPATCH_OPTS="-p1" \ + epatch "${FILESDIR}"/1.3.1-files/${PN}-1.3.1-compilefix.patch + + epatch "${FILESDIR}"/1.3.5-files/${PN}-1.3.5-log-prefix-no-empty-strings.patch #148169 + + if use imq ; then + EPATCH_OPTS="-p1" epatch "${DISTDIR}"/${IMQ_PATCH} + chmod +x extensions/{.IMQ-test*,.childlevel-test*} + fi + if use l7filter ; then + EPATCH_OPTS="-p1" epatch "${WORKDIR}"/${L7_P}/${L7_PATCH} + chmod +x extensions/.layer7-test* + fi + + # the net directory is moving around so account for new/old locations + cd "${S}"/extensions + local x + for x in .*-test* ; do + sed -e 's:net/ipv[46]/netfilter:net/netfilter:g' ${x} > .new-${x} + if cmp ${x} .new-${x} > /dev/null ; then + rm -f .new-${x} + else + chmod a+rx .new-${x} + fi + done +} + +src_defs() { + # these are used in both of src_compile and src_install + myconf="" + myconf="${myconf} PREFIX=" + myconf="${myconf} LIBDIR=/$(get_libdir)" + myconf="${myconf} BINDIR=/sbin" + myconf="${myconf} MANDIR=/usr/share/man" + myconf="${myconf} INCDIR=/usr/include" + # iptables and libraries are now installed to /sbin and /lib, so that + # systems with remote network-mounted /usr filesystems can get their + # network interfaces up and running correctly without /usr. + use ipv6 || myconf="${myconf} DO_IPV6=0" + use static && myconf="${myconf} NO_SHARED_LIBS=0" + export myconf + if ! use l7filter && ! use imq && ! use extensions ; then + export KERNEL_DIR="/usr" + diemsg="failure" + else + diemsg="failure - with l7filter or imq patch added" + fi + export diemsg +} + +src_compile() { + src_defs + + # iptables will NOT work correctly unless -O[123] are present! + replace-flags -O0 -O2 + get-flag -O || append-flags -O2 + + emake -j1 \ + COPT_FLAGS="${CFLAGS}" ${myconf} \ + KERNEL_DIR="${KERNEL_DIR}" \ + CC="$(tc-getCC)" \ + || die "${diemsg}" +} + +src_install() { + src_defs + make ${myconf} \ + DESTDIR="${D}" \ + KERNEL_DIR="${KERNEL_DIR}" \ + install install-devel || die "${diemsg}" + + dodir /usr/$(get_libdir) + mv -f "${D}"/$(get_libdir)/*.a "${D}"/usr/$(get_libdir) + + keepdir /var/lib/iptables + newinitd "${FILESDIR}"/${PN}-1.3.2.init iptables + newconfd "${FILESDIR}"/${PN}-1.3.2.confd iptables + + if use ipv6 ; then + keepdir /var/lib/ip6tables + newinitd "${FILESDIR}"/iptables-1.3.2.init ip6tables + newconfd "${FILESDIR}"/ip6tables-1.3.2.confd ip6tables + fi +} + +pkg_postinst() { + einfo "This package now includes an initscript which loads and saves" + einfo "rules stored in /var/lib/iptables/rules-save" + use ipv6 && einfo "and /var/lib/ip6tables/rules-save" + einfo "This location can be changed in /etc/conf.d/iptables" + einfo + einfo "If you are using the iptables initsscript you should save your" + einfo "rules using the new iptables version before rebooting." + einfo + einfo "If you are upgrading to a >=2.4.21 kernel you may need to rebuild" + einfo "iptables." + einfo + ewarn "!!! ipforwarding is not a part of the iptables initscripts." + einfo + einfo "To enable ipforwarding at bootup:" + einfo "/etc/sysctl.conf and set net.ipv4.ip_forward = 1" + if use ipv6 ; then + einfo "and/or" + einfo " net.ipv6.ip_forward = 1" + einfo "for ipv6." + fi + if has_version '=net-firewall/iptables-1.2*' ; then + echo + ewarn "When upgrading from iptables-1.2.x, you may be unable to remove" + ewarn "rules added with iptables-1.2.x. This is a known issue, please see:" + ewarn "http://bugs.gentoo.org/92535" + fi +} |