From 5ef5aa8cdbea403e029edd33e46dbcbc70dd8f8a Mon Sep 17 00:00:00 2001 From: Tom Eastep Date: Tue, 5 Aug 2014 07:34:24 -0700 Subject: [PATCH 1/3] Allow inline matches in an action file Signed-off-by: Tom Eastep --- Shorewall/Perl/Shorewall/Rules.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Shorewall/Perl/Shorewall/Rules.pm b/Shorewall/Perl/Shorewall/Rules.pm index e00c94a5d..59b624fae 100644 --- a/Shorewall/Perl/Shorewall/Rules.pm +++ b/Shorewall/Perl/Shorewall/Rules.pm @@ -1673,9 +1673,11 @@ sub process_action($$) { $origdest = $connlimit = $time = $headers = $condition = $helper = '-'; } else { ($target, $source, $dest, $proto, $ports, $sports, $origdest, $rate, $user, $mark, $connlimit, $time, $headers, $condition, $helper ) - = split_line1( 'action file', + = split_line2( 'action file', \%rulecolumns, - $action_commands ); + $action_commands, + undef, + 1 ); } fatal_error 'TARGET must be specified' if $target eq '-'; From 34ecbb9074bc43255ef3f5eb65c1f365c9250918 Mon Sep 17 00:00:00 2001 From: Tom Eastep Date: Thu, 7 Aug 2014 06:40:34 -0700 Subject: [PATCH 2/3] Correct Cygwin64 detection in the Shorewall installer Signed-off-by: Tom Eastep --- Shorewall/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Shorewall/install.sh b/Shorewall/install.sh index 28d7da069..9c8169cc0 100755 --- a/Shorewall/install.sh +++ b/Shorewall/install.sh @@ -205,7 +205,7 @@ done if [ -z "$BUILD" ]; then case $(uname) in - cygwin*|CYGWIN) + cygwin*|CYGWIN*) BUILD=cygwin ;; Darwin) From d3209ca62403b22974964874f40186cb12d3baff Mon Sep 17 00:00:00 2001 From: Tom Eastep Date: Fri, 8 Aug 2014 08:15:26 -0700 Subject: [PATCH 3/3] Correct handling of a physical name in the provider INTERFACE column Signed-off-by: Tom Eastep --- Shorewall/Perl/Shorewall/Providers.pm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Shorewall/Perl/Shorewall/Providers.pm b/Shorewall/Perl/Shorewall/Providers.pm index 4ad8d859b..49d81e4d0 100644 --- a/Shorewall/Perl/Shorewall/Providers.pm +++ b/Shorewall/Perl/Shorewall/Providers.pm @@ -454,7 +454,14 @@ sub process_a_provider( $ ) { require_capability 'REALM_MATCH', "Configuring multiple providers through one interface", "s"; } - fatal_error "Unknown Interface ($interface)" unless known_interface( $interface ); + my $interfaceref = known_interface( $interface ); + + fatal_error "Unknown Interface ($interface)" unless $interfaceref; + # + # Switch to the logical name if a physical name was passed + # + $interface = $interfaceref->{name}; + fatal_error "A bridge port ($interface) may not be configured as a provider interface" if port_to_bridge $interface; my $physical = get_physical $interface;