Linux mail.vriendennsm.nl 6.1.0-51-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.177-1 (2026-07-16) x86_64
Apache/2.4.68 (Debian)
Server IP : 217.154.75.17 & Your IP : 216.73.216.195
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
usermin /
htaccess /
Delete
Unzip
Name
Size
Permission
Date
Action
images
[ DIR ]
drwxr-xr-x
2026-07-25 20:55
lang
[ DIR ]
drwxr-xr-x
2026-07-25 20:55
ulang
[ DIR ]
drwxr-xr-x
2026-07-25 20:55
apache-lib.pl
71.21
KB
-rwxr-xr-x
2026-07-19 16:26
auth-lib.pl
3.09
KB
-rwxr-xr-x
2026-07-19 16:26
autoindex.pl
9.54
KB
-rwxr-xr-x
2026-07-19 16:26
browsermatch.pl
2.15
KB
-rwxr-xr-x
2026-07-19 16:26
cache.pl
3
KB
-rwxr-xr-x
2026-07-19 16:26
change_files.cgi
976
B
-rwxr-xr-x
2026-07-19 16:28
config
52
B
-rw-r--r--
2026-07-19 16:26
config.info
148
B
-rw-r--r--
2026-07-19 16:26
config.info.ca
179
B
-rwxr-xr-x
2026-07-19 16:26
config.info.de
166
B
-rw-r--r--
2026-07-19 16:26
config.info.nl
148
B
-rwxr-xr-x
2026-07-19 16:26
config.info.no
153
B
-rw-r--r--
2026-07-19 16:26
core.pl
49.12
KB
-rwxr-xr-x
2026-07-19 16:26
create.cgi
463
B
-rwxr-xr-x
2026-07-19 16:28
create_files.cgi
586
B
-rwxr-xr-x
2026-07-19 16:28
defaultuconfig
34
B
-rw-r--r--
2026-07-19 16:26
delete_htaccess.cgi
248
B
-rwxr-xr-x
2026-07-19 16:28
edit_authgroup.cgi
1.44
KB
-rwxr-xr-x
2026-07-19 16:28
edit_authuser.cgi
1.68
KB
-rwxr-xr-x
2026-07-19 16:28
edit_files.cgi
911
B
-rwxr-xr-x
2026-07-19 16:28
edit_htaccess.cgi
820
B
-rwxr-xr-x
2026-07-19 16:28
files_index.cgi
1.93
KB
-rwxr-xr-x
2026-07-19 16:28
find.cgi
739
B
-rwxr-xr-x
2026-07-19 16:28
htaccess-lib.pl
644
B
-rwxr-xr-x
2026-07-19 16:26
htaccess_index.cgi
2.58
KB
-rwxr-xr-x
2026-07-19 16:28
index.cgi
1.32
KB
-rwxr-xr-x
2026-07-19 16:28
list_authgroups.cgi
1.27
KB
-rwxr-xr-x
2026-07-19 16:28
list_authusers.cgi
1.1
KB
-rwxr-xr-x
2026-07-19 16:28
manual_form.cgi
1.71
KB
-rwxr-xr-x
2026-07-19 16:28
manual_save.cgi
945
B
-rwxr-xr-x
2026-07-19 16:28
mod_access.pl
3.19
KB
-rwxr-xr-x
2026-07-19 16:26
mod_actions.pl
2.57
KB
-rwxr-xr-x
2026-07-19 16:26
mod_alias.pl
5.7
KB
-rwxr-xr-x
2026-07-19 16:26
mod_apachessl.pl
13.47
KB
-rwxr-xr-x
2026-07-19 16:26
mod_asis.pl
125
B
-rwxr-xr-x
2026-07-19 16:26
mod_auth.pl
1.88
KB
-rwxr-xr-x
2026-07-19 16:26
mod_auth_basic.pl
983
B
-rwxr-xr-x
2026-07-19 16:26
mod_auth_dbm.pl
1.79
KB
-rwxr-xr-x
2026-07-19 16:26
mod_auth_digest.pl
1.7
KB
-rwxr-xr-x
2026-07-19 16:26
mod_authn_dbm.pl
1.02
KB
-rwxr-xr-x
2026-07-19 16:26
mod_authn_file.pl
838
B
-rwxr-xr-x
2026-07-19 16:26
mod_authz_dbm.pl
1.38
KB
-rwxr-xr-x
2026-07-19 16:26
mod_authz_groupfile.pl
863
B
-rwxr-xr-x
2026-07-19 16:26
mod_authz_host.pl
325
B
-rwxr-xr-x
2026-07-19 16:26
mod_authz_owner.pl
139
B
-rwxr-xr-x
2026-07-19 16:26
mod_autoindex.pl
2.15
KB
-rwxr-xr-x
2026-07-19 16:26
mod_bandwidth.pl
3.86
KB
-rwxr-xr-x
2026-07-19 16:26
mod_browser.pl
274
B
-rwxr-xr-x
2026-07-19 16:26
mod_cache.pl
2.73
KB
-rwxr-xr-x
2026-07-19 16:26
mod_cern_meta.pl
1.13
KB
-rwxr-xr-x
2026-07-19 16:26
mod_cgi.pl
1.26
KB
-rwxr-xr-x
2026-07-19 16:26
mod_dav.pl
1.1
KB
-rwxr-xr-x
2026-07-19 16:26
mod_dir.pl
1.06
KB
-rwxr-xr-x
2026-07-19 16:26
mod_disk_cache.pl
1.03
KB
-rwxr-xr-x
2026-07-19 16:26
mod_env.pl
2.03
KB
-rwxr-xr-x
2026-07-19 16:26
mod_ext_filter.pl
2.63
KB
-rwxr-xr-x
2026-07-19 16:26
mod_imap.pl
2.35
KB
-rwxr-xr-x
2026-07-19 16:26
mod_include.pl
601
B
-rwxr-xr-x
2026-07-19 16:26
mod_info.pl
145
B
-rwxr-xr-x
2026-07-19 16:26
mod_log_agent.pl
1.08
KB
-rwxr-xr-x
2026-07-19 16:26
mod_log_common.pl
1.14
KB
-rwxr-xr-x
2026-07-19 16:26
mod_log_config.pl
4.49
KB
-rwxr-xr-x
2026-07-19 16:26
mod_log_referer.pl
1.59
KB
-rwxr-xr-x
2026-07-19 16:26
mod_mem_cache.pl
1.1
KB
-rwxr-xr-x
2026-07-19 16:26
mod_mime.pl
6.16
KB
-rwxr-xr-x
2026-07-19 16:26
mod_mime_magic.pl
521
B
-rwxr-xr-x
2026-07-19 16:26
mod_negotiation.pl
1.25
KB
-rwxr-xr-x
2026-07-19 16:26
mod_perl.pl
147
B
-rwxr-xr-x
2026-07-19 16:26
mod_php.pl
93
B
-rwxr-xr-x
2026-07-19 16:26
mod_php3.pl
147
B
-rwxr-xr-x
2026-07-19 16:26
mod_php4.pl
2.89
KB
-rwxr-xr-x
2026-07-19 16:26
mod_php5.pl
2.82
KB
-rwxr-xr-x
2026-07-19 16:26
mod_proxy.pl
8.74
KB
-rwxr-xr-x
2026-07-19 16:26
mod_setenvif.pl
3.04
KB
-rwxr-xr-x
2026-07-19 16:26
mod_speling.pl
565
B
-rwxr-xr-x
2026-07-19 16:26
mod_ssl.pl
6.22
KB
-rwxr-xr-x
2026-07-19 16:26
mod_status.pl
542
B
-rwxr-xr-x
2026-07-19 16:26
mod_suexec.pl
1.26
KB
-rwxr-xr-x
2026-07-19 16:26
mod_userdir.pl
2.58
KB
-rwxr-xr-x
2026-07-19 16:26
mod_vhost_alias.pl
2.33
KB
-rwxr-xr-x
2026-07-19 16:26
module.info
182
B
-rw-r--r--
2026-07-19 16:26
module.info.ar
0
B
-rw-r--r--
2026-07-19 16:26
module.info.ar.auto
215
B
-rw-r--r--
2026-07-19 16:26
module.info.bg
0
B
-rw-r--r--
2026-07-19 16:26
module.info.bg.auto
245
B
-rw-r--r--
2026-07-19 16:26
module.info.ca
35
B
-rw-r--r--
2026-07-19 16:26
module.info.ca.auto
130
B
-rw-r--r--
2026-07-19 16:26
module.info.cs
33
B
-rw-r--r--
2026-07-19 16:26
module.info.cs.auto
124
B
-rw-r--r--
2026-07-19 16:26
module.info.da
0
B
-rw-r--r--
2026-07-19 16:26
module.info.da.auto
155
B
-rw-r--r--
2026-07-19 16:26
module.info.de
33
B
-rw-r--r--
2026-07-19 16:26
module.info.de.auto
132
B
-rw-r--r--
2026-07-19 16:26
module.info.el
0
B
-rw-r--r--
2026-07-19 16:26
module.info.el.auto
252
B
-rw-r--r--
2026-07-19 16:26
module.info.es
0
B
-rw-r--r--
2026-07-19 16:26
module.info.es.auto
159
B
-rw-r--r--
2026-07-19 16:26
module.info.eu
0
B
-rw-r--r--
2026-07-19 16:26
module.info.eu.auto
157
B
-rw-r--r--
2026-07-19 16:26
module.info.fa
0
B
-rw-r--r--
2026-07-19 16:26
module.info.fa.auto
223
B
-rw-r--r--
2026-07-19 16:26
module.info.fi
0
B
-rw-r--r--
2026-07-19 16:26
module.info.fi.auto
180
B
-rw-r--r--
2026-07-19 16:26
module.info.fr
0
B
-rw-r--r--
2026-07-19 16:26
module.info.fr.auto
161
B
-rw-r--r--
2026-07-19 16:26
module.info.hr
0
B
-rw-r--r--
2026-07-19 16:26
module.info.hr.auto
147
B
-rw-r--r--
2026-07-19 16:26
module.info.hu
41
B
-rw-r--r--
2026-07-19 16:26
module.info.hu.auto
125
B
-rw-r--r--
2026-07-19 16:26
module.info.it
0
B
-rw-r--r--
2026-07-19 16:26
module.info.it.auto
155
B
-rw-r--r--
2026-07-19 16:26
module.info.ja
0
B
-rw-r--r--
2026-07-19 16:26
module.info.ja.auto
199
B
-rw-r--r--
2026-07-19 16:26
module.info.ko
0
B
-rw-r--r--
2026-07-19 16:26
module.info.ko.auto
170
B
-rw-r--r--
2026-07-19 16:26
module.info.ms
0
B
-rw-r--r--
2026-07-19 16:26
module.info.ms.auto
148
B
-rw-r--r--
2026-07-19 16:26
module.info.nl
28
B
-rw-r--r--
2026-07-19 16:26
module.info.nl.auto
119
B
-rw-r--r--
2026-07-19 16:26
module.info.no
34
B
-rw-r--r--
2026-07-19 16:26
module.info.no.auto
124
B
-rw-r--r--
2026-07-19 16:26
module.info.pl
132
B
-rw-r--r--
2026-07-19 16:26
module.info.pl.auto
119
B
-rw-r--r--
2026-07-19 16:26
module.info.pt
0
B
-rw-r--r--
2026-07-19 16:26
module.info.pt.auto
160
B
-rw-r--r--
2026-07-19 16:26
module.info.pt_BR
0
B
-rw-r--r--
2026-07-19 16:26
module.info.pt_BR.auto
169
B
-rw-r--r--
2026-07-19 16:26
module.info.ru
0
B
-rw-r--r--
2026-07-19 16:26
module.info.ru.auto
218
B
-rw-r--r--
2026-07-19 16:26
module.info.sk
0
B
-rw-r--r--
2026-07-19 16:26
module.info.sk.auto
159
B
-rw-r--r--
2026-07-19 16:26
module.info.sv
0
B
-rw-r--r--
2026-07-19 16:26
module.info.sv.auto
144
B
-rw-r--r--
2026-07-19 16:26
module.info.tr
0
B
-rw-r--r--
2026-07-19 16:26
module.info.tr.auto
163
B
-rw-r--r--
2026-07-19 16:26
module.info.uk
0
B
-rw-r--r--
2026-07-19 16:26
module.info.uk.auto
232
B
-rw-r--r--
2026-07-19 16:26
module.info.zh
0
B
-rw-r--r--
2026-07-19 16:26
module.info.zh.auto
130
B
-rw-r--r--
2026-07-19 16:26
module.info.zh_TW
0
B
-rw-r--r--
2026-07-19 16:26
module.info.zh_TW.auto
138
B
-rw-r--r--
2026-07-19 16:26
mpm_netware.pl
1.34
KB
-rwxr-xr-x
2026-07-19 16:26
mpm_winnt.pl
827
B
-rwxr-xr-x
2026-07-19 16:26
perchild.pl
4.23
KB
-rwxr-xr-x
2026-07-19 16:26
prefork.pl
934
B
-rwxr-xr-x
2026-07-19 16:26
save_authgroup.cgi
1.01
KB
-rwxr-xr-x
2026-07-19 16:28
save_authuser.cgi
1.09
KB
-rwxr-xr-x
2026-07-19 16:28
save_files.cgi
441
B
-rwxr-xr-x
2026-07-19 16:28
save_htaccess.cgi
383
B
-rwxr-xr-x
2026-07-19 16:28
show.cgi
2.97
KB
-rwxr-xr-x
2026-07-19 16:28
uconfig.info
82
B
-rw-r--r--
2026-07-19 16:26
uconfig.info.ca
96
B
-rwxr-xr-x
2026-07-19 16:26
uconfig.info.de
92
B
-rwxr-xr-x
2026-07-19 16:26
uconfig.info.nl
89
B
-rw-r--r--
2026-07-19 16:26
uconfig.info.no
76
B
-rw-r--r--
2026-07-19 16:26
uconfig.info.pl
100
B
-rw-r--r--
2026-07-19 16:26
worker.pl
1.79
KB
-rwxr-xr-x
2026-07-19 16:26
Save
Rename
# mod_proxy.pl # Editors for proxy directives sub mod_proxy_directives { local $rv; $rv = [ [ 'ProxyRequests', 0, 13, 'virtual', undef, 11 ], [ 'ProxyRemote', 1, 13, 'virtual', undef, 7 ], [ 'ProxyPass', 1, 10, 'virtual', undef, 0 ], [ 'ProxyPassReverse', 1, 10, 'virtual', 1.306, 0 ], [ 'ProxyBlock', 1, 13, 'virtual', 1.2, 9 ], [ 'NoProxy', 1, 13, 'virtual', 1.3, 5 ], [ 'ProxyDomain', 0, 13, 'virtual', 1.3, 4 ], [ 'AllowCONNECT', 0, 13, 'virtual', 1.302, 2 ], [ 'CacheRoot', 0, 13, 'virtual', -2.0, 10 ], [ 'CacheSize', 0, 13, 'virtual', -2.0 ], [ 'CacheGcInterval', 0, 13, 'virtual', -2.0 ], [ 'CacheMaxExpire', 0, 13, 'virtual', -2.0 ], [ 'CacheLastModifiedFactor', 0, 13, 'virtual', -2.0 ], [ 'CacheDirLevels', 0, 13, 'virtual', -2.0 ], [ 'CacheDirLength', 0, 13, 'virtual', -2.0 ], [ 'CacheDefaultExpire', 0, 13, 'virtual', -2.0 ], [ 'CacheForceCompletion', 0, 13, 'virtual', '1.301-2.0' ], [ 'NoCache', 1, 13, 'virtual', -2.0, 3 ], [ 'ProxyMaxForwards', 0, 13, 'virtual', 2.0 ], [ 'ProxyPreserveHost', 0, 13, 'virtual', 2.031 ], [ 'ProxyTimeout', 0, 13, 'virtual', 2.031 ], [ 'ProxyPreserveHost', 0, 13, 'virtual', 2.3 ], [ 'ProxyVia', 0, 13, 'virtual', 2.0 ] ]; return &make_directives($rv, $_[0], "mod_proxy"); } require 'cache.pl'; sub edit_ProxyRequests { return (1, $text{'mod_proxy_proxy'}, &choice_input($_[0]->{'value'}, "ProxyRequests", "off", "$text{'yes'},on", "$text{'no'},off")); } sub save_ProxyRequests { return &parse_choice("ProxyRequests", "off"); } sub edit_ProxyRemote { local($rv, $i, $match, $proxy, $max); $rv = "<table border>\n". "<tr $tb> <td><b>$text{'mod_proxy_req'}</b></td> <td><b>$text{'mod_proxy_forw'}</b></td> </tr>\n"; $max = @{$_[0]}+1; for($i=0; $i<$max; $i++) { if ($_[0]->[$i]->{'value'} =~ /^(\S+)\s+(\S+)$/) { $match = $1; $proxy = $2; } else { $match = "*"; $proxy = ""; } $rv .= "<tr $cb>\n"; $rv .= sprintf "<td><input type=radio name=ProxyRemote_match_all_$i value=1 %s> $text{'mod_proxy_all'}\n", $match eq "*" ? "checked" : ""; $rv .= sprintf "<input type=radio name=ProxyRemote_match_all_$i value=0 %s> $text{'mod_proxy_match'}\n", $match eq "*" ? "" : "checked"; $rv .= sprintf "<input name=ProxyRemote_match_$i size=20 value=\"%s\"></td>\n", $match eq "*" ? "" : $match; $rv .= "<td><input name=ProxyRemote_proxy_$i size=20 ". "value=\"$proxy\"></td>\n"; $rv .= "</tr>\n"; } $rv .= "</table>\n"; return (2, $text{'mod_proxy_pass'}, $rv); } sub save_ProxyRemote { local($i, $match, $match_all, $proxy, @rv); for($i=0; defined($proxy = $in{"ProxyRemote_proxy_$i"}); $i++) { $match = $in{"ProxyRemote_match_$i"}; $match_all = $in{"ProxyRemote_match_all_$i"}; if ($match !~ /\S/ && $proxy !~ /\S/) { next; } if ($match_all) { $match = "*"; } elsif ($match !~ /^\S+$/) { &error(&text('mod_proxy_erequest', $match)); } $proxy =~ /^http:\/\/\S+$/ || &error(&text('mod_proxy_epurl', $proxy)); push(@rv, "$match $proxy"); } return ( \@rv ); } sub edit_ProxyPass { return (2, $text{'mod_proxy_map'}, &proxy_pass_input($_[0], "ProxyPass", $_[1])); } sub save_ProxyPass { return &parse_proxy_pass("ProxyPass"); } sub edit_ProxyPassReverse { return (2, $text{'mod_proxy_headers'}, &proxy_pass_input($_[0], "ProxyPassReverse", $_[1])); } sub save_ProxyPassReverse { return &parse_proxy_pass("ProxyPassReverse"); } # proxy_pass_input(&directives, name, &config) sub proxy_pass_input { local($rv, $i, $path, $url, $max); $rv = "<table border>\n". "<tr $tb> <td><b>$text{'mod_proxy_local'}</b></td> <td><b>$text{'mod_proxy_remote'}</b></td> </tr>\n"; $max = @{$_[0]} + 1; for($i=0; $i<$max; $i++) { if ($_[0]->[$i]->{'value'} =~ /^(\S+)\s+(\S+)$/) { $path = $1; $url = $2; } else { $path = $url = ""; } $rv .= "<tr $cb>\n"; $rv .= "<td>".&ui_textbox("$_[1]_path_$i", $path, 20)."</td>\n"; if ($_[2]->{'version'} >= 2.0) { $rv .= "<td>".&ui_opt_textbox("$_[1]_url_$i", $url eq "!" ? undef : $url, 30, $text{'mod_proxy_not'})."</td>\n"; } else { $rv .= "<td>".&ui_textbox("$_[1]_url_$i", $url, 30),"</td>"; } $rv .= "</tr>\n"; } $rv .= "</table>\n"; return $rv; } # parse_proxy_pass(name) sub parse_proxy_pass { local($i, $url, $path, @rv, @notrv); for($i=0; defined($path = $in{"$_[0]_path_$i"}); $i++) { $url = $in{"$_[0]_url_${i}_def"} ? "!" : $in{"$_[0]_url_$i"}; next if (!$path); $path =~ /^\/\S*$/ || &error(&text('mod_proxy_elurl', $path)); $url =~ /^(http|https|balancer|ajp):\/\/(\S+)$/ || $url eq "!" || &error(&text('mod_proxy_erurl', $url)); if ($url eq "!") { push(@notrv, "$path $url"); } else { push(@rv, "$path $url"); } } return ( [ @notrv, @rv ] ); } sub edit_ProxyBlock { local($b, @b); foreach $b (@{$_[0]}) { push(@b, split(/\s+/, $b->{'value'})); } return (2, $text{'mod_proxy_block'}, &opt_input(@b ? join(' ', @b) : undef, "ProxyBlock", $text{'mod_proxy_none3'}, 50)); } sub save_ProxyBlock { return &parse_opt("ProxyBlock", '\S', $text{'mod_proxy_eblock'}); } sub edit_NoProxy { local($n, @n, $i, $rv); foreach $n (@{$_[0]}) { push(@n, split(/\s+/, $n->{'value'})); } $rv = "<table border>\n". "<tr $tb> <td><b>$text{'mod_proxy_type'}</b></td> <td><b>$text{'mod_proxy_noproxy'}</b></td> </tr>\n"; for($i=0; $i<=@n; $i++) { $rv .= "<tr $cb>\n"; if ($i>=@n) { $type = 0; } elsif ($n[$i] =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/) { if ($4 == 0) { $type = 3; } else { $type = 0; } } elsif ($n[$i] =~ /^([0-9\.]+)\/(\d+)$/) { $type = 4; } elsif ($n[$i] =~ /^([0-9\.]+)$/) { $type = 3; } elsif ($n[$i] =~ /^\.(\S+)$/) { $type = 2; } else { $type = 1; } $rv .= "<td>".&select_input($type, "NoProxy_type_$i", 0, "$text{'mod_proxy_ip'},0", "$text{'mod_proxy_host'},1", "$text{'mod_proxy_domain'},2", "$text{'mod_proxy_net'},3", "$text{'mod_proxy_netbit'},4")."</td>\n"; $rv .= "<td><input name=NoProxy_for_$i size=30 value=\"$n[$i]\"></td>\n"; $rv .= "</tr>\n"; } $rv .= "</table>\n"; return (2, $text{'mod_proxy_nopass'}, $rv); } sub save_NoProxy { local($i, $type, $for, @rv); for($i=0; defined($type = $in{"NoProxy_type_$i"}); $i++) { $for = $in{"NoProxy_for_$i"}; if ($for !~ /\S/) { next; } if ($type == 0) { &check_ipaddress($for) || &check_ip6address($for) || &error(&text('mod_proxy_eip', $for)); } elsif ($type == 1) { $for =~ /^[A-z0-9\-][A-z0-9\-\.]+[A-z0-9\-]$/ || &error(&text('mod_proxy_ehost', $for)); } elsif ($type == 2) { $for =~ /^\.[A-z0-9\-\.]+[A-z0-9\-]$/ || &error(&text('mod_proxy_edomain', $for)); } elsif ($type == 3) { if ($for =~ /^(\d+)$/) { $for .= ".0.0.0"; } elsif ($for =~ /^(\d+)\.(\d+)$/) { $for .= ".0.0"; } elsif ($for =~ /^(\d+)\.(\d+)\.(\d+)$/) { $for .= ".0"; } &check_ipaddress($for) || &error(&text('mod_proxy_enet', $for)); } elsif ($type == 4) { ($for =~ /^(\S+)\/(\d+)$/ && (&check_ipaddress($1) || &check_ip6address($1)) && $2 < 32) || &error(&text('mod_proxy_enetbit', $for)); } push(@rv, $for); } return @rv ? ( [ join(' ', @rv) ] ) : ( [ ] ); } sub edit_ProxyDomain { return (1, $text{'mod_proxy_nodomain'}, &opt_input($_[0]->{'value'}, "ProxyDomain", $text{'mod_proxy_none'}, 20)); } sub save_ProxyDomain { return &parse_opt("ProxyDomain", '^[A-z0-9\-]+$', $text{'mod_proxy_enodomain'}); } sub edit_AllowCONNECT { return (1, $text{'mod_proxy_connect'}, &opt_input($_[0]->{'value'}, "AllowCONNECT", $text{'mod_proxy_default'}, 10)); } sub save_AllowCONNECT { return &parse_opt("AllowCONNECT", '^[\d ]+$', $text{'mod_proxy_econnect'}); } sub edit_ProxyMaxForwards { return (1, $text{'mod_proxy_maxfw'}, &opt_input($_[0]->{'value'}, "ProxyMaxForwards", $text{'default'}, 5)); } sub save_ProxyMaxForwards { return &parse_opt("ProxyMaxForwards", '^\d+$', $text{'mod_proxy_emaxfw'}); } sub edit_ProxyPreserveHost { return (1, $text{'mod_proxy_preserve'}, &choice_input($_[0]->{'value'}, "ProxyPreserveHost", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_ProxyPreserveHost { return &parse_choice("ProxyPreserveHost", ""); } sub edit_ProxyTimeout { return (1, $text{'mod_proxy_timeout'}, &opt_input($_[0]->{'value'}, "ProxyTimeout", $text{'default'}, 5)); } sub save_ProxyTimeout { return &parse_opt("ProxyTimeout", '^\d+$', $text{'mod_proxy_etimeout'}); } sub edit_ProxyVia { return (1, $text{'mod_proxy_via'}, &choice_input($_[0]->{'value'}, "ProxyVia", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_ProxyVia { return &parse_choice("ProxyVia", ""); } sub edit_ProxyPreserveHost { return (1, $text{'mod_proxy_preserve'}, &choice_input($_[0]->{'value'}, "ProxyPreserveHost", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_ProxyPreserveHost { return &parse_choice("ProxyPreserveHost", ""); } 1;