diff options
author | Constanze Hausner <constanze@gentoo.org> | 2013-09-22 13:16:04 +0000 |
---|---|---|
committer | Constanze Hausner <constanze@gentoo.org> | 2013-09-22 13:16:04 +0000 |
commit | 290b39d02ea2c84297f558f29da1aae84fa96d44 (patch) | |
tree | 6e3c074c2eb8973097b518467b02cb1d95641f83 /net-firewall/shorewall | |
parent | Bugfix 459316 for 4.5.18; Thanks to Thomas D. (diff) | |
download | gentoo-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')
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 +} |