diff --git a/Shorewall-init/install.sh b/Shorewall-init/install.sh index 26a0403e1..69880aaa0 100755 --- a/Shorewall-init/install.sh +++ b/Shorewall-init/install.sh @@ -23,7 +23,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # -VERSION=4.4.10 +VERSION=4.4.10-RC2 usage() # $1 = exit status { diff --git a/Shorewall-init/shorewall-init.spec b/Shorewall-init/shorewall-init.spec index 1d676c824..cca2d2073 100644 --- a/Shorewall-init/shorewall-init.spec +++ b/Shorewall-init/shorewall-init.spec @@ -1,6 +1,6 @@ %define name shorewall-init %define version 4.4.10 -%define release 0base +%define release 0RC2 Summary: Shorewall-init adds functionality to Shoreline Firewall (Shorewall). Name: %{name} @@ -99,8 +99,8 @@ fi %doc COPYING changelog.txt releasenotes.txt %changelog -* Thu Jun 03 2010 Tom Eastep tom@shorewall.net -- Updated to 4.4.10-0base +* Fri Jun 04 2010 Tom Eastep tom@shorewall.net +- Updated to 4.4.10-0RC2 * Thu May 27 2010 Tom Eastep tom@shorewall.net - Updated to 4.4.10-0RC1 * Wed May 26 2010 Tom Eastep tom@shorewall.net diff --git a/Shorewall-init/uninstall.sh b/Shorewall-init/uninstall.sh index 48535d270..daae7fd0e 100755 --- a/Shorewall-init/uninstall.sh +++ b/Shorewall-init/uninstall.sh @@ -26,7 +26,7 @@ # You may only use this script to uninstall the version # shown below. Simply run this script to remove Shorewall Firewall -VERSION=4.4.10 +VERSION=4.4.10-RC2 usage() # $1 = exit status { diff --git a/Shorewall-lite/install.sh b/Shorewall-lite/install.sh index 37789d6fe..d32ef9bfc 100755 --- a/Shorewall-lite/install.sh +++ b/Shorewall-lite/install.sh @@ -22,7 +22,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # -VERSION=4.4.10 +VERSION=4.4.10-RC2 usage() # $1 = exit status { diff --git a/Shorewall-lite/shorewall-lite.spec b/Shorewall-lite/shorewall-lite.spec index 6d8ced37a..564b829e4 100644 --- a/Shorewall-lite/shorewall-lite.spec +++ b/Shorewall-lite/shorewall-lite.spec @@ -1,6 +1,6 @@ %define name shorewall-lite %define version 4.4.10 -%define release 0base +%define release 0RC2 Summary: Shoreline Firewall Lite is an iptables-based firewall for Linux systems. Name: %{name} @@ -102,8 +102,8 @@ fi %doc COPYING changelog.txt releasenotes.txt %changelog -* Thu Jun 03 2010 Tom Eastep tom@shorewall.net -- Updated to 4.4.10-0base +* Fri Jun 04 2010 Tom Eastep tom@shorewall.net +- Updated to 4.4.10-0RC2 * Thu May 27 2010 Tom Eastep tom@shorewall.net - Updated to 4.4.10-0RC1 * Wed May 26 2010 Tom Eastep tom@shorewall.net diff --git a/Shorewall-lite/uninstall.sh b/Shorewall-lite/uninstall.sh index 65e362acb..2b9ee6b68 100755 --- a/Shorewall-lite/uninstall.sh +++ b/Shorewall-lite/uninstall.sh @@ -26,7 +26,7 @@ # You may only use this script to uninstall the version # shown below. Simply run this script to remove Shorewall Firewall -VERSION=4.4.10 +VERSION=4.4.10-RC2 usage() # $1 = exit status { diff --git a/Shorewall/Perl/Shorewall/Config.pm b/Shorewall/Perl/Shorewall/Config.pm index 70199d64c..381ed9267 100644 --- a/Shorewall/Perl/Shorewall/Config.pm +++ b/Shorewall/Perl/Shorewall/Config.pm @@ -341,7 +341,7 @@ sub initialize( $ ) { EXPORT => 0, STATEMATCH => '-m state --state', UNTRACKED => 0, - VERSION => "4.4.10", + VERSION => "4.4.10-RC2", CAPVERSION => 40408 , ); diff --git a/Shorewall/Perl/Shorewall/Zones.pm b/Shorewall/Perl/Shorewall/Zones.pm index b2af3aceb..a62598b06 100644 --- a/Shorewall/Perl/Shorewall/Zones.pm +++ b/Shorewall/Perl/Shorewall/Zones.pm @@ -1385,18 +1385,37 @@ sub compile_updown() { if ( @$required ) { my $interfaces = join '|', map $interfaces{$_}->{physical}, @$required; - $interfaces =~ s/\+/*/; + my $wildcard = ( $interfaces =~ s/\+/*/ ); emit( "$interfaces)", - ' if [ "$COMMAND" = up ]; then', - ' COMMAND=start', - ' detect_configuration', - ' define_firewall', - ' else', - ' COMMAND=stop', - ' detect_configuration', - ' stop_firewall', - ' fi', + ' if [ "$COMMAND" = up ]; then' ); + + if ( $wildcard ) { + emit( ' if [ "$state" = started ]; then', + ' COMMAND=restart', + ' else', + ' COMMAND=start', + ' fi' ); + } else { + emit( ' COMMAND=start' ); + } + + emit( ' detect_configuration', + ' define_firewall' ); + + if ( $wildcard ) { + emit( ' elif [ "$state" = started ]; then', + ' COMMAND=restart', + ' detect_configuration', + ' define_firewall' ); + } else { + emit( ' else', + ' COMMAND=stop', + ' detect_configuration', + ' stop_firewall' ); + } + + emit( ' fi', ' ;;' ); } diff --git a/Shorewall/install.sh b/Shorewall/install.sh index df7807dff..ca4aa079f 100755 --- a/Shorewall/install.sh +++ b/Shorewall/install.sh @@ -22,7 +22,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # -VERSION=4.4.10 +VERSION=4.4.10-RC2 usage() # $1 = exit status { diff --git a/Shorewall/shorewall.spec b/Shorewall/shorewall.spec index df45aa691..b03bf80de 100644 --- a/Shorewall/shorewall.spec +++ b/Shorewall/shorewall.spec @@ -1,6 +1,6 @@ %define name shorewall %define version 4.4.10 -%define release 0base +%define release 0RC2 Summary: Shoreline Firewall is an iptables-based firewall for Linux systems. Name: %{name} @@ -108,8 +108,8 @@ fi %doc COPYING INSTALL changelog.txt releasenotes.txt Contrib/* Samples %changelog -* Thu Jun 03 2010 Tom Eastep tom@shorewall.net -- Updated to 4.4.10-0base +* Fri Jun 04 2010 Tom Eastep tom@shorewall.net +- Updated to 4.4.10-0RC2 * Thu May 27 2010 Tom Eastep tom@shorewall.net - Updated to 4.4.10-0RC1 * Wed May 26 2010 Tom Eastep tom@shorewall.net diff --git a/Shorewall/uninstall.sh b/Shorewall/uninstall.sh index f84130820..8cf82dbf0 100755 --- a/Shorewall/uninstall.sh +++ b/Shorewall/uninstall.sh @@ -26,7 +26,7 @@ # You may only use this script to uninstall the version # shown below. Simply run this script to remove Shorewall Firewall -VERSION=4.4.10 +VERSION=4.4.10-RC2 usage() # $1 = exit status { diff --git a/Shorewall6-lite/install.sh b/Shorewall6-lite/install.sh index fd9ae4a39..c9b4a2b61 100755 --- a/Shorewall6-lite/install.sh +++ b/Shorewall6-lite/install.sh @@ -22,7 +22,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # -VERSION=4.4.10 +VERSION=4.4.10-RC2 usage() # $1 = exit status { diff --git a/Shorewall6-lite/shorewall6-lite.spec b/Shorewall6-lite/shorewall6-lite.spec index c07bf41c8..6b11d0307 100644 --- a/Shorewall6-lite/shorewall6-lite.spec +++ b/Shorewall6-lite/shorewall6-lite.spec @@ -1,6 +1,6 @@ %define name shorewall6-lite %define version 4.4.10 -%define release 0base +%define release 0RC2 Summary: Shoreline Firewall 6 Lite is an ip6tables-based firewall for Linux systems. Name: %{name} @@ -93,8 +93,8 @@ fi %doc COPYING changelog.txt releasenotes.txt %changelog -* Thu Jun 03 2010 Tom Eastep tom@shorewall.net -- Updated to 4.4.10-0base +* Fri Jun 04 2010 Tom Eastep tom@shorewall.net +- Updated to 4.4.10-0RC2 * Thu May 27 2010 Tom Eastep tom@shorewall.net - Updated to 4.4.10-0RC1 * Wed May 26 2010 Tom Eastep tom@shorewall.net diff --git a/Shorewall6-lite/uninstall.sh b/Shorewall6-lite/uninstall.sh index a5f83ec9c..5f6333ad7 100755 --- a/Shorewall6-lite/uninstall.sh +++ b/Shorewall6-lite/uninstall.sh @@ -26,7 +26,7 @@ # You may only use this script to uninstall the version # shown below. Simply run this script to remove Shorewall Firewall -VERSION=4.4.10 +VERSION=4.4.10-RC2 usage() # $1 = exit status { diff --git a/Shorewall6/install.sh b/Shorewall6/install.sh index 3b1dd5c7a..2e7349eb8 100755 --- a/Shorewall6/install.sh +++ b/Shorewall6/install.sh @@ -22,7 +22,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # -VERSION=4.4.10 +VERSION=4.4.10-RC2 usage() # $1 = exit status { diff --git a/Shorewall6/shorewall6.spec b/Shorewall6/shorewall6.spec index ad594a4ec..a75d4a984 100644 --- a/Shorewall6/shorewall6.spec +++ b/Shorewall6/shorewall6.spec @@ -1,6 +1,6 @@ %define name shorewall6 %define version 4.4.10 -%define release 0base +%define release 0RC2 Summary: Shoreline Firewall 6 is an ip6tables-based firewall for Linux systems. Name: %{name} @@ -98,8 +98,8 @@ fi %doc COPYING INSTALL changelog.txt releasenotes.txt tunnel ipsecvpn ipv6 Samples6 %changelog -* Thu Jun 03 2010 Tom Eastep tom@shorewall.net -- Updated to 4.4.10-0base +* Fri Jun 04 2010 Tom Eastep tom@shorewall.net +- Updated to 4.4.10-0RC2 * Thu May 27 2010 Tom Eastep tom@shorewall.net - Updated to 4.4.10-0RC1 * Wed May 26 2010 Tom Eastep tom@shorewall.net diff --git a/Shorewall6/uninstall.sh b/Shorewall6/uninstall.sh index 5e7d8806d..7aeae0584 100755 --- a/Shorewall6/uninstall.sh +++ b/Shorewall6/uninstall.sh @@ -26,7 +26,7 @@ # You may only use this script to uninstall the version # shown below. Simply run this script to remove Shorewall Firewall -VERSION=4.4.10 +VERSION=4.4.10-RC2 usage() # $1 = exit status {