Server IP : 195.201.23.43 / Your IP : 52.14.94.195 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/qmailadmin/ |
Upload File : |
#!/usr/bin/perl # save_alias.cgi # Save or delete a new or existing alias require './qmail-lib.pl'; &ReadParse(); &error_setup($text{'asave_err'}); @aliases = &list_aliases(); foreach $ex (@aliases) { $exists{lc($ex)}++; } $a = &get_alias($in{'old'}); if ($in{'delete'}) { # delete some alias $loga = $a; &delete_alias($a); } else { # saving or creating .. check inputs $in{'name'} =~ /^[^:@ ]+$/ || &error(&text('asave_eaddr', $in{'name'})); local $n = $in{'name'}; $n =~ s/\./:/g; if ($in{'virt'}) { $in{'virt'} =~ s/\./:/g; $n = $in{'virt'}.'-'.$n; } if ($in{'new'} || lc($a->{'name'}) ne lc($n)) { # is this name taken? $exists{$n} && &error(&text('asave_ealready', $in{'name'})); } for($i=0; defined($t = $in{"type_$i"}); $i++) { $v = $in{"val_$i"}; if ($t == 1 && $v !~ /^(\S+)$/) { &error(&text('asave_etype1', $v)); } elsif ($t == 2 && $v !~ /^\/(\S+)[^\/\s]$/) { &error(&text('asave_etype2', $v)); } elsif ($t == 3 && $v !~ /^\/(\S+)[^\/\s]$/) { &error(&text('asave_etype3', $v)); } elsif ($t == 4) { $v =~ /^(\S+)/ || &error($text{'asave_etype4none'}); -x $1 || &error(&text('asave_etype4', "$1")); } elsif ($t == 5 && $v !~ /^\/\S+$/) { &error(&text('asave_etype5', $v)); } elsif ($t == 6 && $v !~ /^\/\S+$/) { &error(&text('asave_etype6', $v)); } if ($t == 1) { push(@values, "&$v"); } elsif ($t == 2) { push(@values, "$v/"); } elsif ($t == 3) { push(@values, "$v"); } elsif ($t == 4) { push(@values, "|$v"); } elsif ($t == 5) { # Setup autoreply script push(@values, "|$module_config_directory/autoreply.pl ". "$v $in{'name'}"); &system_logged("cp autoreply.pl $module_config_directory"); &system_logged("chmod 755 $module_config_directory/config"); } elsif ($t == 6) { # Setup filter script push(@values, "|$module_config_directory/filter.pl ". "$v $in{'name'}"); &system_logged("cp filter.pl $module_config_directory"); &system_logged("chmod 755 $module_config_directory/config"); } } $newa{'name'} = $n; $newa{'values'} = \@values; if ($in{'new'}) { &create_alias(\%newa); } else { &modify_alias($a, \%newa); } $loga = \%newa; } &webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify', "alias", $loga->{'name'}, $loga); &redirect("list_aliases.cgi");Private