HEX
Server: Apache/2.4.65 (Debian)
System: Linux web6 5.10.0-36-amd64 #1 SMP Debian 5.10.244-1 (2025-09-29) x86_64
User: innocamp (1028)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/share/shorewall/action.SetEvent
#
# Shorewall -- /usr/share/shorewall/action.SetEvent
#
# Set an Event
#
# Parameters:
#
# Event       - Must start with a letter and be composed of letters, digits,
#               '-', and '_'.
# Action      - Action to perform after setting the event. Default is ACCEPT
# Src or Dest - 'src' (default) or 'dst'. Determines if the event is
#               associated with the source address (src) or destination
#               address (dst)
# Disposition - Disposition for any event generated.
#
# For additional information, see http://www.shorewall.net/Events.html
#

DEFAULTS -,ACCEPT,src

?begin perl

use Shorewall::Config;
use Shorewall::Chains;
use Shorewall::Rules;
use strict;

my ( $event, $action, $destination, $disposition ) = get_action_params( 4 );

require_capability 'RECENT_MATCH', 'Use of events', 's';
require_capability 'MARK_ANYWHERE', 'Use of events', 's';

fatal_error "An event name is required"          unless supplied $event;
fatal_error "Invalid event name ($event)"        unless $event =~ /^[a-zA-z][-\w]*$/;
fatal_error "Invalid Src or Dest ($destination)" unless $destination =~ /^(?:src|dst)$/;

set_action_disposition( $disposition) if supplied $disposition;
set_action_name_to_caller;

if ( ( $targets{$action} || 0 ) & NATRULE ) {
    perl_action_helper( "${action}-", "" );
    $action = 'ACCEPT';
}

if ( $destination eq 'dst' ) {
    perl_action_helper( $action, '', '', "-m recent --name $event --set --rdest" );
} else {
    perl_action_helper( $action, '', '', "-m recent --name $event --set --rsource" );
}

1;

?end perl