diff --git a/Shorewall/Perl/Shorewall/Rules.pm b/Shorewall/Perl/Shorewall/Rules.pm
index 39c60a549..45c66d888 100644
--- a/Shorewall/Perl/Shorewall/Rules.pm
+++ b/Shorewall/Perl/Shorewall/Rules.pm
@@ -361,10 +361,12 @@ sub process_a_policy() {
$default = supplied $param ? normalize_action( $def, 'none', $param ) : normalize_action_name $def;
use_policy_action( $default );
} elsif ( find_macro( $def ) ) {
- $default = join( '.', 'macro', $def ) unless $default =~ /^macro./;
+ $def = join( '.', 'macro', $def ) unless $default =~ /^macro./;
if ( supplied $param ) {
validate_level($param);
- $default = join( ':', $default, $param );
+ $default = join( ':', $def, $param );
+ } else {
+ $default = $def;
}
} else {
fatal_error "Unknown Default Action ($default)";
@@ -1151,7 +1153,10 @@ sub merge_levels ($$) {
sub find_macro( $ )
{
my $macro = $_[0];
- my $macrofile = find_file( $macro =~ /^macro\./ ? $macro : "macro.$macro" );
+
+ $macro =~ s/^macro.//;
+
+ my $macrofile = find_file "macro.$macro";
if ( -f $macrofile ) {
$macros{$macro} = $macrofile;
diff --git a/Shorewall/manpages/shorewall-policy.xml b/Shorewall/manpages/shorewall-policy.xml
index 9662e4ac7..dbd48b4da 100644
--- a/Shorewall/manpages/shorewall-policy.xml
+++ b/Shorewall/manpages/shorewall-policy.xml
@@ -125,8 +125,8 @@
Both actions and macros can have parameters specified. In the
case of a macro, only one parameter is allowed and specifies the log
- level to be applied to each rule in the action; not recommended for
- use.
+ level to be applied to each bare LOG rule (e.g., a rule specifying
+ 'LOG' with no level or tag in the ACTION column).
Possible actions are:
diff --git a/Shorewall6/manpages/shorewall6-policy.xml b/Shorewall6/manpages/shorewall6-policy.xml
index 0d7e6184e..86154322c 100644
--- a/Shorewall6/manpages/shorewall6-policy.xml
+++ b/Shorewall6/manpages/shorewall6-policy.xml
@@ -125,8 +125,8 @@
Both actions and macros can have parameters specified. In the
case of a macro, only one parameter is allowed and specifies the log
- level to be applied to each rule in the action; not recommended for
- use.
+ level to be applied to each bare LOG rule (e.g., a rule specifying
+ 'LOG' with no level or tag in the ACTION column).
Possible actions are: