Shorewall 4.4.16-RC1 is now available for download.

There is one known problem:

1)  If the parameters to an action contain ":", then the @params array
    visible to an extension script for the action is truncated at the
    ":".

That problem is corrected by the attached patch.

        patch /usr/share/shorewall/Shorewall/Rules < COLON-RC1.patch

Thank you for testing,
-Tom
-- 
Tom Eastep        \ When I die, I want to go like my Grandfather who
Shoreline,         \ died peacefully in his sleep. Not screaming like
Washington, USA     \ all of the passengers in his car
http://shorewall.net \________________________________________________
diff --git a/Shorewall/Perl/Shorewall/Rules.pm 
b/Shorewall/Perl/Shorewall/Rules.pm
index 840a5ff..a2ca7a7 100644
--- a/Shorewall/Perl/Shorewall/Rules.pm
+++ b/Shorewall/Perl/Shorewall/Rules.pm
@@ -177,7 +177,7 @@ sub normalize_action_name( $ ) {
 # Produce a recognizable target from a normalized action
 #
 sub externalize( $ ) {
-    my ( $target, $level, $tag, $params ) = split /:/, shift;
+    my ( $target, $level, $tag, $params ) = split /:/, shift, 4;
 
     $target  = join( '', $target, '(', $params , ')' ) if $params;
     $target .= ":$level" if $level && $level ne 'none';
@@ -297,7 +297,7 @@ sub createsimpleactionchain( $ ) {
 sub createactionchain( $ ) {
     my $normalized = shift;
 
-    my ( $target, $level, $tag, $param ) = split /:/, $normalized;
+    my ( $target, $level, $tag, $param ) = split /:/, $normalized, 4;
 
     assert( defined $param );
 
@@ -684,7 +684,7 @@ sub process_rule1 ( $$$$$$$$$$$$$$$$ );
 sub process_action( $) {
     my $chainref = shift;
     my $wholeaction = $chainref->{action};
-    my ( $action, $level, $tag, $param ) = split /:/, $wholeaction;
+    my ( $action, $level, $tag, $param ) = split /:/, $wholeaction, 4;
 
     if ( $targets{$action} & BUILTIN ) {
        $level = '' if $level =~ /none!?/;
@@ -915,7 +915,7 @@ sub process_rule1 ( $$$$$$$$$$$$$$$$ ) {
     my $normalized_target;
     my $normalized_action;
  
-    ( $inaction, undef, undef, undef ) = split /:/, $normalized_action = 
$chainref->{action} if defined $chainref;
+    ( $inaction, undef, undef, undef ) = split /:/, $normalized_action = 
$chainref->{action}, 4 if defined $chainref;
 
     $param = '' unless defined $param;
 

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Shorewall-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shorewall-devel

Reply via email to