diff --git a/docs/Actions.xml b/docs/Actions.xml index 1f274578d..6fce15efd 100644 --- a/docs/Actions.xml +++ b/docs/Actions.xml @@ -655,8 +655,55 @@ bar:debug +
+ Using BEGIN PERL .... END PERL in an Action + + The Shorewall compiler provides a set of services that are available + to Perl code embedded in an action file. + + + + Shorewall::Config::get_action_params( $ ) + + + This function returns an array containing the functions + parameters. The scalar argument is the number of parameters that you + expect to be passed. You can ensure that at least this many + parameters are passed by including a DEFAULTS line prior to the + embedded Perl. + + + + + Shorewall::Config::get_action_chain() + + + This function returns a reference to the chain table entry for + the current action chain. + + + + + Shorewall::Config::get_action_logging() + + + Returns a two-element list containing the the log level and + log tag specified when the action was invoked. Note that you must + use this function rather than @loglevel and @logtag within embedded + Perl, as the compiler does not expand Shorewall + Variables within embedded Perl (or embedded shell). + + + + + For an example of using these services, look at the standard action + /usr/share/shorewall/action.dropBroadcast. +
+
- Creating an Action using an Extension Script + Creating an Action using an Extension Script (deprecated in favor + of BEGIN PERL ... END PERL) There may be cases where you wish to create a chain with rules that can't be constructed using the tools defined in the