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
# nodo50 v0.1 - Change 000003 - New Script. Define Editors for mod_apachessl directives (Apache-ssl not use mod_ssl) # nodo50 v0.1 - Change 000003 - Nuevo Script. Define edici�n de directivas de mod_apachessl (Apache-ssl no usa mod_ssl) # mod_apachessl.pl (http://www.apache-ssl.org/) # Defines editors for mod_apachessl directives sub mod_apachessl_directives { local($rv); $rv = [ [ 'SSLCacheServerPath', 0, 14, 'global', undef, 59 ], [ 'SSLCacheServerPort', 0, 14, 'global', 1.3, 58 ], [ 'SSLCacheServerRunDir', 0, 14, 'global', undef, 57 ], [ 'SSLRandomFile', 0, 14, 'global', 1.3, 56 ], [ 'SSLRandomFilePerConnection', 0, 14, 'global', 1.3, 55 ], [ 'SSLEnable SSLDisable', 0, 14, 'virtual', undef, 49 ], [ 'SSLNoV2', 0, 14, 'virtual', 1.3, 48 ], [ 'SSLRequireSSL SSLDenySSL', 0, 14, 'virtual directory htaccess', 1.3, 47 ], [ 'SSLCertificateFile', 0, 14, 'virtual', undef, 39 ], [ 'SSLCertificateKeyFile', 0, 14, 'virtual', undef, 38 ], [ 'SSLNoCAList', 0, 14, 'virtual', 1.3, 37 ], [ 'SSLCACertificatePath', 0, 14, 'virtual', undef, 36 ], [ 'SSLCACertificateFile', 0, 14, 'virtual', undef, 35 ], [ 'SSLVerifyClient', 0, 14, 'virtual', undef, 29 ], [ 'SSLVerifyDepth', 0, 14, 'virtual', undef, 28 ], [ 'SSLExportClientCertificates', 0, 14, 'virtual directory htaccess', undef, 27 ], [ 'SSLSessionCacheTimeout', 0, 14, 'virtual', undef, 26 ], [ 'SSLCheckClientDN', 0, 14, 'virtual', 1.3, 25 ], [ 'SSLFakeBasicAuth', 0, 14, 'virtual', undef, 24 ], [ 'SSLUseCRL', 0, 14, 'virtual', undef, 23 ], [ 'SSLCRLCheckAll', 0, 14, 'virtual', 1.3, 22 ], [ 'SSLOnNoCRLSetEnv', 0, 14, 'virtual', 1.3, 21 ], [ 'SSLOnCRLExpirySetEnv', 0, 14, 'virtual', 1.3, 20 ], [ 'SSLOnRevocationSetEnv', 0, 14, 'virtual', 1.3, 19 ], [ 'SSLRequiredCiphers', 0, 14, 'virtual', undef, 3 ], [ 'SSLRequireCipher', 0, 14, 'virtual directory htaccess', undef, 2 ], [ 'SSLBanCipher', 0, 14, 'virtual directory htaccess', undef, 1 ] ]; return &make_directives($rv, $_[0], "mod_apachessl"); } sub edit_SSLCacheServerPath { return (2, $text{'mod_apachessl_cachepaht'}, &opt_input($_[0]->{'value'}, "SSLCacheServerPath", $text{'mod_ssl_default'}, 35). &file_chooser_button("SSLCacheServerPath", 0));SSLRandomFile } sub save_SSLCacheServerPath { return &parse_opt("SSLCacheServerPath", '\S', $text{'mod_apachessl_ecachepath'}); } sub edit_SSLCacheServerPort { return (2, $text{'mod_apachessl_cacheport'}, &opt_input($_[0]->{'value'}, "SSLCacheServerPort", $text{'mod_ssl_default'}, 35). &file_chooser_button("SSLCacheServerPort", 0)); } sub save_SSLCacheServerPort { return $in{SSLCacheServerPort} =~ /^\d+$/ ? &parse_opt("SSLCacheServerPort", '^\d+$', $text{'mod_apachessl_ecacheport'}) : &parse_opt("SSLCacheServerPort", '\S', $text{'mod_apachessl_ecacheport'}); } sub edit_SSLCacheServerRunDir { return (2, $text{'mod_apachessl_cacherundir'}, &opt_input($_[0]->{'value'}, "SSLCacheServerRunDir", $text{'mod_ssl_default'}, 35). &file_chooser_button("SSLCacheServerRunDir", 0)); } sub save_SSLCacheServerRunDir { return &parse_opt("SSLCacheServerRunDir", '\S', $text{'mod_apachessl_ecacherundir'}); } sub edit_SSLRandomFile { local @sel = split(/\ /, $_[0]->{'value'}); return (2, $text{'mod_apachessl_ramdomfile'}, &choice_input($sel[0], "SSLRandomFile", "", "$text{'mod_ssl_default'},", "$text{'mod_apachessl_ramdomfilef'},file", "$text{'mod_apachessl_ramdomfilee'},egd"). '<input name=SSLRandomFileF size=35 value='.$sel[1].'>'. &file_chooser_button("SSLRandomFileF", 0). '<input name=SSLRandomFileB size=10 value='.$sel[2].'> bytes'); } sub save_SSLRandomFile { if (!$in{SSLRandomFile}) { return ( [ ] ); } if ($in{SSLRandomFileF} !~ /\S/) { &error($text{'mod_apachessl_eramdomfilef'}); } if ($in{SSLRandomFileB} !~ /^\d+$/) { &error($text{'mod_apachessl_eramdomfileb'}); } return ( [ $in{SSLRandomFile}.' '.$in{SSLRandomFileF}.' '.$in{SSLRandomFileB} ] ); } sub edit_SSLRandomFilePerConnection { local @sel = split(/\ /, $_[0]->{'value'}); return (2, $text{'mod_apachessl_ramdomfilepc'}, &choice_input($sel[0], "SSLRandomFilePerConnection", "", "$text{'mod_ssl_default'},", "$text{'mod_apachessl_ramdomfilef'},file", "$text{'mod_apachessl_ramdomfilee'},egd"). '<input name=SSLRandomFilePerConnectionF size=35 value='.$sel[1].'>'. &file_chooser_button("SSLRandomFileF", 0). '<input name=SSLRandomFilePerConnectionB size=10 value='.$sel[2].'> bytes'); } sub save_SSLRandomFilePerConnection { if (!$in{SSLRandomFilePerConnection}) { return ( [ ] ); } if ($in{SSLRandomFilePerConnectionF} !~ /\S/) { &error($text{'mod_apachessl_eramdomfilef'}); } if ($in{SSLRandomFilePerConnectionB} !~ /^\d+$/) { &error($text{'mod_apachessl_eramdomfileb'}); } return ( [ $in{SSLRandomFilePerConnection}.' '.$in{SSLRandomFilePerConnectionF}.' '.$in{SSLRandomFilePerConnectionB} ] ); } sub edit_SSLEnable_SSLDisable { return (1, $text{'mod_ssl_enable'}, &choice_input($_[0] ? "1" : "0", "SSLEnable", "", "$text{'yes'},1", "$text{'no'},0", "$text{'default'},")); } sub save_SSLEnable_SSLDisable { return $in{'SSLEnable'} ? ( [ "" ], [ ] ) : ( [ ], [ "" ] ); } sub edit_SSLNoV2 { return (1, $text{'mod_apachessl_nov2'}, &choice_input($_[0] ? 1 : 0, "SSLNoV2", "", "$text{'yes'},1", "$text{'no'},0")); } sub save_SSLNoV2 { return $in{'SSLNoV2'} ? ( [ "" ] ) : ( [ ] ); } sub edit_SSLRequireSSL_SSLDenySSL { return (2, $text{'mod_apachessl_forcessl'}, &choice_input($_[0] ? "Require" : $_[1] ? "Deny" : "", "SSLRequireSSL", "", "$text{'mod_ssl_onlyssl'},Require", "$text{'mod_apachessl_notssl'},Deny", "$text{'default'},")); } sub save_SSLRequireSSL_SSLDenySSL { return $in{'SSLRequireSSL'} eq "Require" ? ( [ "" ], [ ] ) : $in{'SSLRequireSSL'} eq "Deny" ? ( [ ], [ "" ]) : ( [ ], [ ] ); } sub edit_SSLCertificateFile { return (2, $text{'mod_ssl_cfile'}, &opt_input($_[0]->{'value'}, "SSLCertificateFile", $text{'mod_ssl_default'}, 35). &file_chooser_button("SSLCertificateFile", 0)); } sub save_SSLCertificateFile { return &parse_opt("SSLCertificateFile", '\S', $text{'mod_ssl_ecfile'}); } sub edit_SSLCertificateKeyFile { return (2, $text{'mod_ssl_kfile'}, &opt_input($_[0]->{'value'}, "SSLCertificateKeyFile", $text{'mod_ssl_default'}, 35). &file_chooser_button("SSLCertificateKeyFile", 0)); } sub save_SSLCertificateKeyFile { return &parse_opt("SSLCertificateKeyFile", '\S', $text{'mod_ssl_ekfile'}); } sub edit_SSLNoCAList { return (1, $text{'mod_apachessl_nocalist'}, &choice_input($_[0] ? 1 : 0, "SSLNoCAList", "", "$text{'yes'},1", "$text{'no'},0")); } sub save_SSLNoCAList { return $in{'SSLNoCAList'} ? ( [ "" ] ) : ( [ ] ); } sub edit_SSLCACertificatePath { return (2, $text{'mod_apachessl_capath'}, &opt_input($_[0]->{'value'}, "SSLCACertificatePath", $text{'mod_ssl_default'}, 35). &file_chooser_button("SSLCACertificatePath", 0)); } sub save_SSLCACertificatePath { return &parse_opt("SSLCACertificatePath", '\S', $text{'mod_ssl_ecfile'}); } sub edit_SSLCACertificateFile { return (2, $text{'mod_apachessl_cafile'}, &opt_input($_[0]->{'value'}, "SSLCACertificateFile", $text{'mod_ssl_default'}, 35). &file_chooser_button("SSLCACertificateFile", 0)); } sub save_SSLCACertificateFile { return &parse_opt("SSLCACertificateFile", '\S', $text{'mod_ssl_ecfile'}); } sub edit_SSLVerifyClient { return (1, $text{'mod_ssl_clcert'}, &select_input($_[0]->{'value'}, "SSLVerifyClient", "", "$text{'default'},", "$text{'mod_ssl_nreq'},", "$text{'mod_ssl_opt'},1", "$text{'mod_ssl_req'},2", "$text{'mod_ssl_optca'},3")); } sub save_SSLVerifyClient { return &parse_select("SSLVerifyClient"); } sub edit_SSLVerifyDepth { return (1, $text{'mod_ssl_cdepth'}, &opt_input($_[0]->{'value'}, "SSLVerifyDepth", $text{'mod_ssl_default'}, 6)); } sub save_SSLVerifyDepth { return &parse_opt("SSLVerifyDepth", '^\d+$', $text{'mod_ssl_ecdepth'}); } sub edit_SSLExportClientCertificates { return (1, $text{'mod_apachessl_exportcert'}, &choice_input($_[0] ? 1 : 0, "SSLExportClientCertificates", "", "$text{'yes'},1", "$text{'no'},0")); } sub save_SSLExportClientCertificates { return $in{'SSLExportClientCertificates'} ? ( [ "" ] ) : ( [ ] ); } sub edit_SSLSessionCacheTimeout { return (1, $text{'mod_apachessl_sesstimeout'}, &opt_input($_[0]->{'value'}, "SSLSessionCacheTimeout", $text{'mod_ssl_default'}, 6)); } sub save_SSLSessionCacheTimeout { return &parse_opt("SSLSessionCacheTimeout", '^\d+$', $text{'mod_ssl_esesstimeout'}); } sub edit_SSLCheckClientDN { return (1, $text{'mod_apachessl_cdnfile'}, &opt_input($_[0]->{'value'}, "SSLCheckClientDN", $text{'mod_ssl_default'}, 35). &file_chooser_button("SSLCheckClientDN", 0)); } sub save_SSLCheckClientDN { return &parse_opt("SSLCheckClientDN", '\S', $text{'mod_apachessl_ecdnfile'}); } sub edit_SSLFakeBasicAuth { return (1, $text{'mod_apachessl_fake'}, &choice_input($_[0] ? 1 : 0, "SSLFakeBasicAuth", "", "$text{'yes'},1", "$text{'no'},0")); } sub save_SSLFakeBasicAuth { return $in{'SSLFakeBasicAuth'} ? ( [ "" ] ) : ( [ ] ); } sub edit_SSLUseCRL { return (1, $text{'mod_apachessl_usecrl'}, &choice_input($_[0] ? 1 : 0, "SSLUseCRL", "", "$text{'yes'},1", "$text{'no'},0")); } sub save_SSLUseCRL { return $in{'SSLUseCRL'} ? ( [ "" ] ) : ( [ ] ); } sub edit_SSLCRLCheckAll { return (1, $text{'mod_apachessl_crlcheckall'}, &choice_input($_[0] ? 1 : 0, "SSLCRLCheckAll", "", "$text{'yes'},1", "$text{'no'},0")); } sub save_SSLCRLCheckAll { return $in{'SSLCRLCheckAll'} ? ( [ "" ] ) : ( [ ] ); } sub edit_SSLOnNoCRLSetEnv { return (1, $text{'mod_apachessl_onnocrl'}, &opt_input($_[0]->{'value'}, "SSLOnNoCRLSetEnv", $text{'mod_ssl_default'}, 6)); } sub save_SSLOnNoCRLSetEnv { return &parse_choice("SSLOnNoCRLSetEnv"); } sub edit_SSLOnCRLExpirySetEnv { return (1, $text{'mod_apachessl_oncrlexpiry'}, &opt_input($_[0]->{'value'}, "SSLOnCRLExpirySetEnv", $text{'mod_ssl_default'}, 6)); } sub save_SSLOnCRLExpirySetEnv { return &parse_choice("SSLOnCRLExpirySetEnv"); } sub edit_SSLOnRevocationSetEnv { return (1, $text{'mod_apachessl_onrevocation'}, &opt_input($_[0]->{'value'}, "SSLOnRevocationSetEnv", $text{'mod_ssl_default'}, 6)); } sub save_SSLOnRevocationSetEnv { return &parse_choice("SSLOnRevocationSetEnv"); } sub edit_SSLRequiredCiphers { local $rows = 3; local $sw = 0; local ($o, $i, $l, $rv); $l = ':'.$_[0]->{'value'}.':'; $rv .= "<table border><tr><td><table cellpadding=0>\n"; for($i=0; $i<@mod_apachessl_ciphers; $i++) { $rv .= $sw ? '' : '<tr>'; $o = $mod_apachessl_ciphers[$i]; $rv .= sprintf "<td><input type=checkbox name=SSLRequiredCiphers_%s value='%s' %s> %s</td>", $o, $o, index($l, ":$o:") < 0 ? "" : "checked", $o; $rv .= $sw eq $rows-1 ? "</tr>\n" : ''; $sw = $sw eq $rows-1 ? 0 : $sw+1; } for($i=$sw; $i<=$rows-1; $i++) { $rv .= '<td> </td>'; } $rv .= $sw eq $rows-1 ? '' : "</tr>\n"; $rv .= '</table></td></tr></table>'; return (2,"$text{'mod_apachessl_requiredcifher'}",$rv); } sub save_SSLRequiredCiphers { local ($i, $rv); for($i=0; $i<@mod_apachessl_ciphers; $i++) { $rv .= $in{"SSLRequiredCiphers_".$mod_apachessl_ciphers[$i]} ? ':'.$mod_apachessl_ciphers[$i] : ''; } return $rv ? ( [ substr($rv,1) ] ) : ( [ ] ); } sub edit_SSLRequireCipher { local $rows = 3; local $sw = 0; local ($o, $i, $l, $rv); $l = ' '.$_[0]->{'value'}.' '; $rv .= "<table border><tr><td><table cellpadding=0>\n"; for($i=0; $i<@mod_apachessl_ciphers; $i++) { $rv .= $sw ? '' : '<tr>'; $o = $mod_apachessl_ciphers[$i]; $rv .= sprintf "<td><input type=checkbox name=SSLRequireCipher_%s value='%s' %s> %s</td>", $o, $o, index($l, " $o ") < 0 ? "" : "checked", $o; $rv .= $sw eq $rows-1 ? "</tr>\n" : ''; $sw = $sw eq $rows-1 ? 0 : $sw+1; } for($i=$sw; $i<=$rows-1; $i++) { $rv .= '<td> </td>'; } $rv .= $sw eq $rows-1 ? '' : "</tr>\n"; $rv .= '</table></td></tr></table>'; return (2,"$text{'mod_apachessl_requirecifher'}",$rv); } sub save_SSLRequireCipher { local ($i, $rv); for($i=0; $i<@mod_apachessl_ciphers; $i++) { $rv .= $in{"SSLRequireCipher_".$mod_apachessl_ciphers[$i]} ? ' '.$mod_apachessl_ciphers[$i] : ''; } return $rv ? ( [ substr($rv,1) ] ) : ( [ ] ); } sub edit_SSLBanCipher{ local $rows = 3; local $sw = 0; local ($o, $i, $l, $rv); $l = ' '.$_[0]->{'value'}.' '; $rv .= "<table border><tr><td><table cellpadding=0>\n"; for($i=0; $i<@mod_apachessl_ciphers; $i++) { $rv .= $sw ? '' : '<tr>'; $o = $mod_apachessl_ciphers[$i]; $rv .= sprintf "<td><input type=checkbox name=SSLBanCipher_%s value='%s' %s> %s</td>", $o, $o, index($l, " $o ") < 0 ? "" : "checked", $o; $rv .= $sw eq $rows-1 ? "</tr>\n" : ''; $sw = $sw eq $rows-1 ? 0 : $sw+1; } for($i=$sw; $i<=$rows-1; $i++) { $rv .= '<td> </td>'; } $rv .= $sw eq $rows-1 ? '' : "</tr>\n"; $rv .= '</table></td></tr></table>'; return (2,"$text{'mod_apachessl_bancifher'}",$rv); } sub save_SSLBanCipher { local ($i, $rv); for($i=0; $i<@mod_apachessl_ciphers; $i++) { $rv .= $in{"SSLBanCipher_".$mod_apachessl_ciphers[$i]} ? ' '.$mod_apachessl_ciphers[$i] : ''; } return $rv ? ( [ substr($rv,1) ] ) : ( [ ] ); } #Cipher Suites (from http://www.apache-ssl.org/docs.html) @mod_apachessl_ciphers = ("IDEA-CBC-SHA", "NULL-MD5", "NULL-SHA", "EXP-RC4-MD5", "RC4-MD5", "RC4-SHA", "EXP-RC2-CBC-MD5", "IDEA-CBC-MD5", "EXP-DES-CBC-SHA", "DES-CBC-SHA", "DES-CBC3-SHA", "EXP-DH-DSS-DES-CBC-SHA", "DH-DSS-DES-CBC-SHA", "DH-DSS-DES-CBC3-SHA", "EXP-DH-RSA-DES-CBC-SHA", "DH-RSA-DES-CBC-SHA", "DH-RSA-DES-CBC3-SHA", "EXP-EDH-DSS-DES-CBC-SHA", "EDH-DSS-DES-CBC-SHA", "EDH-DSS-DES-CBC3-SHA", "EXP-EDH-RSA-DES-CBC", "EDH-RSA-DES-CBC-SHA", "EDH-RSA-DES-CBC3-SHA", "EXP-ADH-RC4-MD5", "ADH-RC4-MD5", "EXP-ADH-DES-CBC-SHA", "ADH-DES-CBC-SHA", "ADH-DES-CBC3-SHA", "FZA-NULL-SHA", "FZA-FZA-CBC-SHA", "FZA-RC4-SHA", "DES-CFB-M1", "RC2-CBC-MD5", "DES-CBC-MD5", "DES-CBC3-MD5", "RC4-64-MD5", "NULL" );