summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Black <dragonheart@gentoo.org>2007-07-07 02:35:09 +0000
committerDaniel Black <dragonheart@gentoo.org>2007-07-07 02:35:09 +0000
commitb3874cfd420f2720db6a4c16962dc63931bd6e7e (patch)
tree8bd4be2e6fae3ce7d1fd9537b684281a87567fdd /net-firewall
parentThe amd64 patch is *not* amd64 specific, so apply it for everyone. (diff)
downloadgentoo-2-b3874cfd420f2720db6a4c16962dc63931bd6e7e.tar.gz
gentoo-2-b3874cfd420f2720db6a4c16962dc63931bd6e7e.tar.bz2
gentoo-2-b3874cfd420f2720db6a4c16962dc63931bd6e7e.zip
l7 & imq patch update as per bug ##184164 thanks to cilly
(Portage version: 2.1.2.7)
Diffstat (limited to 'net-firewall')
-rw-r--r--net-firewall/iptables/ChangeLog8
-rw-r--r--net-firewall/iptables/files/digest-iptables-1.3.8-r19
-rw-r--r--net-firewall/iptables/iptables-1.3.8-r1.ebuild202
3 files changed, 218 insertions, 1 deletions
diff --git a/net-firewall/iptables/ChangeLog b/net-firewall/iptables/ChangeLog
index 8d2c10056f37..7625b254c9b6 100644
--- a/net-firewall/iptables/ChangeLog
+++ b/net-firewall/iptables/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-firewall/iptables
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-firewall/iptables/ChangeLog,v 1.135 2007/06/25 17:00:00 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-firewall/iptables/ChangeLog,v 1.136 2007/07/07 02:35:09 dragonheart Exp $
+
+*iptables-1.3.8-r1 (07 Jul 2007)
+
+ 07 Jul 2007; Daniel Black <dragonheart@gentoo.org>
+ +iptables-1.3.8-r1.ebuild:
+ l7 & imq patch update as per bug ##184164 thanks to cilly
*iptables-1.3.8 (25 Jun 2007)
diff --git a/net-firewall/iptables/files/digest-iptables-1.3.8-r1 b/net-firewall/iptables/files/digest-iptables-1.3.8-r1
new file mode 100644
index 000000000000..adec1e229e4b
--- /dev/null
+++ b/net-firewall/iptables/files/digest-iptables-1.3.8-r1
@@ -0,0 +1,9 @@
+MD5 133a27ce2aa95581e91d364827f68293 iptables-1.3.6-imq.diff 5723
+RMD160 7158923558f9ad82973cda9dbec2c10b86e13e9c iptables-1.3.6-imq.diff 5723
+SHA256 f507319d01dd1810b497e0700a67d8f9668dd1363b1f8e1b09097cf2bbc26ab7 iptables-1.3.6-imq.diff 5723
+MD5 0a9209f928002e5eee9cdff8fef4d4b3 iptables-1.3.8.tar.bz2 172584
+RMD160 851b223eef0ca008ad1f375aa0ebdab46ff6f886 iptables-1.3.8.tar.bz2 172584
+SHA256 c5c8a091ed9a1fa2dab86b4d87719064b50c202e8503046f50f299a361e6211c iptables-1.3.8.tar.bz2 172584
+MD5 9eff148d529760fa6f9323fe05c0247c netfilter-layer7-v2.12.tar.gz 160071
+RMD160 a9e5ae2650837f64564e27daf6c3c0652c97bd55 netfilter-layer7-v2.12.tar.gz 160071
+SHA256 1ea9c8952e70a1a43d8bdf30478d46ce9d10a0a77b0bca99e6931deb6d753b6d netfilter-layer7-v2.12.tar.gz 160071
diff --git a/net-firewall/iptables/iptables-1.3.8-r1.ebuild b/net-firewall/iptables/iptables-1.3.8-r1.ebuild
new file mode 100644
index 000000000000..7d344f7792f1
--- /dev/null
+++ b/net-firewall/iptables/iptables-1.3.8-r1.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-firewall/iptables/iptables-1.3.8-r1.ebuild,v 1.1 2007/07/07 02:35:09 dragonheart Exp $
+
+inherit eutils flag-o-matic toolchain-funcs linux-info
+
+L7_PV=2.12
+L7_P=netfilter-layer7-v${L7_PV}
+IMQ_PATCH=iptables-1.3.6-imq.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 kernel_is ge 2 6 20
+ then
+ L7FILE=${KERNEL_DIR}/net/netfilter/xt_layer7.c
+ else
+ L7FILE=${KERNEL_DIR}/net/ipv4/netfilter/ipt_layer7.c
+ fi
+ if use l7filter && \
+ [ ! -f "${L7FILE}" ]; 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
+ if use l7filter
+ then
+ unpack ${L7_P}.tar.gz
+ fi
+ cd "${S}"
+
+ epatch "${FILESDIR}"/${PN}-1.3.7-sparc64.patch #166201
+ epatch "${FILESDIR}"/${PN}-1.3.7-kernel-dir.patch #172209
+
+ 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"
+
+ if use imq ; then
+ EPATCH_OPTS="-p1" epatch "${DISTDIR}"/${IMQ_PATCH}
+ for OA in extensions/.IMQ-test extensions/.IMQ-test6 ; do
+ mv ${OA} ${OA}.orig
+ tr '\015' '\012' < ${OA}.orig > ${OA}
+ rm ${OA}.orig
+ done
+ chmod +x extensions/.IMQ-test*
+ fi
+ if use l7filter ; then
+ #yes choosing 2.6.20 was deliberate - upstream mistake possibly
+ if kernel_is ge 2 6 20
+ then
+ L7_PATCH=iptables-for-kernel-2.6.22forward-layer7-${L7_PV}.patch
+ else
+ L7_PATCH=iptables-for-kernel-pre2.6.22-layer7-${L7_PV}.patch
+ fi
+ 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=""
+ diemsg="failure"
+ else
+ diemsg="failure - with l7filter and/or imq patch and/or other miscellanious patches 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
+ # cannot work with the following according to Makefile near check:
+ # -g -pg -DIPTC_DEBUG
+
+ 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() {
+ elog "This package now includes an initscript which loads and saves"
+ elog "rules stored in /var/lib/iptables/rules-save"
+ use ipv6 && elog "and /var/lib/ip6tables/rules-save"
+ elog "This location can be changed in /etc/conf.d/iptables"
+ elog
+ elog "If you are using the iptables initsscript you should save your"
+ elog "rules using the new iptables version before rebooting."
+ elog
+ elog "If you are upgrading to a >=2.4.21 kernel you may need to rebuild"
+ elog "iptables."
+ elog
+ ewarn "!!! ipforwarding is not a part of the iptables initscripts."
+ ewarn
+ ewarn "To enable ipforwarding at bootup:"
+ ewarn "/etc/sysctl.conf and set net.ipv4.ip_forward = 1"
+ if use ipv6 ; then
+ ewarn "and/or"
+ ewarn " net.ipv6.ip_forward = 1"
+ ewarn "for ipv6."
+ fi
+ if has_version '=net-firewall/iptables-1.2*' ; then
+ ewarn
+ 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
+}