+diff -ur shorewall-5.2.0.5.orig/shorewall-5.2.0.5/Perl/Shorewall/Chains.pm shorewall-5.2.0.5/shorewall-5.2.0.5/Perl/Shorewall/Chains.pm
+--- shorewall-5.2.0.5.orig/shorewall-5.2.0.5/Perl/Shorewall/Chains.pm 2018-08-05 17:31:09.000000000 +0000
++++ shorewall-5.2.0.5/shorewall-5.2.0.5/Perl/Shorewall/Chains.pm 2018-09-06 15:14:31.187972699 +0000
+@@ -5819,7 +5819,7 @@
+
+ $chain =~ s/[^\w-]//g;
+ # $1 $2 - $3
+- while ( $condition =~ m( ^(.*?) @({)?(?:0|chain)(?(2)}) (.*)$ )x ) {
++ while ( $condition =~ m( ^(.*?) @(\{)?(?:0|chain)(?(2)}) (.*)$ )x ) {
+ $condition = join( '', $1, $chain, $3 );
+ }
+
+diff -ur shorewall-5.2.0.5.orig/shorewall-5.2.0.5/Perl/Shorewall/Config.pm shorewall-5.2.0.5/shorewall-5.2.0.5/Perl/Shorewall/Config.pm
+--- shorewall-5.2.0.5.orig/shorewall-5.2.0.5/Perl/Shorewall/Config.pm 2018-08-05 17:31:09.000000000 +0000
++++ shorewall-5.2.0.5/shorewall-5.2.0.5/Perl/Shorewall/Config.pm 2018-09-06 15:14:25.806972759 +0000
+@@ -2833,7 +2833,7 @@
+ }
+
+ # $1 $2 $3 - $4
+- while ( $expression =~ m( ^(.*?) \$({)? (\d+|[a-zA-Z_]\w*) (?(2)}) (.*)$ )x ) {
++ while ( $expression =~ m( ^(.*?) \$(\{)? (\d+|[a-zA-Z_]\w*) (?(2)}) (.*)$ )x ) {
+ my ( $first, $var, $rest ) = ( $1, $3, $4);
+
+ if ( $var =~ /^\d+$/ ) {
+@@ -2850,7 +2850,7 @@
+
+ if ( $chain ) {
+ # $1 $2 $3 - $4
+- while ( $expression =~ m( ^(.*?) \@({)? (\d+|[a-zA-Z]\w*) (?(2)}) (.*)$ )x ) {
++ while ( $expression =~ m( ^(.*?) \@(\{)? (\d+|[a-zA-Z]\w*) (?(2)}) (.*)$ )x ) {
+ my ( $first, $var, $rest ) = ( $1, $3, $4);
+ $var = numeric_value( $var ) if $var =~ /^\d/;
+ $val = $var ? $actparams{$var} : $chain;
+@@ -2861,7 +2861,7 @@
+ }
+
+ # $1 $2 $3 - $4
+- while ( $expression =~ m( ^(.*?) __({)? (\w+) (?(2)}) (.*)$ )x ) {
++ while ( $expression =~ m( ^(.*?) __(\{)? (\w+) (?(2)}) (.*)$ )x ) {
+ my ( $first, $cap, $rest ) = ( $1, $3, $4);
+
+ if ( exists $capdesc{$cap} ) {
+@@ -3791,7 +3791,7 @@
+ my ( $lineref, $count ) = ( $_[0], 0 );
+ my $chain = $actparams{chain};
+ # $1 $2 $3 - $4
+- while ( $$lineref =~ m( ^(.*?) \$({)? (\d+|[a-zA-Z_]\w*) (?(2)}) (.*)$ )x ) {
++ while ( $$lineref =~ m( ^(.*?) \$(\{)? (\d+|[a-zA-Z_]\w*) (?(2)}) (.*)$ )x ) {
+
+ my ( $first, $var, $rest ) = ( $1, $3, $4);
+
+@@ -3830,7 +3830,7 @@
+ #
+ $$lineref =~ s/\\@/??/g;
+ # $1 $2 $3 - $4
+- while ( $$lineref =~ m( ^(.*?) \@({)? (\d+|[a-zA-Z_]\w*) (?(2)}) (.*)$ )x ) {
++ while ( $$lineref =~ m( ^(.*?) \@(\{)? (\d+|[a-zA-Z_]\w*) (?(2)}) (.*)$ )x ) {
+ my ( $first, $var, $rest ) = ( $1, $3, $4);
+ my $val = $var ? $actparams{$var} : $actparams{chain};
+ $usedcaller = USEDCALLER if $var eq 'caller';
+@@ -3846,7 +3846,7 @@
+ sub expand_shorewallrc_variables( \$ ) {
+ my ( $lineref, $count ) = ( $_[0], 0 );
+ # $1 $2 $3 - $4
+- while ( $$lineref =~ m( ^(.*?) \$({)? (\d+|[a-zA-Z]\w*) (?(2)}) (.*)$ )x ) {
++ while ( $$lineref =~ m( ^(.*?) \$(\{)? (\d+|[a-zA-Z]\w*) (?(2)}) (.*)$ )x ) {
+
+ my ( $first, $var, $rest ) = ( $1, $3, $4);
+