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 /
webmin /
postfix /
Delete
Unzip
Name
Size
Permission
Date
Action
help
[ DIR ]
drwxr-xr-x
2026-07-25 20:55
images
[ DIR ]
drwxr-xr-x
2026-07-25 20:55
lang
[ DIR ]
drwxr-xr-x
2026-07-25 20:55
CHANGELOG
6.56
KB
-rw-r--r--
2026-07-17 21:17
acl_security.pl
927
B
-rwxr-xr-x
2026-07-17 21:17
address_rewriting.cgi
1.24
KB
-rwxr-xr-x
2026-07-17 21:22
aliases-lib.pl
7.93
KB
-rwxr-xr-x
2026-07-17 21:17
aliases.cgi
3.11
KB
-rwxr-xr-x
2026-07-17 21:22
autoreply.pl
12.68
KB
-rwxr-xr-x
2026-07-17 21:22
backup_config.pl
646
B
-rwxr-xr-x
2026-07-17 21:17
bcc.cgi
1.48
KB
-rwxr-xr-x
2026-07-17 21:22
body.cgi
1015
B
-rwxr-xr-x
2026-07-17 21:22
boxes-lib.pl
85.02
KB
-rwxr-xr-x
2026-07-17 21:17
canonical.cgi
1.19
KB
-rwxr-xr-x
2026-07-17 21:22
canonical_edit.cgi
794
B
-rwxr-xr-x
2026-07-17 21:22
client.cgi
2.39
KB
-rwxr-xr-x
2026-07-17 21:22
config
702
B
-rw-r--r--
2026-07-17 21:17
config-AlmaLinux-8.0-ALL
804
B
-rw-r--r--
2026-07-17 21:17
config-CentOS-Linux-7.0-ALL
804
B
-rw-r--r--
2026-07-17 21:17
config-CentOS-Stream-Linux-8.0-ALL
804
B
-rw-r--r--
2026-07-17 21:17
config-CloudLinux-8.0-ALL
804
B
-rw-r--r--
2026-07-17 21:17
config-Oracle-Linux-8.0-ALL
804
B
-rw-r--r--
2026-07-17 21:17
config-Rocky-Linux-8.0-ALL
804
B
-rw-r--r--
2026-07-17 21:17
config-debian-linux-10.0-ALL
804
B
-rw-r--r--
2026-07-17 21:17
config-freebsd
783
B
-rw-r--r--
2026-07-17 21:17
config-freebsd-8-ALL
886
B
-rw-r--r--
2026-07-17 21:17
config-mandrake-linux
721
B
-rw-r--r--
2026-07-17 21:17
config-msc-linux
721
B
-rw-r--r--
2026-07-17 21:17
config-netbsd
721
B
-rw-r--r--
2026-07-17 21:17
config-openSUSE-Linux-15.0-ALL
804
B
-rw-r--r--
2026-07-17 21:17
config-pardus-linux
783
B
-rw-r--r--
2026-07-17 21:17
config-redhat-linux-24.0-ALL
804
B
-rw-r--r--
2026-07-17 21:17
config-syno-linux
998
B
-rw-r--r--
2026-07-17 21:17
config.info
2.54
KB
-rw-r--r--
2026-07-17 21:17
config.info.bg
4.54
KB
-rw-r--r--
2026-07-17 21:17
config.info.ca
2.95
KB
-rw-r--r--
2026-07-17 21:17
config.info.cs
664
B
-rw-r--r--
2026-07-17 21:17
config.info.de
2.77
KB
-rw-r--r--
2026-07-17 21:17
config.info.es
444
B
-rw-r--r--
2026-07-17 21:17
config.info.fr
597
B
-rw-r--r--
2026-07-17 21:17
config.info.hu
0
B
-rw-r--r--
2026-07-17 21:17
config.info.ja
2.92
KB
-rw-r--r--
2026-07-17 21:17
config.info.nl
2.71
KB
-rw-r--r--
2026-07-17 21:17
config.info.no
2.67
KB
-rw-r--r--
2026-07-17 21:17
config.info.pl
554
B
-rw-r--r--
2026-07-17 21:17
config.info.ru
880
B
-rw-r--r--
2026-07-17 21:17
config.info.sv
547
B
-rw-r--r--
2026-07-17 21:17
config.info.tr
437
B
-rw-r--r--
2026-07-17 21:17
config.info.uk
909
B
-rw-r--r--
2026-07-17 21:17
config.info.zh
405
B
-rw-r--r--
2026-07-17 21:17
config.info.zh_TW
453
B
-rw-r--r--
2026-07-17 21:17
debug.cgi
902
B
-rwxr-xr-x
2026-07-17 21:22
defaultacl
332
B
-rw-r--r--
2026-07-17 21:17
delete_aliases.cgi
961
B
-rwxr-xr-x
2026-07-17 21:22
delete_mappings.cgi
682
B
-rwxr-xr-x
2026-07-17 21:22
delete_queues.cgi
2.08
KB
-rwxr-xr-x
2026-07-17 21:22
dependent.cgi
1.03
KB
-rwxr-xr-x
2026-07-17 21:22
detach_queue.cgi
752
B
-rwxr-xr-x
2026-07-17 21:22
edit_access.cgi
745
B
-rwxr-xr-x
2026-07-17 21:22
edit_afile.cgi
1.06
KB
-rwxr-xr-x
2026-07-17 21:22
edit_alias.cgi
522
B
-rwxr-xr-x
2026-07-17 21:22
edit_canonical_mappings.cgi
1.37
KB
-rwxr-xr-x
2026-07-17 21:22
edit_ffile.cgi
2.03
KB
-rwxr-xr-x
2026-07-17 21:22
edit_manual.cgi
1.17
KB
-rwxr-xr-x
2026-07-17 21:22
edit_mapping.cgi
2.84
KB
-rwxr-xr-x
2026-07-17 21:22
edit_master.cgi
3.26
KB
-rwxr-xr-x
2026-07-17 21:22
edit_rfile.cgi
3.04
KB
-rwxr-xr-x
2026-07-17 21:22
filter.pl
1.99
KB
-rwxr-xr-x
2026-07-17 21:22
flushq.cgi
597
B
-rwxr-xr-x
2026-07-17 21:22
general.cgi
4.24
KB
-rwxr-xr-x
2026-07-17 21:22
header.cgi
1.54
KB
-rwxr-xr-x
2026-07-17 21:22
index.cgi
4.44
KB
-rwxr-xr-x
2026-07-17 21:22
install_check.pl
425
B
-rwxr-xr-x
2026-07-17 21:17
ldap.cgi
1.3
KB
-rwxr-xr-x
2026-07-17 21:22
local_delivery.cgi
1.93
KB
-rwxr-xr-x
2026-07-17 21:22
log_parser.pl
831
B
-rwxr-xr-x
2026-07-17 21:17
mailq.cgi
2.55
KB
-rwxr-xr-x
2026-07-17 21:22
mailq_search.cgi
1.07
KB
-rwxr-xr-x
2026-07-17 21:22
manual.cgi
1.07
KB
-rwxr-xr-x
2026-07-17 21:22
manual_update.cgi
717
B
-rwxr-xr-x
2026-07-17 21:22
map_chooser.cgi
5.73
KB
-rwxr-xr-x
2026-07-17 21:22
map_chooser_save.cgi
6.68
KB
-rwxr-xr-x
2026-07-17 21:22
master.cgi
1.33
KB
-rwxr-xr-x
2026-07-17 21:22
module.info
158
B
-rw-r--r--
2026-07-17 21:17
module.info.ar
0
B
-rw-r--r--
2026-07-17 21:17
module.info.ar.auto
116
B
-rw-r--r--
2026-07-17 21:17
module.info.bg
0
B
-rw-r--r--
2026-07-17 21:17
module.info.bg.auto
126
B
-rw-r--r--
2026-07-17 21:17
module.info.ca
88
B
-rw-r--r--
2026-07-17 21:17
module.info.ca.auto
16
B
-rw-r--r--
2026-07-17 21:17
module.info.cs
29
B
-rw-r--r--
2026-07-17 21:17
module.info.cs.auto
70
B
-rw-r--r--
2026-07-17 21:17
module.info.da
0
B
-rw-r--r--
2026-07-17 21:17
module.info.da.auto
88
B
-rw-r--r--
2026-07-17 21:17
module.info.de
78
B
-rw-r--r--
2026-07-17 21:17
module.info.de.auto
16
B
-rw-r--r--
2026-07-17 21:17
module.info.el
0
B
-rw-r--r--
2026-07-17 21:17
module.info.el.auto
141
B
-rw-r--r--
2026-07-17 21:17
module.info.es
34
B
-rw-r--r--
2026-07-17 21:17
module.info.es.auto
68
B
-rw-r--r--
2026-07-17 21:17
module.info.eu
0
B
-rw-r--r--
2026-07-17 21:17
module.info.eu.auto
95
B
-rw-r--r--
2026-07-17 21:17
module.info.fa
0
B
-rw-r--r--
2026-07-17 21:17
module.info.fa.auto
117
B
-rw-r--r--
2026-07-17 21:17
module.info.fi
0
B
-rw-r--r--
2026-07-17 21:17
module.info.fi.auto
92
B
-rw-r--r--
2026-07-17 21:17
module.info.fr
33
B
-rw-r--r--
2026-07-17 21:17
module.info.fr.auto
73
B
-rw-r--r--
2026-07-17 21:17
module.info.hr
0
B
-rw-r--r--
2026-07-17 21:17
module.info.hr.auto
114
B
-rw-r--r--
2026-07-17 21:17
module.info.hu
30
B
-rw-r--r--
2026-07-17 21:17
module.info.hu.auto
69
B
-rw-r--r--
2026-07-17 21:17
module.info.it
0
B
-rw-r--r--
2026-07-17 21:17
module.info.it.auto
96
B
-rw-r--r--
2026-07-17 21:17
module.info.ja
26
B
-rw-r--r--
2026-07-17 21:17
module.info.ja.auto
77
B
-rw-r--r--
2026-07-17 21:17
module.info.ko
23
B
-rw-r--r--
2026-07-17 21:17
module.info.ko.auto
75
B
-rw-r--r--
2026-07-17 21:17
module.info.ms
78
B
-rw-r--r--
2026-07-17 21:17
module.info.ms.auto
16
B
-rw-r--r--
2026-07-17 21:17
module.info.nl
28
B
-rw-r--r--
2026-07-17 21:17
module.info.nl.auto
63
B
-rw-r--r--
2026-07-17 21:17
module.info.no
30
B
-rw-r--r--
2026-07-17 21:17
module.info.no.auto
61
B
-rw-r--r--
2026-07-17 21:17
module.info.pl
35
B
-rw-r--r--
2026-07-17 21:17
module.info.pl.auto
68
B
-rw-r--r--
2026-07-17 21:17
module.info.pt
0
B
-rw-r--r--
2026-07-17 21:17
module.info.pt.auto
105
B
-rw-r--r--
2026-07-17 21:17
module.info.pt_BR
0
B
-rw-r--r--
2026-07-17 21:17
module.info.pt_BR.auto
114
B
-rw-r--r--
2026-07-17 21:17
module.info.ru
35
B
-rw-r--r--
2026-07-17 21:17
module.info.ru.auto
95
B
-rw-r--r--
2026-07-17 21:17
module.info.sk
0
B
-rw-r--r--
2026-07-17 21:17
module.info.sk.auto
102
B
-rw-r--r--
2026-07-17 21:17
module.info.sv
30
B
-rw-r--r--
2026-07-17 21:17
module.info.sv.auto
61
B
-rw-r--r--
2026-07-17 21:17
module.info.tr
34
B
-rw-r--r--
2026-07-17 21:17
module.info.tr.auto
70
B
-rw-r--r--
2026-07-17 21:17
module.info.uk
0
B
-rw-r--r--
2026-07-17 21:17
module.info.uk.auto
143
B
-rw-r--r--
2026-07-17 21:17
module.info.zh
23
B
-rw-r--r--
2026-07-17 21:17
module.info.zh.auto
59
B
-rw-r--r--
2026-07-17 21:17
module.info.zh_TW
26
B
-rw-r--r--
2026-07-17 21:17
module.info.zh_TW.auto
65
B
-rw-r--r--
2026-07-17 21:17
postfinger.cgi
10.38
KB
-rwxr-xr-x
2026-07-17 21:22
postfix-lib.pl
65.7
KB
-rwxr-xr-x
2026-07-17 21:17
postinstall.pl
144
B
-rw-r--r--
2026-07-17 21:17
prefs.info
86
B
-rw-r--r--
2026-07-17 21:17
rate.cgi
1.19
KB
-rwxr-xr-x
2026-07-17 21:22
reload.cgi
335
B
-rwxr-xr-x
2026-07-17 21:22
relocated.cgi
1018
B
-rwxr-xr-x
2026-07-17 21:22
resource.cgi
1.57
KB
-rwxr-xr-x
2026-07-17 21:22
sasl.cgi
3.3
KB
-rwxr-xr-x
2026-07-17 21:22
save_afile.cgi
563
B
-rwxr-xr-x
2026-07-17 21:22
save_alias.cgi
2.88
KB
-rwxr-xr-x
2026-07-17 21:22
save_client.cgi
1.78
KB
-rwxr-xr-x
2026-07-17 21:22
save_ffile.cgi
843
B
-rwxr-xr-x
2026-07-17 21:22
save_manual.cgi
778
B
-rwxr-xr-x
2026-07-17 21:22
save_map.cgi
2.71
KB
-rwxr-xr-x
2026-07-17 21:22
save_master.cgi
2.44
KB
-rwxr-xr-x
2026-07-17 21:22
save_opts.cgi
805
B
-rwxr-xr-x
2026-07-17 21:22
save_opts_aliases.cgi
648
B
-rwxr-xr-x
2026-07-17 21:22
save_opts_bcc.cgi
539
B
-rwxr-xr-x
2026-07-17 21:22
save_opts_body.cgi
711
B
-rwxr-xr-x
2026-07-17 21:22
save_opts_canonical.cgi
791
B
-rwxr-xr-x
2026-07-17 21:22
save_opts_dependent.cgi
684
B
-rwxr-xr-x
2026-07-17 21:22
save_opts_header.cgi
951
B
-rwxr-xr-x
2026-07-17 21:22
save_opts_misc.cgi
695
B
-rwxr-xr-x
2026-07-17 21:22
save_opts_relocated.cgi
712
B
-rwxr-xr-x
2026-07-17 21:22
save_opts_sni.cgi
628
B
-rwxr-xr-x
2026-07-17 21:22
save_opts_transport.cgi
711
B
-rwxr-xr-x
2026-07-17 21:22
save_opts_virtual.cgi
714
B
-rwxr-xr-x
2026-07-17 21:22
save_rfile.cgi
1.26
KB
-rwxr-xr-x
2026-07-17 21:22
save_sasl.cgi
3.12
KB
-rwxr-xr-x
2026-07-17 21:22
smtp.cgi
3.63
KB
-rwxr-xr-x
2026-07-17 21:22
smtpd.cgi
2.86
KB
-rwxr-xr-x
2026-07-17 21:22
sni.cgi
1
KB
-rwxr-xr-x
2026-07-17 21:22
start.cgi
411
B
-rwxr-xr-x
2026-07-17 21:22
stop.cgi
407
B
-rwxr-xr-x
2026-07-17 21:22
transport.cgi
1019
B
-rwxr-xr-x
2026-07-17 21:22
view_mailq.cgi
4.02
KB
-rwxr-xr-x
2026-07-17 21:22
virtual.cgi
1.14
KB
-rwxr-xr-x
2026-07-17 21:22
Save
Rename
#!/usr/bin/perl # Show a form for selecting the source for a map require './postfix-lib.pl'; ## no critic use strict; use warnings; our ($file, $i, $postfix_version, $str, $t, @files, %in, @maps, @newfiles, @oldmaps, %text); &ReadParse(); &error_setup($text{'chooser_err'}); @oldmaps = &get_maps_types_files($in{'map'}); # Build a list of maps from inputs for($i=0; defined($t = $in{"type_".$i}); $i++) { next if (!$t); if ($t eq "hash") { # Simple file $in{"hash_$i"} =~ /^[\/\.]\S+$/ || &error(&text('chooser_ehash', $i+1)); push(@maps, "hash:".$in{"hash_$i"}); } elsif ($t eq "regexp") { # Regular expressions file $in{"regexp_$i"} =~ /^[\/\.]\S+$/ || &error(&text('chooser_eregexp', $i+1)); push(@maps, "regexp:".$in{"regexp_$i"}); } elsif ($t eq "pcre") { # Perl-style regular expressions file $in{"pcre_$i"} =~ /^[\/\.]\S+$/ || &error(&text('chooser_epcre', $i+1)); push(@maps, "pcre:".$in{"pcre_$i"}); } elsif ($t eq "mysqlsrc") { # Common MySQL source push(@maps, "mysql:".$in{"mysqlsrc_$i"}); } elsif ($t eq "mysql") { # MySQL database if ($oldmaps[$i]->[0] eq "mysql" && $oldmaps[$i]->[1] =~ /^[\/\.]/) { # Same file as before $file = $oldmaps[$i]->[1]; } else { # Pick a filename based on the field $file = &guess_config_dir()."/".$in{'mapname'}. ($i ? ".$i" : "").".mysql.conf"; } # Validate and save MySQL settings, starting with host if ($in{"mhosts_${i}_def"}) { &save_backend_config($file, "hosts", undef); } else { $in{"mhosts_$i"} =~ /\S/ || &error(&text('chooser_emhosts', $i+1)); &save_backend_config($file, "hosts", $in{"mhosts_$i"}); } # Username $in{"muser_$i"} =~ /^\S+$/ || &error(&text('chooser_emuser', $i+1)); &save_backend_config($file, "user", $in{"muser_$i"}); # Password $in{"mpassword_$i"} =~ /^\S+$/ || &error(&text('chooser_empassword', $i+1)); &save_backend_config($file, "password", $in{"mpassword_$i"}); # Custom query if (&compare_version_numbers($postfix_version, 2.2) >= 0) { if ($in{"mquery_${i}_def"}) { &save_backend_config($file, "query", undef); } else { $in{"mdbname_$i"} =~ /\S/ || &error(&text('chooser_emquery', $i+1)); &save_backend_config($file, "query", $in{"mquery_$i"}); } } # Database name $in{"mdbname_$i"} =~ /^\S+$/ || &error(&text('chooser_emdbname', $i+1)); &save_backend_config($file, "dbname", $in{"mdbname_$i"}); # Table name $in{"mtable_$i"} =~ /^\S+$/ || &error(&text('chooser_emtable', $i+1)); &save_backend_config($file, "table", $in{"mtable_$i"}); # Value field $in{"mselect_field_$i"} =~ /^[a-z0-9\_]+$/i || &error(&text('chooser_emselect_field', $i+1)); &save_backend_config($file, "select_field", $in{"mselect_field_$i"}); # Key field $in{"mwhere_field_$i"} =~ /^[a-z0-9\_]+$/i || &error(&text('chooser_emwhere_field', $i+1)); &save_backend_config($file, "where_field", $in{"mwhere_field_$i"}); # Additional select conditions if ($in{"madditional_conditions_${i}_def"}) { &save_backend_config($file, "additional_conditions"); } else { $in{"madditional_conditions_$i"} =~ /\S/ || &error(&text('chooser_emadditional', $i+1)); &save_backend_config($file, "additional_conditions", $in{"madditional_conditions_$i"}); } push(@maps, "mysql:$file"); push(@files, $file); } elsif ($t eq "ldap") { # LDAP database if ($oldmaps[$i]->[0] eq "ldap" && $oldmaps[$i]->[1] =~ /^[\/\.]/) { # Same file as before $file = $oldmaps[$i]->[1]; } else { # Pick a filename based on the field $file = &guess_config_dir()."/".$in{'mapname'}. ($i ? ".$i" : "").".ldap.conf"; } # Save LDAP server hostname if ($in{"lserver_host_${i}_def"}) { &save_backend_config($file, "server_host", undef); } else { $in{"lserver_host_$i"} =~ /\S/ || &error(&text('chooser_elserver_host', $i+1)); &save_backend_config($file, "server_host", $in{"lserver_host_$i"}); } # LDAP port number if ($in{"lserver_port_${i}_def"}) { &save_backend_config($file, "server_port", undef); } else { $in{"lserver_port_$i"} =~ /^\d+$/ || &error(&text('chooser_elserver_port', $i+1)); &save_backend_config($file, "server_port", $in{"lserver_port_$i"}); } # Start TLS? &save_backend_config($file, "start_tls", $in{"lstart_tls_$i"}); # Search base $in{"lsearch_base_$i"} =~ /\S/ || &error(&text('chooser_elsearch_base', $i+1)); &save_backend_config($file, "search_base", $in{"lsearch_base_$i"}); # Query filter if ($in{"lquery_filter_${i}_def"}) { &save_backend_config($file, "query_filter", undef); } else { $in{"lquery_filter_$i"} =~ /^\S+$/ || &error(&text('chooser_elquery_filter', $i+1)); &save_backend_config($file, "query_filter", $in{"lquery_filter_$i"}); } # Resulting attribute if ($in{"lresult_attribute_${i}_def"}) { &save_backend_config($file, "result_attribute", undef); } else { $in{"lresult_attribute_$i"} =~ /^\S+$/ || &error(&text('chooser_elresult_attribute', $i+1)); &save_backend_config($file, "result_attribute", $in{"lresult_attribute_$i"}); } # Search scope &save_backend_config($file, "scope", $in{"lscope_$i"} || undef); # Login to server? &save_backend_config($file, "bind", $in{"lbind_$i"}); # Username if ($in{"lbind_dn_${i}_def"}) { &save_backend_config($file, "bind_dn", undef); } else { $in{"lbind_dn_$i"} =~ /\S/ || &error(&text('chooser_elbind_dn', $i+1)); &save_backend_config($file, "bind_dn", $in{"lbind_dn_$i"}); } # Password if ($in{"lbind_pw_${i}_def"}) { &save_backend_config($file, "bind_pw", undef); } else { $in{"lbind_pw_$i"} =~ /\S/ || &error(&text('chooser_elbind_pw', $i+1)); &save_backend_config($file, "bind_pw", $in{"lbind_pw_$i"}); } push(@maps, "ldap:$file"); push(@files, $file); } elsif ($t eq "other") { # Some other map $in{"other_$i"} =~ /^[a-z0-9]+:[^, ]+$/i || &error(&text('chooser_eother', $i+1)); push(@maps, $in{"other_$i"}); } else { &error("Unknown type $t"); } } @maps || &error($text{'chooser_enone'}); # Write out mysql and LDAP files @files = &unique(@files); @newfiles = map { !-r $_ } @files; foreach my $f (@files) { &lock_file($f); } &flush_file_lines(@files); foreach my $f (@newfiles) { &set_ownership_permissions(undef, undef, 0700, $f); } foreach my $f (@files) { &unlock_file($f); } # Create final string for map $str = join(",", @maps); &popup_header($text{'chooser_title'}); print <<EOF; <script> top.opener.ifield.value = "$str"; window.close(); </script> EOF if (@files) { &webmin_log("backend", undef, $in{'map_name'}); } &popup_footer();