summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConstanze Hausner <constanze@gentoo.org>2013-09-22 13:16:04 +0000
committerConstanze Hausner <constanze@gentoo.org>2013-09-22 13:16:04 +0000
commit290b39d02ea2c84297f558f29da1aae84fa96d44 (patch)
tree6e3c074c2eb8973097b518467b02cb1d95641f83 /net-firewall/shorewall
parentBugfix 459316 for 4.5.18; Thanks to Thomas D. (diff)
downloadgentoo-2-290b39d02ea2c84297f558f29da1aae84fa96d44.tar.gz
gentoo-2-290b39d02ea2c84297f558f29da1aae84fa96d44.tar.bz2
gentoo-2-290b39d02ea2c84297f558f29da1aae84fa96d44.zip
Bugfix 459316 for 4.5.18; Thanks to Thomas D.
(Portage version: 2.2.1/cvs/Linux x86_64, signed Manifest commit with key BB80F419010E3EC3)
Diffstat (limited to 'net-firewall/shorewall')
-rw-r--r--net-firewall/shorewall/ChangeLog10
-rw-r--r--net-firewall/shorewall/files/4.5.18-r1/shorewall.conf-SUBSYSLOCK.patch22
-rw-r--r--net-firewall/shorewall/files/4.5.18-r1/shorewall.initd107
-rw-r--r--net-firewall/shorewall/files/4.5.18-r1/shorewall.systemd20
-rw-r--r--net-firewall/shorewall/files/4.5.18-r1/shorewallrc_new22
-rw-r--r--net-firewall/shorewall/shorewall-4.5.18-r1.ebuild63
6 files changed, 243 insertions, 1 deletions
diff --git a/net-firewall/shorewall/ChangeLog b/net-firewall/shorewall/ChangeLog
index 23cdae38f827..e5d4362fddf4 100644
--- a/net-firewall/shorewall/ChangeLog
+++ b/net-firewall/shorewall/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for net-firewall/shorewall
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-firewall/shorewall/ChangeLog,v 1.245 2013/08/29 18:58:57 constanze Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-firewall/shorewall/ChangeLog,v 1.246 2013/09/22 13:16:04 constanze Exp $
+
+*shorewall-4.5.18-r1 (22 Sep 2013)
+
+ 22 Sep 2013; Constanze Hausner <constanze@gentoo.org>
+ +files/4.5.18-r1/shorewall.conf-SUBSYSLOCK.patch,
+ +files/4.5.18-r1/shorewall.initd, +files/4.5.18-r1/shorewallrc_new,
+ +shorewall-4.5.18-r1.ebuild, +files/4.5.18-r1/shorewall.systemd:
+ Bugfix 459316 for 4.5.18; Thanks to Thomas D.
29 Aug 2013; Constanze Hausner <constanze@gentoo.org> metadata.xml:
Added Thomas D. as new maintainer
diff --git a/net-firewall/shorewall/files/4.5.18-r1/shorewall.conf-SUBSYSLOCK.patch b/net-firewall/shorewall/files/4.5.18-r1/shorewall.conf-SUBSYSLOCK.patch
new file mode 100644
index 000000000000..37a080adf999
--- /dev/null
+++ b/net-firewall/shorewall/files/4.5.18-r1/shorewall.conf-SUBSYSLOCK.patch
@@ -0,0 +1,22 @@
+--- configfiles/shorewall.conf 2013-06-24 22:07:38.000000000 +0200
++++ configfiles/shorewall.conf.new 2013-07-01 15:50:54.747711444 +0200
+@@ -85,7 +85,7 @@
+
+ SHOREWALL_SHELL=/bin/sh
+
+-SUBSYSLOCK=/var/lock/subsys/shorewall
++SUBSYSLOCK=/run/lock/shorewall
+
+ TC=
+
+--- configfiles/shorewall.conf.annotated 2013-06-27 20:32:22.000000000 +0200
++++ configfiles/shorewall.conf.annotated.new 2013-07-01 15:51:38.448332964 +0200
+@@ -444,7 +444,7 @@
+ # or specified as a null value, /bin/sh is assumed. Using a light-weight
+ # shell such as ash or dash can significantly improve performance.
+ #
+-SUBSYSLOCK=/var/lock/subsys/shorewall
++SUBSYSLOCK=/run/lock/shorewall
+ #
+ # SUBSYSLOCK=[pathname]
+ #
diff --git a/net-firewall/shorewall/files/4.5.18-r1/shorewall.initd b/net-firewall/shorewall/files/4.5.18-r1/shorewall.initd
new file mode 100644
index 000000000000..ae793fa6aa14
--- /dev/null
+++ b/net-firewall/shorewall/files/4.5.18-r1/shorewall.initd
@@ -0,0 +1,107 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-firewall/shorewall/files/4.5.18-r1/shorewall.initd,v 1.1 2013/09/22 13:16:03 constanze Exp $
+
+description='The Shoreline Firewall, more commonly known as "Shorewall", is'
+description="${description} a high-level tool for configuring Netfilter."
+
+extra_commands="check clear"
+extra_started_commands="refresh reset"
+
+description_check="Checks if the configuration will compile or not."
+
+description_clear="Clear will remove all rules and chains installed by"
+description_clear="${description_clear} Shorewall. The firewall is then"
+description_clear="${description_clear} wide open and unprotected."
+
+description_refresh="The mangle table will be refreshed along with the"
+description_refresh="${description_refresh} blacklist chain (if any)."
+
+description_reset="All the packet and byte counters in the firewall are reset."
+
+depend() {
+ need net
+ provide firewall
+ after ulogd
+}
+
+status() {
+ local _retval
+ /sbin/shorewall status 1>/dev/null
+ _retval=$?
+ if [ ${_retval} = '0' ]; then
+ einfo 'status: started'
+ mark_service_started "${SVCNAME}"
+ return 0
+ else
+ einfo 'status: stopped'
+ mark_service_stopped "${SVCNAME}"
+ return 3
+ fi
+}
+
+start() {
+ ebegin "Starting shorewall"
+ /sbin/shorewall start 1>/dev/null
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping shorewall"
+ /sbin/shorewall stop 1>/dev/null
+ eend $?
+}
+
+restart() {
+ # shorewall comes with its own control script that includes a
+ # restart function, so refrain from calling svc_stop/svc_start
+ # here. Note that this comment is required to fix bug 55576;
+ # runscript.sh greps this script... (09 Jul 2004 agriffis)
+
+ ebegin "Restarting shorewall"
+ /sbin/shorewall status 1>/dev/null
+ if [ $? != 0 ] ; then
+ svc_start
+ else
+ /sbin/shorewall restart 1>/dev/null
+ fi
+ eend $?
+}
+
+clear() {
+ # clear will remove all the rules and bring the system to an unfirewalled
+ # state. (21 Nov 2004 eldad)
+
+ ebegin "Clearing all shorewall rules and setting policy to ACCEPT"
+ /sbin/shorewall clear 1>/dev/null
+ eend $?
+}
+
+reset() {
+ # reset the packet and byte counters in the firewall
+
+ ebegin "Resetting the packet and byte counters in shorewall"
+ /sbin/shorewall reset 1>/dev/null
+ eend $?
+}
+
+refresh() {
+ # refresh the rules involving the broadcast addresses of firewall
+ # interfaces, the black list, traffic control rules and
+ # ECN control rules
+
+ ebegin "Refreshing shorewall rules"
+ /sbin/shorewall refresh 1>/dev/null
+ eend $?
+}
+
+check() {
+ # perform cursory validation of the zones, interfaces, hosts, rules
+ # and policy files. CAUTION: does not parse and validate the generated
+ # iptables commands.
+
+ ebegin "Checking shorewall configuration"
+ /sbin/shorewall check 1>/dev/null
+ eend $?
+}
diff --git a/net-firewall/shorewall/files/4.5.18-r1/shorewall.systemd b/net-firewall/shorewall/files/4.5.18-r1/shorewall.systemd
new file mode 100644
index 000000000000..bd4638d5dfaf
--- /dev/null
+++ b/net-firewall/shorewall/files/4.5.18-r1/shorewall.systemd
@@ -0,0 +1,20 @@
+#
+# The Shoreline Firewall (Shorewall) Packet Filtering Firewall - V4.4
+#
+# Copyright 2011 Jonathan Underwood (jonathan.underwood@gmail.com)
+#
+[Unit]
+Description=Shorewall IPv4 firewall
+After=syslog.target
+After=network.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+EnvironmentFile=/etc/shorewall
+StandardOutput=syslog
+ExecStart=/sbin/shorewall $OPTIONS start
+ExecStop=/sbin/shorewall $OPTIONS stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-firewall/shorewall/files/4.5.18-r1/shorewallrc_new b/net-firewall/shorewall/files/4.5.18-r1/shorewallrc_new
new file mode 100644
index 000000000000..0f9301cfeb49
--- /dev/null
+++ b/net-firewall/shorewall/files/4.5.18-r1/shorewallrc_new
@@ -0,0 +1,22 @@
+#
+# Gentoo Shorewall 4.5 rc file
+#
+BUILD= #Default is to detect the build system
+HOST=linux #Generic Linux
+PREFIX=@GENTOO_PORTAGE_EPREFIX@/usr #Top-level directory for shared files, libraries, etc.
+SHAREDIR=${PREFIX}/share #Directory for arch-neutral files.
+LIBEXECDIR=${PREFIX}/share #Directory for executable scripts.
+PERLLIBDIR=${PREFIX}/share/shorewall #Directory to install Shorewall Perl module directory
+CONFDIR=@GENTOO_PORTAGE_EPREFIX@/etc #Directory where subsystem configurations are installed
+SBINDIR=@GENTOO_PORTAGE_EPREFIX@/sbin #Directory where system administration programs are installed
+MANDIR=${PREFIX}/share/man #Directory where manpages are installed.
+INITDIR=${CONFDIR}/init.d #Directory where SysV init scripts are installed.
+INITFILE=${PRODUCT} #Name of the product's installed SysV init script
+INITSOURCE=init.gentoo.sh #Name of the distributed file to be installed as the SysV init script
+ANNOTATED= #If non-zero, annotated configuration files are installed
+SYSTEMD=@GENTOO_PORTAGE_EPREFIX@/usr/lib/systemd/system #Directory where .service files are installed (systems running systemd only)
+SYSCONFFILE= #Name of the distributed file to be installed in $SYSCONFDIR
+SYSCONFDIR=${CONFDIR}/conf.d #Directory where SysV init parameter files are installed
+SPARSE= #If non-empty, only install $PRODUCT/$PRODUCT.conf in $CONFDIR
+VARLIB=@GENTOO_PORTAGE_EPREFIX@/var/lib #Directory where product variable data is stored.
+VARDIR=${VARLIB}/${PRODUCT} #Directory where product variable data is stored.
diff --git a/net-firewall/shorewall/shorewall-4.5.18-r1.ebuild b/net-firewall/shorewall/shorewall-4.5.18-r1.ebuild
new file mode 100644
index 000000000000..2db3d46070e6
--- /dev/null
+++ b/net-firewall/shorewall/shorewall-4.5.18-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-firewall/shorewall/shorewall-4.5.18-r1.ebuild,v 1.1 2013/09/22 13:16:04 constanze Exp $
+
+EAPI="5"
+
+inherit eutils prefix systemd versionator
+
+# Select version (stable, RC, Beta):
+MY_PV_TREE=$(get_version_component_range 1-2) # for devel versions use "development/$(get_version_component_range 1-2)"
+MY_PV_BASE=$(get_version_component_range 1-3)
+
+MY_P="${PN}-${MY_PV_BASE}"
+MY_P_DOCS="${P/${PN}/${PN}-docs-html}"
+
+DESCRIPTION="Shoreline Firewall is an iptables-based firewall for Linux."
+HOMEPAGE="http://www.shorewall.net/"
+SRC_URI="http://www1.shorewall.net/pub/${PN}/${MY_PV_TREE}/${MY_P}/${P}.tar.bz2
+ doc? ( http://www1.shorewall.net/pub/${PN}/${MY_PV_TREE}/${MY_P}/${MY_P_DOCS}.tar.bz2 )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="doc"
+
+DEPEND=">=net-firewall/iptables-1.2.4
+ sys-apps/iproute2[-minimal]
+ dev-lang/perl
+ =net-firewall/shorewall-core-${PVR}"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ cp "${FILESDIR}"/${PVR}/shorewallrc_new "${S}"/shorewallrc.gentoo || die "Copying shorewallrc_new failed"
+ eprefixify "${S}"/shorewallrc.gentoo
+
+ cp "${FILESDIR}"/${PVR}/${PN}.initd "${S}"/init.gentoo.sh || die "Copying shorewall.initd failed"
+
+ epatch "${FILESDIR}"/${PVR}/shorewall.conf-SUBSYSLOCK.patch
+ epatch_user
+}
+
+src_configure() {
+ :;
+}
+
+src_compile() {
+ :;
+}
+
+src_install() {
+ keepdir /var/lib/shorewall
+
+ cd "${WORKDIR}/${P}"
+ DESTDIR="${D}" ./install.sh shorewallrc.gentoo || die "install.sh failed"
+ systemd_newunit "${FILESDIR}"/${PVR}/shorewall.systemd 'shorewall.service'
+
+ dodoc changelog.txt releasenotes.txt
+ if use doc; then
+ dodoc -r Samples
+ cd "${WORKDIR}/${MY_P_DOCS}"
+ dohtml -r *
+ fi
+}