From a84441f6eedf9947475d0deb5ae97323c58bc73a Mon Sep 17 00:00:00 2001 From: teastep Date: Wed, 21 Jun 2006 20:53:11 +0000 Subject: [PATCH] Don't defer processing of chain/action-specific extension scripts until run-time -- Take 2 git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@4154 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb --- Shorewall/compiler | 2 +- docs/shorewall_extension_scripts.xml | 31 +++++++++++++++++++--------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/Shorewall/compiler b/Shorewall/compiler index fd0ccc372..26df43df7 100755 --- a/Shorewall/compiler +++ b/Shorewall/compiler @@ -3696,7 +3696,7 @@ process_action_file() # $1 = File Name local user_exit=$(find_file $1) if [ -f $user_exit ]; then - progress_message2 "Processing $user_exit ..." + progress_message "Processing $user_exit ..." . $user_exit fi diff --git a/docs/shorewall_extension_scripts.xml b/docs/shorewall_extension_scripts.xml index 95525ce7b..f24fce639 100644 --- a/docs/shorewall_extension_scripts.xml +++ b/docs/shorewall_extension_scripts.xml @@ -15,7 +15,7 @@ - 2006-03-24 + 2006-06-21 2001-2006 @@ -238,15 +238,16 @@ Shorewall version 3.2.0 and later only. When compiling your firewall configuration, Shorewall - copies extension scripts directly into the "compiled" program where they - are executed in-line during processing of the start, restart and restore - commands. When copying a script, Shorewall indents the script to match - the surrounding code; if you have 'awk' installed on the system where - the configuration is being compiled, Shorewall can correctly handle line - continuation in your script ("\" as the last character on a line). If - you do not have awk, you may not use line continuation in your scripts. - Also beware that quoted strings continued from one line to another will - have extra whitespace inserted as a result of indentation. + copies most extension scripts directly into the "compiled" program where + they are executed in-line during processing of the start, restart and + restore commands. When copying a script, Shorewall indents the script to + match the surrounding code; if you have 'awk' installed on the system + where the configuration is being compiled, Shorewall can correctly + handle line continuation in your script ("\" as the last character on a + line). If you do not have awk, you may not use line continuation in your + scripts. Also beware that quoted strings continued from one line to + another will have extra whitespace inserted as a result of + indentation. The /etc/shorewall/params script is @@ -260,6 +261,16 @@ you use the shorewall compile command to compile a program then run that program at a later time. + + + Extension scripts associated with a particular chain or action + are not copied into the compiled script; they are rather processed + directly by the compiler using the Bourne shell "." command. For + example, if A is an action then if /etc/shorewall/A exists then it will be + processed by the compiler rather than copied into the compiled + script. +