Private
Server IP : 195.201.23.43  /  Your IP : 18.188.159.66
Web Server : Apache
System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64
User : kdecoratie ( 1041)
PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1
Disable Function : 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,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/webmin/fail2ban/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/share/webmin/fail2ban/save_filter.cgi
#!/usr/bin/perl
# Create, update or delete a filter

use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
require './fail2ban-lib.pl';
our (%in, %text, %config);
&ReadParse();
&error_setup($text{'filter_err'});

my ($filter, $def);
if ($in{'new'}) {
	# Create new filter object
	$def = { 'name' => 'Definition',
		 'members' => [ ] };
	$filter = [ $def ];
	}
else {
	# Find existing filter
	($filter) = grep { $_->[0]->{'file'} eq $in{'file'} } &list_filters();
	$filter || &error($text{'filter_egone'});
	($def) = grep { $_->{'name'} eq 'Definition' } @$filter;
	$def || &error($text{'filter_edefgone'});
	}

my $file = $in{'file'};
if ($in{'delete'}) {
	# Just delete the filter
	my @users = &find_jail_by_filter($filter);
	@users && &error(&text('filter_einuse',
			join(" ", map { $_->{'name'} } @users)));
	&lock_all_config_files();
	&delete_section($file, $def);
	&unlock_all_config_files();
	}
else {
	# Validate inputs
	my $file;
	if ($in{'new'}) {
		$in{'name'} =~ /^[a-z0-9\_\-]+$/i ||
			&error($text{'filter_ename'});
		$file = "$config{'config_dir'}/filter.d/$in{'name'}.conf";
		-r $file && &error($text{'filter_eclash'});
		}
	$in{'fail'} =~ /\S/ || &error($text{'filter_efail'});

	# Create new section if needed
	&lock_all_config_files();
	if ($in{'new'}) {
		&create_section($file, $def);
		}

	# Save directives within the section
	$in{'fail'} =~ s/\r//g;
	&save_directive("failregex", $in{'fail'}, $def);
	$in{'ignore'} =~ s/\r//g;
	&save_directive("ignoreregex", $in{'ignore'}, $def);

	&unlock_all_config_files();
	}

# Log and redirect
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'update',
	    'filter', &filename_to_name($file));
&redirect("list_filters.cgi");
Private