diff --git a/Shorewall2/action.template b/Shorewall2/action.template index 86f4d0707..f7c04d97c 100644 --- a/Shorewall2/action.template +++ b/Shorewall2/action.template @@ -24,6 +24,9 @@ # LOG -- Simply log the packet and continue. # QUEUE -- Queue the packet to a user-space # application such as p2pwall. +# CONTINUE -- Discontinue processing this action +# and return to the point where the +# action was invoked. # -- An defined in # /etc/shorewall/actions. The # must appear in that file BEFORE the diff --git a/Shorewall2/firewall b/Shorewall2/firewall index 117aa18b2..48e042c9e 100755 --- a/Shorewall2/firewall +++ b/Shorewall2/firewall @@ -2295,6 +2295,9 @@ process_action() # $1 = action REJECT) target=reject ;; + CONTINUE) + target=RETURN + ;; *) ;; esac @@ -2433,7 +2436,7 @@ process_actions1() { expandv xtarget temp="${xtarget%:*}" case "${temp%<*}" in - ACCEPT|DROP|REJECT|LOG|QUEUE) + ACCEPT|DROP|REJECT|LOG|QUEUE|CONTINUE) ;; *) if list_search $temp $ACTIONS; then diff --git a/Shorewall2/releasenotes.txt b/Shorewall2/releasenotes.txt index 6f7a39d17..0e7138925 100755 --- a/Shorewall2/releasenotes.txt +++ b/Shorewall2/releasenotes.txt @@ -174,5 +174,11 @@ New Features: setting of DISABLE_IPV6=No is assumed in which case, Shorewall will not touch any IPv6 settings except during "shorewall clear". +8) The CONTINUE target is now available in action definitions. CONTINUE + terminates processing of the current action and returns to the point + where that action was invoked. + + +