chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 13:12:17 +08:00
commit cf8edb9f21
44281 changed files with 1655134 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
---- Changes since 1.140 ----
Removed the mail reading feature and associated ACLs, as this functionality has been moved to the Read User Mail module.
---- Changes since 1.150 ----
Added an option when creating a Domain Routing entry to forward mail to a domain and all hosts in it.
Added an option to the autoreply file editing page for specifying addresses to never auto-repond to. Accepts wildcards like *@foo.com or fred@*.
---- Changes since 1.160 ----
Added the ability to edit From:, To: and Connect: tags in Spam Control rules.
---- Changes since 1.190 ----
Quarantined messages in the mail queue are now visible.
---- Changes since 1.200 ----
Added a button for flushing quarantined messages from the queue.
---- Changes since 1.220 ----
Added fields on the Sendmail Options page for the maximum allowed and bad recipients in a single email.
---- Changes since 1.230 ----
Added a button to the mail queue page for flushing only selected messages.
When deleting messages from the mail queue, Webmin will prompt for confirmation first.
Multiple values can now be entered and edited for the SMTP port options.
---- Changes since 1.240 ----
Added an option to the Sendmail Options page for selecting the order in which the mail queue is processed. This same option also appears on the Module Config page, for use when the queue is manually flushed.
When creating an autoreply alias, you can enter regexps that the headers will be checked against to prevent the reply.
When viewing an individual message in the mail queue, there is now a button for flushing just that email.
---- Changes since 1.250 ----
Multiple Sendmail PID files can be specified on the Module Config page, for systems using Mailscanner (which runs two Sendmail daemons).
Added a Module Config option to display aliases and other tables in one column instead of two, to increase readability when long aliases or domain names exist.
On the aliases, address mappings and other list pages, multiple entries can be deleted at once using the new checkboxes and Delete Selected button.
---- Changes since 1.290 ----
Mail aliases, address mappings, domain mappings, spam control rules and domain routings can now all have human-readable descriptions associated with them. These are stored as comments in the appropriate Sendmail config file.
Cleaned up the code and UIs for all mapping lists, to fit in better with the Webmin style and to support proper deletion/modification of multiple records.
---- Changes since 1.300 ----
The count of messages in the mail queue on the module's main page no longer includes those that the current user does not have access to.
Added access control for the Spam Control page.
---- Changes since 1.390 ----
Added a Module Config option to support ~/Maildir mailboxes (even though Sendmail doesn't support this natively).
Added an option to show the directory queued messages are in, which is useful on systems with several queues.
Network ports and addresses used by Sendmail can now be more easily edited on the new Network Ports page, which updates both sendmail.cf and any .mc file.
---- Changes since 1.400 ----
Added an access control page option to prevent creation and editing of catchall address mappings.
---- Changes since 1.430 ----
Autoreply messages containing non-ASCII characters are now properly quoted-printable encoded.
---- Changes since 1.440 ----
Added a Module Config option to control if the user is prompted for confirmation before deleting queued messages.
A custom command to rebuild all maps can be specified on the Module Config page, to be used instead of makemap or newaliases.
---- Changes since 1.450 ----
Changed the mail queue date format to yyyy/mm/dd, for easier sorting.
---- Changes since 1.470 ----
When flushing selected queued quarantined messages, the -qQ flag is added so that it actually works.
---- Changes since 1.490 ----
If multiple alias files are defined, one can be selected when adding a new alias.
Autoreply messages starting with <html> or <body> will now be sent using the text/html MIME type.
---- Changes since 1.510 ----
Added validation when manually editing the aliases and other map files.
Added spam checking to the autoreply script, if spamassassin is installed.
---- Changes since 1.560 ----
Added a refresh button to the mail queue.
+242
View File
@@ -0,0 +1,242 @@
# access-lib.pl
# Functions for the access_db table
# access_dbm(&config)
# Returns the filename and type of the access database, or undef if none
sub access_dbm
{
foreach $f (&find_type("K", $_[0])) {
if ($f->{'value'} =~ /^access\s+(\S+)[^\/]+(\S+)$/) {
return ($2, $1);
}
}
return undef;
}
# access_file(&config)
# Returns the filename of the text access file, or undef if none
sub access_file
{
return &find_textfile($config{'access_file'}, &access_dbm($_[0]));
}
# list_access(textfile)
sub list_access
{
if (!scalar(@list_access_cache)) {
@list_access_cache = ( );
local $lnum = 0;
open(ACC, "<".$_[0]);
while(<ACC>) {
s/\r|\n//g; # remove newlines
if (/^\s*#+\s*(.*)/) {
# A comment line
$cmt = &is_table_comment($_);
}
elsif (/^(\S+)\s+(.*)/) {
local(%acc);
$acc{'from'} = $1;
$acc{'action'} = $2;
$acc{'line'} = $cmt ? $lnum-1 : $lnum;
$acc{'eline'} = $lnum;
$acc{'num'} = scalar(@list_access_cache);
if ($acc{'from'} =~ /^(Connect|From|To):(.*)/i) {
$acc{'tag'} = $1;
$acc{'from'} = $2;
}
$acc{'cmt'} = $cmt;
push(@list_access_cache, \%acc);
$cmt = undef;
}
else {
$cmt = undef;
}
$lnum++;
}
close(ACC);
}
return @list_access_cache;
}
# create_access(&details, textfile, dbmfile, dbmtype)
# Create a new access database entry
sub create_access
{
&list_access($_[1]); # force cache init
local(%acc);
# Write to the file
local $lref = &read_file_lines($_[1]);
$_[0]->{'line'} = scalar(@$lref);
push(@$lref, &make_table_comment($_[0]->{'cmt'}));
local $from = $_[0]->{'tag'} ? "$_[0]->{'tag'}:$_[0]->{'from'}"
: $_[0]->{'from'};
push(@$lref, "$from\t$_[0]->{'action'}");
$_[0]->{'eline'} = scalar(@$lref)-1;
&flush_file_lines($_[1]);
# Add to DBM
if (!&rebuild_map_cmd($_[1])) {
if ($_[3] eq "dbm") {
dbmopen(%acc, $_[2], 0644);
$acc{$from} = $_[0]->{'action'};
dbmclose(%acc);
}
else { &run_makemap($_[1], $_[2], $_[3]); }
}
# Add to cache
$_[0]->{'num'} = scalar(@list_access_cache);
$_[0]->{'file'} = $_[1];
push(@list_access_cache, $_[0]);
}
# delete_access(&details, textfile, dbmfile, dbmtype)
# Delete an existing access entry
sub delete_access
{
local(%acc);
# Delete form file
local $lref = &read_file_lines($_[1]);
local $len = $_[0]->{'eline'} - $_[0]->{'line'} + 1;
splice(@$lref, $_[0]->{'line'}, $len);
&flush_file_lines($_[1]);
# Delete from DBM
local $oldfrom = $_[0]->{'tag'} ? "$_[0]->{'tag'}:$_[0]->{'from'}"
: $_[0]->{'from'};
if (!&rebuild_map_cmd($_[1])) {
if ($_[3] eq "dbm") {
dbmopen(%acc, $_[2], 0644);
delete($acc{$oldfrom});
dbmclose(%acc);
}
else { &run_makemap($_[1], $_[2], $_[3]); }
}
# Delete from cache
local $idx = &indexof($_[0], @list_access_cache);
splice(@list_access_cache, $idx, 1) if ($idx != -1);
&renumber_list(\@list_access_cache, $_[0], -$len);
}
# modify_access(&old, &details, textfile, dbmfile, dbmtype)
# Change an existing access entry
sub modify_access
{
local %acc;
local $oldfrom = $_[0]->{'tag'} ? "$_[0]->{'tag'}:$_[0]->{'from'}"
: $_[0]->{'from'};
local $from = $_[1]->{'tag'} ? "$_[1]->{'tag'}:$_[1]->{'from'}"
: $_[1]->{'from'};
# Update in file
local $lref = &read_file_lines($_[2]);
local $oldlen = $_[0]->{'eline'} - $_[0]->{'line'} + 1;
local @newlines;
push(@newlines, &make_table_comment($_[1]->{'cmt'}));
push(@newlines, "$from\t$_[1]->{'action'}");
splice(@$lref, $_[0]->{'line'}, $oldlen, @newlines);
&flush_file_lines($_[2]);
# Update DBM
if (!&rebuild_map_cmd($_[2])) {
if ($_[4] eq "dbm") {
dbmopen(%virt, $_[3], 0644);
delete($virt{$oldfrom});
$virt{$from} = $_[1]->{'action'};
dbmclose(%virt);
}
else { &run_makemap($_[2], $_[3], $_[4]); }
}
# Update cache
local $idx = &indexof($_[0], @list_generics_cache);
$_[1]->{'line'} = $_[0]->{'line'};
$_[1]->{'eline'} = $_[1]->{'cmt'} ? $_[0]->{'line'}+1 : $_[0]->{'line'};
$list_generics_cache[$idx] = $_[1] if ($idx != -1);
&renumber_list(\@list_generics_cache, $_[0], scalar(@newlines)-$oldlen);
}
# access_form([&details])
sub access_form
{
local ($v) = @_;
local ($mode, $addr);
print &ui_form_start("save_access.cgi", "post");
if ($v) {
print &ui_hidden("num", $v->{'num'}),"\n";
}
else {
print &ui_hidden("new", 1),"\n";
}
print &ui_table_start($v ? $text{'sform_edit'} : $text{'sform_create'},
undef, 2);
# Comment
print &ui_table_row($text{'vform_cmt'},
&ui_textbox("cmt", $v->{'cmt'}, 50));
# Mail source
local $src = $v->{'from'} =~ /^\S+\@\S+$/ ? 0 :
$v->{'from'} =~ /^[0-9\.]+$/ ? 1 :
$v->{'from'} =~ /^\S+\@$/ ? 2 :
$v->{'from'} =~ /^[A-z0-9\-\.]+$/ ? 3 : 0;
print &ui_table_row($text{'sform_source'},
&ui_select("from_type", $src,
[ map { [ $_, $text{"sform_type$_"} ] } (0 .. 3) ])."\n".
&ui_textbox("from", $v->{'from'}, 25));
# Match against tag
local $ver = &get_sendmail_version();
if ($v->{'tag'} || $ver >= 8.10) {
print &ui_table_row($text{'sform_tag'},
&ui_select("tag", $v->{'tag'},
[ [ "", $text{'sform_tag_'} ],
[ "From", $text{'sform_tag_from'} ],
[ "To", $text{'sform_tag_to'} ],
[ "Connect", $text{'sform_tag_connect'} ],
[ "Spam", $text{'sform_tag_spam'} ] ]));
}
# Action
local $atable = "<table>\n";
$atable .= "<tr>";
$atable .= "<td>".&ui_oneradio("action", "OK", $text{'sform_ok'},
$v->{'action'} eq "OK" || !$v->{'action'})."</td>\n";
$atable .= "<td>".&ui_oneradio("action", "RELAY", $text{'sform_relay'},
$v->{'action'} eq "RELAY")."</td>\n";
$atable .= "</tr>";
$atable .= "<tr>";
$atable .= "<td>".&ui_oneradio("action", "REJECT", $text{'sform_reject'},
$v->{'action'} eq "REJECT")."</td>\n";
$atable .= "<td>".&ui_oneradio("action", "DISCARD", $text{'sform_discard'},
$v->{'action'} eq "DISCARD")."</td>\n";
$atable .= "</tr>";
$atable .= "<tr>";
local ($err, $msg) = $v->{'action'} =~ /(\d+)\s*(.*)$/ ? ($1, $2) : ( );
$atable .= "<td colspan=2>".&ui_oneradio("action", 0, $text{'sform_err'},
$err)."\n";
$atable .= &ui_textbox("err", $err, 4)." ".$text{'sform_msg'}."\n";
$atable .= &ui_textbox("msg", $msg, 20)."</td>\n";
$atable .= "</tr>";
$atable .= "</table>\n";
print &ui_table_row($text{'sform_action'}, $atable);
print &ui_table_end();
print &ui_form_end($_[0] ? [ [ "save", $text{'save'} ],
[ "delete", $text{'delete'} ] ]
: [ [ "create", $text{'create'} ] ]);
}
sub can_edit_access
{
local ($g) = @_;
return $access{'smode'} == 1 ||
$access{'smode'} == 2 && $g->{'from'} =~ /$access{'saddrs'}/;
}
1;
+155
View File
@@ -0,0 +1,155 @@
require 'sendmail-lib.pl';
# acl_security_form(&options)
# Output HTML for editing security options for the sendmail module
sub acl_security_form
{
my ($o) = @_;
foreach my $f ('opts', 'cws', 'masq', 'trusts', 'cgs', 'relay',
'mailers', 'access', 'domains', 'stop', 'manual') {
print &ui_table_row($text{'acl_'.$f},
&ui_yesno_radio($f, $o->{$f}));
}
print &ui_table_row($text{'acl_mailq'},
&ui_select("mailq",
defined($o->{'mailq'}) && $o->{'mailq'} ne '' ? $o->{'mailq'} : 0,
[ [ 2, $text{'acl_viewdel'} ],
[ 1, $text{'acl_view'} ],
[ 0, $text{'no'} ] ]));
print &ui_table_row($text{'acl_qdoms'},
&ui_radio_table("qdoms_def", $o->{'qdoms'} ? 0 : 1,
[ [ 1, $text{'acl_all'} ],
[ 0, $text{'acl_matching'},
&ui_textbox("qdoms", $o->{'qdoms'}, 40) ] ], 1),
3);
print &ui_table_row($text{'acl_qdomsmode'},
&ui_radio("qdomsmode",
defined($o->{'qdomsmode'}) ? $o->{'qdomsmode'} : 0,
[ map { [ $_, $text{'acl_qdomsmode'.$_} ] } 0 .. 2 ]),
3);
print &ui_table_row($text{'acl_flushq'},
&ui_yesno_radio("flushq", $o->{'flushq'}));
print &ui_table_row($text{'acl_ports'},
&ui_yesno_radio("ports", $o->{'ports'}));
print &ui_table_hr();
print &ui_table_row($text{'acl_virtusers'},
&ui_radio_table("vmode",
defined($o->{'vmode'}) ? $o->{'vmode'} : 0,
[ [ 0, $text{'acl_none'} ],
[ 1, $text{'acl_all'} ],
[ 3, $text{'acl_vsame'} ],
[ 2, $text{'acl_matching'},
&ui_textbox("vaddrs", $o->{'vaddrs'}, 40) ] ], 1),
3);
print &ui_table_row($text{'acl_vtypes'},
join("", map { &ui_checkbox("vedit_".$_, 1, $text{"acl_vtype".$_},
$o->{"vedit_".$_}) } 0 .. 2),
3);
print &ui_table_row($text{'acl_vmax'},
&ui_radio_table("vmax_def", $o->{'vmax'} ? 0 : 1,
[ [ 1, $text{'acl_unlimited'} ],
[ 0, "", &ui_textbox("vmax", $o->{'vmax'}, 5) ] ], 1),
3);
print &ui_table_row($text{'acl_vcatchall'},
&ui_yesno_radio("vcatchall", int($o->{'vcatchall'})));
print &ui_table_hr();
print &ui_table_row($text{'acl_aliases'},
&ui_radio_table("amode",
defined($o->{'amode'}) ? $o->{'amode'} : 0,
[ [ 0, $text{'acl_none'} ],
[ 1, $text{'acl_all'} ],
[ 3, $text{'acl_asame'} ],
[ 2, $text{'acl_matching'},
&ui_textbox("aliases", $o->{'aliases'}, 40) ] ], 1),
3);
print &ui_table_row($text{'acl_atypes'},
join("", map { &ui_checkbox("aedit_".$_, 1, $text{"acl_atype".$_},
$o->{"aedit_".$_}) } 1 .. 6),
3);
print &ui_table_row($text{'acl_amax'},
&ui_radio_table("amax_def", $o->{'amax'} ? 0 : 1,
[ [ 1, $text{'acl_unlimited'} ],
[ 0, "", &ui_textbox("amax", $o->{'amax'}, 5) ] ], 1),
3);
print &ui_table_row($text{'acl_apath'},
&ui_textbox("apath", $o->{'apath'}, 40)." ".
&file_chooser_button("apath", 1),
3);
print &ui_table_hr();
print &ui_table_row($text{'acl_outgoing'},
&ui_radio_table("omode",
defined($o->{'omode'}) ? $o->{'omode'} : 0,
[ [ 0, $text{'acl_none'} ],
[ 1, $text{'acl_all'} ],
[ 2, $text{'acl_matching'},
&ui_textbox("oaddrs", $o->{'oaddrs'}, 40) ] ], 1),
3);
print &ui_table_hr();
print &ui_table_row($text{'acl_spam'},
&ui_radio_table("smode", $o->{'smode'},
[ [ 1, $text{'acl_all'} ],
[ 2, $text{'acl_matching'},
&ui_textbox("saddrs", $o->{'saddrs'}, 40) ] ], 1),
3);
}
# acl_security_save(&options)
# Parse the form for security options for the sendmail module
sub acl_security_save
{
$_[0]->{'opts'} = $in{'opts'};
$_[0]->{'ports'} = $in{'ports'};
$_[0]->{'cws'} = $in{'cws'};
$_[0]->{'masq'} = $in{'masq'};
$_[0]->{'trusts'} = $in{'trusts'};
$_[0]->{'cgs'} = $in{'cgs'};
$_[0]->{'relay'} = $in{'relay'};
$_[0]->{'manual'} = $in{'manual'};
$_[0]->{'mailq'} = $in{'mailq'};
$_[0]->{'qdoms'} = $in{'qdoms_def'} ? undef : $in{'qdoms'};
$_[0]->{'qdomsmode'} = $in{'qdomsmode'};
$_[0]->{'mailers'} = $in{'mailers'};
$_[0]->{'access'} = $in{'access'};
$_[0]->{'domains'} = $in{'domains'};
$_[0]->{'stop'} = $in{'stop'};
$_[0]->{'vmode'} = $in{'vmode'};
$_[0]->{'vaddrs'} = $in{'vmode'} == 2 ? $in{'vaddrs'} : "";
$_[0]->{'vmax'} = $in{'vmax_def'} ? undef : $in{'vmax'};
foreach $i (0..2) {
$_[0]->{"vedit_$i"} = $in{"vedit_$i"};
}
$_[0]->{'vcatchall'} = $in{'vcatchall'};
$_[0]->{'amode'} = $in{'amode'};
$_[0]->{'aliases'} = $in{'amode'} == 2 ? $in{'aliases'} : "";
$_[0]->{'amax'} = $in{'amax_def'} ? undef : $in{'amax'};
$_[0]->{'apath'} = $in{'apath'};
foreach $i (1..6) {
$_[0]->{"aedit_$i"} = $in{"aedit_$i"};
}
$_[0]->{'omode'} = $in{'omode'};
$_[0]->{'oaddrs'} = $in{'omode'} == 2 ? $in{'oaddrs'} : "";
$_[0]->{'flushq'} = $in{'flushq'};
$_[0]->{'smode'} = $in{'smode'};
$_[0]->{'saddrs'} = $in{'smode'} == 2 ? $in{'saddrs'} : "";
}
+316
View File
@@ -0,0 +1,316 @@
# aliases-lib.pl
# Alias file functions
# aliases_file(&config)
# Returns the alias filenames
sub aliases_file
{
if ($config{'alias_file'}) { return [ $config{'alias_file'} ]; }
else {
local(@afiles, $o);
foreach $o (&find_type("O", $_[0])) {
if ($o->{'value'} =~ /^\s*AliasFile=(.*)$/) {
push(@afiles, split(/,/, $1));
}
}
map { s/dbm:// } @afiles;
return \@afiles;
}
}
# list_aliases(files)
# Returns an array of data structures, each containing information about
# one sendmail alias
sub list_aliases
{
local $jfiles = join(",", @{$_[0]});
local $c = $list_aliases_cache{$jfiles};
if (!defined($c)) {
$c = $list_aliases_cache{$jfiles} = [ ];
local $file;
local @skip = split(/\s+/, $config{'alias_skip'});
foreach $file (@{$_[0]}) {
local $lalias;
local $lnum = 0;
local $cmt;
&open_readfile(AFILE, $file);
while(<AFILE>) {
s/\r|\n//g; # remove newlines
if (/^\s*#+\s*(.*)/ && &is_table_comment($_, 1)) {
# A comment line
$cmt = &is_table_comment($_, 1);
}
elsif (/^(#*)\s*([^:$ \t]+)\s*:\s*(.*)$/) {
local(%alias, @values, $v);
$alias{'line'} = $cmt ? $lnum-1 : $lnum;
$alias{'eline'} = $lnum;
$alias{'file'} = $file;
$alias{'files'} = $_[0];
$alias{'enabled'} = $1 ? 0 : 1;
$alias{'name'} = $2;
$alias{'cmt'} = $cmt;
$v = $3;
$alias{'value'} = $v;
while($v =~ /^\s*,?\s*()"([^"]+)"(.*)$/ ||
$v =~ /^\s*,?\s*(\|)"([^"]+)"(.*)$/ ||
$v =~ /^\s*,?\s*()([^,\s]+)(.*)$/) {
push(@values, $1.$2); $v = $3;
}
$alias{'values'} = \@values;
$alias{'num'} = scalar(@$c);
if (&indexof($alias{'name'}, @skip) < 0) {
push(@$c, \%alias);
$lalias = \%alias;
}
$cmt = undef;
}
elsif (/^(#*)\s+(\S.*)$/ && $lalias &&
($1 && !$lalias->{'enabled'} ||
!$1 && $lalias->{'enabled'})) {
# continuation of last alias
$lalias->{'eline'} = $lnum;
local $v = $2;
$lalias->{'value'} .= $v;
while($v =~ /^\s*,?\s*()"([^"]+)"(.*)$/ ||
$v =~ /^\s*,?\s*(\|)"([^"]+)"(.*)$/ ||
$v =~ /^\s*,?\s*()([^,\s]+)(.*)$/) {
push(@{$lalias->{'values'}}, $1.$2); $v = $3;
}
$cmt = undef;
}
else {
# Some other line
$lalias = undef;
$cmt = undef;
}
$lnum++;
}
close(AFILE);
}
}
return @$c;
}
# alias_form([alias], [no-comment])
# Display a form for editing or creating an alias. Each alias can map to
# 1 or more programs, files, lists or users
sub alias_form
{
local ($a, $nocmt, $afile) = @_;
local (@values, $v, $type, $val, @typenames);
if ($a) { @values = @{$a->{'values'}}; }
@typenames = map { $text{"aform_type$_"} } (0 .. 6);
$typenames[0] = "&lt;$typenames[0]&gt;";
# Start of form and table
print &ui_form_start("save_alias.cgi", "post");
if ($a) {
print &ui_hidden("num", $a->{'num'}),"\n";
}
else {
print &ui_hidden("new", 1),"\n";
}
print &ui_table_start($a ? $text{'aform_edit'}
: $text{'aform_create'}, undef, 2);
# Description
if (!$nocmt) {
print &ui_table_row(&hlink($text{'aform_cmt'},"alias_cmt"),
&ui_textbox("cmt", $a ? $a->{'cmt'} : undef, 50));
}
# Alias name
print &ui_table_row(&hlink($text{'aform_name'},"alias_name"),
&ui_textbox("name", $a ? $a->{'name'} : "", 20));
# Enabled flag
print &ui_table_row(&hlink($text{'aform_enabled'}, "alias_enabled"),
&ui_yesno_radio("enabled", !$a || $a->{'enabled'} ? 1 : 0));
# Alias file, if more than one possible
if ($afile && @$afile > 1) {
print &ui_table_row(&hlink($text{'aform_file'}, "alias_file"),
&ui_select("afile", undef, $afile));
}
# Destinations
local @typeopts;
for($j=0; $j<@typenames; $j++) {
if (!$j || $access{"aedit_$j"}) {
push(@typeopts, [ $j, $typenames[$j] ]);
}
}
for($i=0; $i<=@values; $i++) {
($type, $val) = $values[$i] ? &alias_type($values[$i]) : (0, "");
local $typesel = &ui_select("type_$i", $type, \@typeopts);
local $valtxt = &ui_textbox("val_$i", $val, 30);
local $edlnk;
if ($type == 2 && $a) {
$edlnk = &ui_link("edit_afile.cgi?file=$val&num=$a->{'num'}",$text{'aform_afile'});
}
elsif ($type == 5 && $a) {
$edlnk = &ui_link("edit_rfile.cgi?file=$val&num=$a->{'num'}",$text{'aform_afile'});
}
elsif ($type == 6 && $a) {
$edlnk = &ui_link("edit_ffile.cgi?file=$val&num=$a->{'num'}",$text{'aform_afile'});
}
print &ui_table_row(&hlink($text{'aform_val'},"alias_to"),
$typesel."\n".$valtxt."\n".$edlnk);
}
# Table and form end
print &ui_table_end();
if ($a) {
print &ui_form_end([ [ "save", $text{'save'} ],
[ "delete", $text{'delete'} ] ]);
}
else {
print &ui_form_end([ [ "create", $text{'create'} ] ]);
}
}
# create_alias(&details, &files, [norebuild])
# Create a new alias
sub create_alias
{
&list_aliases($_[1]); # force cache init
# Update the config file
local(%aliases);
$_[0]->{'file'} ||= $_[1]->[0];
local $lref = &read_file_lines($_[0]->{'file'});
$_[0]->{'line'} = scalar(@$lref);
push(@$lref, &make_table_comment($_[0]->{'cmt'}, 1));
local $str = ($_[0]->{'enabled'} ? "" : "# ") . $_[0]->{'name'} . ": " .
join(',', map { /\s/ ? "\"$_\"" : $_ } @{$_[0]->{'values'}});
push(@$lref, $str);
$_[0]->{'eline'} = scalar(@$lref)-1;
&flush_file_lines($_[0]->{'file'});
if (!$_[2]) {
if (!&rebuild_map_cmd($_[0]->{'file'})) {
&system_logged("newaliases >/dev/null 2>&1");
}
}
# Add to the cache
local $jfiles = join(",", @{$_[1]});
local $c = $list_aliases_cache{$jfiles};
$_[0]->{'num'} = scalar(@$c);
push(@$c, $_[0]);
}
# delete_alias(&details, [norebuild])
# Deletes one mail alias
sub delete_alias
{
# Remove from the file
local $lref = &read_file_lines($_[0]->{'file'});
local $len = $_[0]->{'eline'} - $_[0]->{'line'} + 1;
splice(@$lref, $_[0]->{'line'}, $len);
&flush_file_lines($_[0]->{'file'});
if (!$_[1]) {
if (!&rebuild_map_cmd($_[0]->{'file'})) {
&system_logged("newaliases >/dev/null 2>&1");
}
}
# Remove from the cache
local $jfiles = join(",", @{$_[0]->{'files'}});
local $c = $list_aliases_cache{$jfiles};
local $idx = &indexof($_[0], @$c);
splice(@$c, $idx, 1) if ($idx != -1);
&renumber_list($c, $_[0], -$len);
}
# modify_alias(&old, &details, [norebuild])
# Update some existing alias
sub modify_alias
{
# Add to the file
local @newlines;
push(@newlines, &make_table_comment($_[1]->{'cmt'}, 1));
local $str = ($_[1]->{'enabled'} ? "" : "# ") . $_[1]->{'name'} . ": " .
join(',', map { /\s/ ? "\"$_\"" : $_ } @{$_[1]->{'values'}});
push(@newlines, $str);
local $lref = &read_file_lines($_[0]->{'file'});
local $len = $_[0]->{'eline'} - $_[0]->{'line'} + 1;
splice(@$lref, $_[0]->{'line'}, $len, @newlines);
&flush_file_lines($_[0]->{'file'});
if (!$_[2]) {
if (!&rebuild_map_cmd($_[0]->{'file'})) {
&system_logged("newaliases >/dev/null 2>&1");
}
}
local $jfiles = join(",", @{$_[0]->{'files'}});
local $c = $list_aliases_cache{$jfiles};
local $idx = &indexof($_[0], @$c);
$_[1]->{'file'} = $_[0]->{'file'};
$_[1]->{'line'} = $_[0]->{'line'};
$_[1]->{'eline'} = $_[1]->{'line'}+scalar(@newlines)-1;
$c->[$idx] = $_[1] if ($idx != -1);
&renumber_list($c, $_[0], scalar(@newlines) - $len);
}
# alias_type(string)
# Return the type and destination of some alias string
sub alias_type
{
local @rv;
if ($_[0] =~ /^\|$module_config_directory\/autoreply.pl\s+(\S+)/) {
@rv = (5, $1);
}
elsif ($_[0] =~ /^\|$module_config_directory\/filter.pl\s+(\S+)/) {
@rv = (6, $1);
}
elsif ($_[0] =~ /^\|(.*)$/) {
@rv = (4, $1);
}
elsif ($_[0] =~ /^(\/.*)$/) {
@rv = (3, $1);
}
elsif ($_[0] =~ /^:include:"(.*)"$/ || $_[0] =~ /^:include:(.*)$/) {
@rv = (2, $1);
}
else {
@rv = (1, $_[0]);
}
return wantarray ? @rv : $rv[0];
}
# lock_alias_files(&files)
sub lock_alias_files
{
foreach $f (@{$_[0]}) {
&lock_file($f);
}
}
# unlock_alias_files(&files)
sub unlock_alias_files
{
foreach $f (@{$_[0]}) {
&unlock_file($f);
}
}
# can_edit_alias(&alias)
sub can_edit_alias
{
local ($a) = @_;
foreach my $v (@{$a->{'values'}}) {
$access{"aedit_".&alias_type($v)} || return 0;
}
if ($access{'amode'} == 2) {
$a->{'name'} =~ /$access{'aliases'}/ || return 0;
}
elsif ($access{'amode'} == 3) {
$a->{'name'} eq $remote_user || return 0;
}
return 1;
}
1;
+500
View File
@@ -0,0 +1,500 @@
#!/usr/local/bin/perl
# autoreply.pl
# Simple autoreply script. Command line arguments are :
# autoreply-file username alternate-file
# Read sendmail module config
$ENV{'PATH'} = "/bin:/usr/bin:/sbin:/usr/sbin";
$p = -l $0 ? readlink($0) : $0;
$p =~ /^(.*)\/[^\/]+$/;
$moddir = $1;
%config = &read_config_file("$moddir/config");
# If this isn't the sendmail module, try it
if (!$config{'sendmail_path'} || !-x $config{'sendmail_path'}) {
$moddir =~ s/([^\/]+)$/sendmail/;
%config = &read_config_file("$moddir/config");
}
if (!$config{'sendmail_path'} || !-x $config{'sendmail_path'}) {
# Make some guesses about sendmail
if (-x "/usr/sbin/sendmail") {
%config = ( 'sendmail_path' => '/usr/sbin/sendmail' );
}
elsif (-x "/usr/local/sbin/sendmail") {
%config = ( 'sendmail_path' => '/usr/local/sbin/sendmail' );
}
elsif (-x "/opt/csw/lib/sendmail") {
%config = ( 'sendmail_path' => '/opt/csw/lib/sendmail' );
}
elsif (-x "/usr/lib/sendmail") {
%config = ( 'sendmail_path' => '/usr/lib/sendmail' );
}
else {
die "Failed to find sendmail or config file";
}
}
# read headers and body
$lnum = 0;
while(<STDIN>) {
$headers .= $_;
s/\r|\n//g;
if (/^From\s+(\S+)/ && $lnum == 0) {
# Magic From line
$fromline = $1;
}
elsif (/^(\S+):\s+(.*)/) {
$header{lc($1)} = $2;
$lastheader = lc($1);
}
elsif (/^\s+(.*)/ && $lastheader) {
$header{$lastheader} .= $_;
}
elsif (!$_) { last; }
$lnum++;
}
while(<STDIN>) {
$body .= $_;
}
if ($header{'x-webmin-autoreply'} ||
$header{'auto-submitted'} && lc($header{'auto-submitted'}) ne 'no') {
print STDERR "Cancelling autoreply to an autoreply\n";
exit 0;
}
if ($header{'x-spam-flag'} =~ /^Yes/i || $header{'x-spam-status'} =~ /^Yes/i) {
print STDERR "Cancelling autoreply to message already marked as spam\n";
exit 0;
}
if ($header{'x-mailing-list'} ||
$header{'list-id'} ||
$header{'precedence'} =~ /junk|bulk|list/i ||
$header{'to'} =~ /Multiple recipients of/i ||
$header{'from'} =~ /majordomo/i ||
$fromline =~ /majordomo/i) {
# Do nothing if post is from a mailing list
print STDERR "Cancelling autoreply to message from mailing list\n";
exit 0;
}
if ($header{'from'} =~ /postmaster|mailer-daemon/i ||
$fromline =~ /postmaster|mailer-daemon|<>/ ) {
# Do nothing if post is a bounce
print STDERR "Cancelling autoreply to bounce message\n";
exit 0;
}
# work out the correct to address
@to = ( &split_addresses($header{'to'}),
&split_addresses($header{'cc'}),
&split_addresses($header{'bcc'}) );
$to = $to[0]->[0];
foreach $t (@to) {
if ($t->[0] =~ /^([^\@\s]+)/ && $1 eq $ARGV[1] ||
$t->[0] eq $ARGV[1]) {
$to = $t->[0];
}
}
# build list of default reply headers
$rheader{'From'} = $to;
$rheader{'To'} = $header{'reply-to'} ? $header{'reply-to'}
: $header{'from'};
$rheader{'Subject'} = "Autoreply to $header{'subject'}";
$rheader{'X-Webmin-Autoreply'} = 1;
$rheader{'X-Originally-To'} = $header{'to'};
chop($host = `hostname`);
$rheader{'Message-Id'} = "<".time().".".$$."\@".$host.">";
$rheader{'Auto-Submitted'} = 'auto-replied';
# read the autoreply file (or alternate)
$arfile = &home_file($ARGV[0]);
$arfile2 = $ARGV[2] ? &home_file($ARGV[2]) : undef;
if (open(AUTO, "<".$arfile) ||
$arfile2 && open(AUTO, "<".$arfile2)) {
while(<AUTO>) {
s/\$SUBJECT/$header{'subject'}/g;
s/\$FROM/$header{'from'}/g;
s/\$TO/$to/g;
s/\$DATE/$header{'date'}/g;
s/\$BODY/$body/g;
if (/^(\S+):\s*(.*)/ && !$doneheaders) {
if ($1 eq "No-Autoreply-Regexp") {
push(@no_regexp, $2);
}
elsif ($1 eq "Must-Autoreply-Regexp") {
push(@must_regexp, $2);
}
elsif ($1 eq "Autoreply-File") {
push(@files, $2);
}
else {
$rheader{$1} = $2;
$rheaders .= $_;
}
}
else {
$rbody .= $_;
$doneheaders = 1;
}
}
close(AUTO);
}
else {
$rbody = "Failed to open autoreply file $ARGV[0] : $!";
}
if ($header{'x-original-to'} && $rheader{'No-Forward-Reply'}) {
# Don't autoreply to a forwarded email
($ot) = &split_addresses($header{'x-original-to'});
if ($ot->[0] =~ /^([^\@\s]+)/ && $1 ne $ARGV[1] &&
$ot->[0] ne $ARGV[1]) {
print STDERR "Cancelling autoreply to forwarded message\n";
exit 0;
}
}
# Open the replies tracking DBM, if one was set
my $rtfile = $rheader{'Reply-Tracking'};
if ($rtfile) {
$rtfile = &home_file($rtfile);
$track_replies = dbmopen(%replies, $rtfile, 0700);
eval { $replies{"test\@example.com"} = 1; };
if ($@) {
# DBM is corrupt! Clear it
dbmclose(%replies);
unlink($rtfile.".dir");
unlink($rtfile.".pag");
unlink($rtfile.".db");
$track_replies = dbmopen(%replies, $rtfile, 0700);
}
}
if ($track_replies) {
# See if we have replied to this address before
$period = $rheader{'Reply-Period'} || 60*60;
($from) = &split_addresses($header{'from'});
if ($from) {
$lasttime = $replies{$from->[0]};
$now = time();
if ($now < $lasttime+$period) {
# Autoreplied already in this period .. just halt
print STDERR "Already autoreplied at $lasttime which ",
"is less than $period ago\n";
exit 0;
}
$replies{$from->[0]} = $now;
}
}
delete($rheader{'Reply-Tracking'});
delete($rheader{'Reply-Period'});
# Check if we are within the requested time range
if ($rheader{'Autoreply-Start'} && time() < $rheader{'Autoreply-Start'} ||
$rheader{'Autoreply-End'} && time() > $rheader{'Autoreply-End'}) {
# Nope .. so do nothing
print STDERR "Outside of autoreply window of ",
"$rheader{'Autoreply-Start'}-$rheader{'Autoreply-End'}\n";
exit 0;
}
delete($rheader{'Autoreply-Start'});
delete($rheader{'Autoreply-End'});
# Check if there is a deny list, and if so don't send a reply
@fromsplit = &split_addresses($header{'from'});
if (@fromsplit) {
$from = $fromsplit[0]->[0];
($fromuser, $fromdom) = split(/\@/, $from);
foreach $n (split(/\s+/, $rheader{'No-Autoreply'})) {
if ($n =~ /^(\S+)\@(\S+)$/ && lc($from) eq lc($n) ||
$n =~ /^\*\@(\S+)$/ && lc($fromdom) eq lc($1) ||
$n =~ /^(\S+)\@\*$/ && lc($fromuser) eq lc($1) ||
$n =~ /^\*\@\*(\S+)$/ && lc($fromdom) =~ /$1$/i ||
$n =~ /^(\S+)\@\*(\S+)$/ && lc($fromuser) eq lc($1) &&
lc($fromdom) =~ /$2$/i) {
exit(0);
}
}
delete($rheader{'No-Autoreply'});
}
# Check if message matches one of the deny regexps, or doesn't match a
# required regexp
foreach $re (@no_regexp) {
if ($re =~ /\S/ && $headers =~ /$re/i) {
print STDERR "Skipping due to match on $re\n";
exit(0);
}
}
if (@must_regexp) {
my $found = 0;
foreach $re (@must_regexp) {
if ($headers =~ /$re/i) {
$found++;
}
}
if (!$found) {
print STDERR "Skipping due to no match on ",
join(" ", @must_regexp),"\n";
exit(0);
}
}
# Check if we have a From address
if (!$rheader{'From'}) {
print STDERR "Could not work out From address\n";
exit 0;
}
# if spamassassin is installed, feed the email to it
$spam = &has_command("spamassassin");
if ($spam) {
$temp = "/tmp/autoreply.spam.$$";
unlink($temp);
open(SPAM, "| $spam >$temp 2>/dev/null");
print SPAM $headers;
print SPAM $body;
close(SPAM);
$isspam = undef;
open(SPAMOUT, "<".$temp);
while(<SPAMOUT>) {
if (/^X-Spam-Status:\s+Yes/i) {
$isspam = 1;
last;
}
last if (!/\S/);
}
close(SPAMOUT);
unlink($temp);
if ($isspam) {
print STDERR "Not autoreplying to spam\n";
exit 0;
}
}
# Read attached files
foreach $f (@files) {
local $/ = undef;
if (!open(FILE, "<".$f)) {
print STDERR "Failed to open $f : $!\n";
exit(1);
}
$data = <FILE>;
close(FILE);
$f =~ s/^.*\///;
$type = &guess_mime_type($f)."; name=\"$f\"";
$disp = "inline; filename=\"$f\"";
push(@attach, { 'headers' => [ [ 'Content-Type', $type ],
[ 'Content-Disposition', $disp ],
[ 'Content-Transfer-Encoding', 'base64' ]
],
'data' => $data });
}
# Work out the content type and encoding
$type = $rbody =~ /<html[^>]*>|<body[^>]*>/i ? "text/html" : "text/plain";
$cs = $rheader{'Charset'};
delete($rheader{'Charset'});
if ($rbody =~ /[\177-\377]/) {
# High-ascii
$enc = "quoted-printable";
$encrbody = &quoted_encode($rbody);
$type .= "; charset=".($cs || "UTF-8");
}
else {
$enc = undef;
$encrbody = $rbody;
$type .= "; charset=$cs" if ($cs);
}
# run sendmail and feed it the reply
($rfrom) = &split_addresses($rheader{'From'});
if ($rfrom->[0]) {
open(MAIL, "|$config{'sendmail_path'} -t -f".quotemeta($rfrom->[0]));
}
else {
open(MAIL, "|$config{'sendmail_path'} -t -f".quotemeta($to));
}
foreach $h (keys %rheader) {
print MAIL "$h: $rheader{$h}\n";
}
# Create the message body
if (!@attach) {
# Just text, so no encoding is needed
if ($enc) {
print MAIL "Content-Transfer-Encoding: $enc\n";
}
if (!$rheader{'Content-Type'}) {
print MAIL "Content-Type: $type\n";
}
print MAIL "\n";
print MAIL $encrbody;
}
else {
# Need to send a multi-part MIME message
print MAIL "MIME-Version: 1.0\n";
$bound = "bound".time();
$ctype = "multipart/mixed";
print MAIL "Content-Type: $ctype; boundary=\"$bound\"\n";
print MAIL "\n";
$bodyattach = { 'headers' => [ [ 'Content-Type', $type ], ],
'data' => $encrbody };
if ($enc) {
push(@{$bodyattach->{'headers'}},
[ 'Content-Transfer-Encoding', $enc ]);
}
splice(@attach, 0, 0, $bodyattach);
# Send attachments
print MAIL "This is a multi-part message in MIME format.","\n";
$lnum++;
foreach $a (@attach) {
print MAIL "\n";
print MAIL "--",$bound,"\n";
local $enc;
foreach $h (@{$a->{'headers'}}) {
print MAIL $h->[0],": ",$h->[1],"\n";
$enc = $h->[1]
if (lc($h->[0]) eq 'content-transfer-encoding');
$lnum++;
}
print MAIL "\n";
$lnum++;
if (lc($enc) eq 'base64') {
local $enc = &encode_base64($a->{'data'});
$enc =~ s/\r//g;
print MAIL $enc;
}
else {
$a->{'data'} =~ s/\r//g;
$a->{'data'} =~ s/\n\.\n/\n\. \n/g;
print MAIL $a->{'data'};
if ($a->{'data'} !~ /\n$/) {
print MAIL "\n";
}
}
}
print MAIL "\n";
print MAIL "--",$bound,"--","\n";
print MAIL "\n";
}
close(MAIL);
# split_addresses(string)
# Splits a comma-separated list of addresses into [ email, real-name, original ]
# triplets
sub split_addresses
{
local (@rv, $str = $_[0]);
while(1) {
if ($str =~ /^[\s,]*(([^<>\(\)"\s]+)\s+\(([^\(\)]+)\))(.*)$/) {
# An address like foo@bar.com (Fooey Bar)
push(@rv, [ $2, $3, $1 ]);
$str = $4;
}
elsif ($str =~ /^[\s,]*("([^"]+)"\s*<([^\s<>,]+)>)(.*)$/ ||
$str =~ /^[\s,]*(([^<>\@]+)\s+<([^\s<>,]+)>)(.*)$/ ||
$str =~ /^[\s,]*(([^<>\@]+)<([^\s<>,]+)>)(.*)$/ ||
$str =~ /^[\s,]*(([^<>\[\]]+)\s+\[mailto:([^\s\[\]]+)\])(.*)$/||
$str =~ /^[\s,]*(()<([^<>,]+)>)(.*)/ ||
$str =~ /^[\s,]*(()([^\s<>,]+))(.*)/) {
# Addresses like "Fooey Bar" <foo@bar.com>
# Fooey Bar <foo@bar.com>
# Fooey Bar<foo@bar.com>
# Fooey Bar [mailto:foo@bar.com]
# <foo@bar.com>
# <group name>
# foo@bar.com
push(@rv, [ $3, $2 eq "," ? "" : $2, $1 ]);
$str = $4;
}
else {
last;
}
}
return @rv;
}
# encode_base64(string)
# Encodes a string into base64 format
sub encode_base64
{
local $res;
pos($_[0]) = 0; # ensure start at the beginning
while ($_[0] =~ /(.{1,57})/gs) {
$res .= substr(pack('u57', $1), 1)."\n";
chop($res);
}
$res =~ tr|\` -_|AA-Za-z0-9+/|;
local $padding = (3 - length($_[0]) % 3) % 3;
$res =~ s/.{$padding}$/'=' x $padding/e if ($padding);
return $res;
}
# guess_mime_type(filename)
sub guess_mime_type
{
local ($file) = @_;
return $file =~ /\.gif/i ? "image/gif" :
$file =~ /\.(jpeg|jpg)/i ? "image/jpeg" :
$file =~ /\.txt/i ? "text/plain" :
$file =~ /\.(htm|html)/i ? "text/html" :
$file =~ /\.doc/i ? "application/msword" :
$file =~ /\.xls/i ? "application/vnd.ms-excel" :
$file =~ /\.ppt/i ? "application/vnd.ms-powerpoint" :
$file =~ /\.(mpg|mpeg)/i ? "video/mpeg" :
$file =~ /\.avi/i ? "video/x-msvideo" :
$file =~ /\.(mp2|mp3)/i ? "audio/mpeg" :
$file =~ /\.wav/i ? "audio/x-wav" :
"application/octet-stream";
}
sub read_config_file
{
local %config;
if (open(CONF, "<".$_[0])) {
while(<CONF>) {
if (/^(\S+)=(.*)/) {
$config{$1} = $2;
}
}
close(CONF);
}
return %config;
}
# quoted_encode(text)
# Encodes text to quoted-printable format
sub quoted_encode
{
local $t = $_[0];
$t =~ s/([=\177-\377])/sprintf("=%2.2X",ord($1))/ge;
return $t;
}
sub has_command
{
local ($cmd) = @_;
if ($cmd =~ /^\//) {
return -x $cmd ? $cmd : undef;
}
else {
foreach my $d (split(":", $ENV{'PATH'}), "/usr/bin", "/usr/local/bin") {
return "$d/$cmd" if (-x "$d/$cmd");
}
return undef;
}
}
# home_file(file)
# If a filename is not absolute, find it relative to the home dir
sub home_file
{
my ($rtfile) = @_;
if ($rtfile =~ /^~/) {
$rtfile =~ s/^~/$ENV{'HOME'}/;
}
if ($rtfile !~ /^\//) {
$rtfile = $ENV{'HOME'}.'/'.$rtfile;
}
return $rtfile;
}
+77
View File
@@ -0,0 +1,77 @@
do 'sendmail-lib.pl';
do 'aliases-lib.pl';
do 'virtusers-lib.pl';
do 'mailers-lib.pl';
do 'generics-lib.pl';
do 'domain-lib.pl';
do 'access-lib.pl';
# backup_config_files()
# Returns files and directories that can be backed up
sub backup_config_files
{
# Add main config file
local @rv = ( $config{'sendmail_cf'} );
local $conf = &get_sendmailcf();
# Add files references in .cf
local $f;
foreach $f (&find_type("F", $conf)) {
if ($f->{'value'} =~ /^[wMtGR][^\/]*(\/\S+)/ ||
$f->{'value'} =~ /^\{[wMtGR]\}[^\/]*(\/\S+)/) {
push(@rv, $1);
}
}
# Add other maps
local $afiles = &aliases_file($conf);
push(@rv, @$afiles);
local $vfile = &virtusers_file($conf);
push(@rv, $vfile) if ($vfile);
local $mfile = &mailers_file($conf);
push(@rv, $mfile) if ($mfile);
local $gfile = &generics_file($conf);
push(@rv, $gfile) if ($gfile);
local $dfile = &domains_file($conf);
push(@rv, $dfile) if ($dfile);
local $afile = &access_file($conf);
push(@rv, $afile) if ($afile);
# Add .m4 files
push(@rv, $config{'sendmail_mc'}) if ($config{'sendmail_mc'});
return @rv;
}
# pre_backup(&files)
# Called before the files are actually read
sub pre_backup
{
return undef;
}
# post_backup(&files)
# Called after the files are actually read
sub post_backup
{
return undef;
}
# pre_restore(&files)
# Called before the files are restored from a backup
sub pre_restore
{
return undef;
}
# post_restore(&files)
# Called after the files are restored from a backup
sub post_restore
{
&restart_sendmail();
return undef;
}
1;
+1
View File
@@ -0,0 +1 @@
../mailboxes/boxes-lib.pl
+63
View File
@@ -0,0 +1,63 @@
#!/usr/local/bin/perl
# build.cgi
# Build a new sendmail.cf, after first confirming the changes
require './sendmail-lib.pl';
require './features-lib.pl';
$features_access || &error($text{'features_ecannot'});
&ReadParse();
$cmd = "cd $config{'sendmail_features'}/m4 ; m4 $config{'sendmail_features'}/m4/cf.m4 $config{'sendmail_mc'}";
if ($in{'confirm'}) {
# Replace sendmail.cf with new version
&lock_file($config{'sendmail_cf'});
system("$cmd 2>/dev/null >$config{'sendmail_cf'} </dev/null");
&unlock_file($config{'sendmail_cf'});
&restart_sendmail();
&webmin_log("build");
&redirect("");
}
else {
# Just show user what would be done
&ui_print_header(undef, $text{'build_title'}, "");
if (!&has_command("m4")) {
print &text('build_em4', "<tt>m4</tt>"),"<p>\n";
&ui_print_footer("list_features.cgi", $text{'features_return'});
exit;
}
$temp = &transname();
$out = `$cmd 2>&1 >$temp`;
if ($?) {
print &text('build_ebuild', "<pre>$out</pre>"),"<p>\n";
&ui_print_footer("list_features.cgi", $text{'features_return'});
exit;
}
if (&has_command("diff") && -r $config{'sendmail_cf'}) {
$diff = `diff $config{'sendmail_cf'} $temp 2>/dev/null`;
if (!$diff) {
print "$text{'build_nodiff'}<p>\n";
&ui_print_footer("list_features.cgi", $text{'features_return'});
exit;
}
}
print "<center><form action=build.cgi>\n";
print "<input type=hidden name=confirm value=1>\n";
print &text('build_rusure', "<tt>$config{'sendmail_cf'}</tt>",
"<tt>$config{'sendmail_mc'}</tt>"),"<p>\n";
print $text{'build_rusure2'},"<p>\n";
print "<input type=submit value='$text{'build_ok'}'>\n";
print "</form></center>\n";
if ($diff) {
print "<b>$text{'build_diff'}</b><p>\n";
print "<table border><tr $cb><td><pre>",
$diff,"</pre></td></tr></table><p>\n";
}
unlink($temp);
&ui_print_footer("list_features.cgi", $text{'features_return'});
}
+64
View File
@@ -0,0 +1,64 @@
do 'sendmail-lib.pl';
do 'virtusers-lib.pl';
do 'generics-lib.pl';
do 'domain-lib.pl';
do 'access-lib.pl';
sub cgi_args
{
my ($cgi) = @_;
if ($cgi =~ /^list_/) {
# All these are OK with no args
return '';
}
elsif ($cgi eq 'edit_alias.cgi') {
# Assume first one
return 'num=0';
}
elsif ($cgi eq 'edit_virtuser.cgi') {
# First virtuser, if any
my $conf = &get_sendmailcf();
my $vfile = &virtusers_file($conf);
my ($vdbm, $vdbmtype) = &virtusers_dbm($conf);
if ($vdbm) {
my @virts = &list_virtusers($vfile);
return @virts ? 'num=0' : 'none';
}
return 'none';
}
elsif ($cgi eq 'edit_generic.cgi') {
# First outgoing address mapping
my $conf = &get_sendmailcf();
my $gfile = &generics_file($conf);
my ($gdbm, $gdbmtype) = &generics_dbm($conf);
if ($gdbm) {
my @gens = &list_generics($gfile);
return @gens ? 'num=0' : 'none';
}
return 'none';
}
elsif ($cgi eq 'edit_domain.cgi') {
# First domain table entry
my $conf = &get_sendmailcf();
my $dfile = &domains_file($conf);
my ($ddbm, $ddbmtype) = &domains_dbm($conf);
if ($ddbm) {
my @doms = &list_domains($dfile);
return @doms ? 'num=0' : 'none';
}
return 'none';
}
elsif ($cgi eq 'edit_access.cgi') {
# First spam control rule
my $conf = &get_sendmailcf();
my $afile = &access_file($conf);
my ($adbm, $adbmtype) = &access_dbm($conf);
if ($adbm) {
my @accs = &list_access($afile);
return @accs ? 'num=0' : 'none';
}
return 'none';
}
return undef;
}
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid /var/run/sm-client.pid /run/sendmail.pid
makemap_path=makemap
sendmail_command=service sendmail start
sendmail_stop_command=service sendmail stop
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid /var/run/sm-client.pid /run/sendmail.pid
makemap_path=makemap
sendmail_command=service sendmail start
sendmail_stop_command=service sendmail stop
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid /var/run/sm-client.pid /run/sendmail.pid
makemap_path=makemap
sendmail_command=service sendmail start
sendmail_stop_command=service sendmail stop
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid /var/run/sm-client.pid /run/sendmail.pid
makemap_path=makemap
sendmail_command=service sendmail start
sendmail_stop_command=service sendmail stop
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid /var/run/sm-client.pid /run/sendmail.pid
makemap_path=makemap
sendmail_command=service sendmail start
sendmail_stop_command=service sendmail stop
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid /var/run/sm-client.pid /run/sendmail.pid
makemap_path=makemap
sendmail_command=service sendmail start
sendmail_stop_command=service sendmail stop
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid /var/run/sm-client.pid /run/sendmail.pid
makemap_path=makemap
sendmail_command=service sendmail start
sendmail_stop_command=service sendmail stop
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid /var/run/sm-client.pid /run/sendmail.pid
makemap_path=makemap
sendmail_command=service sendmail start
sendmail_stop_command=service sendmail stop
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid /var/run/sm-client.pid /run/sendmail.pid
makemap_path=makemap
sendmail_command=service sendmail start
sendmail_stop_command=service sendmail stop
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+31
View File
@@ -0,0 +1,31 @@
sendmail_cf=/etc/sendmail.cf
sendmail_pid=/etc/sendmail.pid
makemap_path=makemap
sendmail_command=startsrc -s sendmail -a "-bd -q30m"
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
alias_skip=COMPONENT_NAME FUNCTIONS ORIGINS
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/lib/sendmail-cf
sendmail_mc=/usr/lib/sendmail-cf/redhat.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+30
View File
@@ -0,0 +1,30 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/usr/lib/sendmail -bd -q1h
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+32
View File
@@ -0,0 +1,32 @@
sendmail_cf=/etc/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/usr/lib/sendmail -bd -q1h
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+32
View File
@@ -0,0 +1,32 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/usr/lib/sendmail -bd -q1h
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+32
View File
@@ -0,0 +1,32 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/var/run/sendmail/mta/sendmail.pid
makemap_path=makemap
sendmail_command=/usr/lib/sendmail -bd -q1h
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail/cf
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+35
View File
@@ -0,0 +1,35 @@
makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/src/contrib/sendmail/cf
sendmail_mc=/usr/src/etc/sendmail/freebsd.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+35
View File
@@ -0,0 +1,35 @@
makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/src/contrib/sendmail/cf
sendmail_mc=/usr/src/etc/sendmail/freebsd.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+40
View File
@@ -0,0 +1,40 @@
sort_mode=0
track_read=0
sendmail_path=/usr/lib/sendmail
sendmail_command=/usr/lib/sendmail -bd -q1h
smrsh_dir=/etc/smrsh
perpage=20
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
order_mail=0
mail_dir=/var/spool/mail
sendmail_cf=/etc/mail/sendmail.cf
wrap_width=80
alias_file=
generics_file=
mailq_refresh=
wrap_mode=
virtusers_file=
domains_file=
access_file=
send_mode=
mailers_file=
sendmail_stop_command=
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+40
View File
@@ -0,0 +1,40 @@
sort_mode=0
track_read=0
sendmail_path=/usr/lib/sendmail
sendmail_command=/etc/init.d/sendmail start
smrsh_dir=/etc/smrsh
perpage=20
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
order_mail=0
mail_dir=/var/spool/mail
sendmail_cf=/etc/mail/sendmail.cf
wrap_width=80
alias_file=
generics_file=
mailq_refresh=
wrap_mode=
virtusers_file=
domains_file=
access_file=
send_mode=
mailers_file=
sendmail_stop_command=/etc/init.d/sendmail stop
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+30
View File
@@ -0,0 +1,30 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/etc/mail/sendmail.pid
makemap_path=makemap
sendmail_command=/sbin/init.d/sendmail start
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+38
View File
@@ -0,0 +1,38 @@
access_file=
sendmail_cf=/etc/sendmail.cf
virtusers_file=
makemap_path=makemap
sendmail_path=/usr/lib/sendmail
sendmail_pid=/etc/sendmail.pid
alias_file=
domains_file=
sendmail_command=/usr/lib/sendmail -bd -q1h
mailers_file=
generics_file=
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
sendmail_mc=/etc/sendmail.mc
sendmail_features=/usr/lib/sendmail.cf_m4
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+35
View File
@@ -0,0 +1,35 @@
makemap_path=makemap
mail_dir=/var/mail
sendmail_path=/usr/sbin/sendmail
sendmail_pid=/var/run/sendmail.pid
alias_file=
sendmail_command=/usr/sbin/sendmail -bd
mailers_file=
sendmail_cf=/etc/sendmail.cf
virtusers_file=
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
sendmail_mc=/usr/share/sendmail/conf/cf/generic-darwin.mc
sendmail_features=/usr/share/sendmail/conf
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+35
View File
@@ -0,0 +1,35 @@
makemap_path=makemap
mail_dir=/var/mail
sendmail_path=/usr/sbin/sendmail
sendmail_pid=/var/run/sendmail.pid
alias_file=
sendmail_command=/usr/sbin/sendmail -bd
mailers_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
sendmail_mc=/usr/share/sendmail/conf/cf/generic-darwin.mc
sendmail_features=/usr/share/sendmail/conf
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+34
View File
@@ -0,0 +1,34 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=service sendmail start
sendmail_stop_command=service sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail-cf
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
queue_dirs=/var/spool/clientmqueue
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail-cf
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+34
View File
@@ -0,0 +1,34 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=service sendmail start
sendmail_stop_command=service sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail-cf
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
queue_dirs=/var/spool/clientmqueue
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+31
View File
@@ -0,0 +1,31 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+35
View File
@@ -0,0 +1,35 @@
makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/sendmail.cf
sendmail_features=/usr/share/sendmail/cf
sendmail_mc=/usr/share/sendmail/cf/cf/generic-openlinux.mc
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/mta start
sendmail_stop_command=/etc/rc.d/init.d/mta stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_features=/usr/share/sendmail/cf
sendmail_mc=/usr/share/sendmail/cf/cf/generic-openlinux.mc
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/mta start
sendmail_stop_command=/etc/rc.d/init.d/mta stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_features=/usr/share/sendmail/cf
sendmail_mc=/usr/share/sendmail/cf/cf/generic-openlinux.mc
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/mta start
sendmail_stop_command=/etc/rc.d/init.d/mta stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=systemctl start sendmail
sendmail_stop_command=systemctl stop sendmail
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail
sendmail_mc=/etc/mail/linux.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+34
View File
@@ -0,0 +1,34 @@
makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
perpage=20
sendmail_features=/usr/share/sendmail
sendmail_mc=/usr/share/sendmail/cf/openbsd-proto.mc
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+31
View File
@@ -0,0 +1,31 @@
sendmail_cf=/etc/sendmail.cf
sendmail_pid=/etc/mail/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/usr/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+30
View File
@@ -0,0 +1,30 @@
sendmail_cf=/var/adm/sendmail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/sbin/init.d/sendmail start
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/lib/sendmail-cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid /var/run/sm-client.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+34
View File
@@ -0,0 +1,34 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid /var/run/sm-client.pid
makemap_path=makemap
sendmail_command=systemctl start sendmail.service
sendmail_stop_command=systemctl stop sendmail.service
sendmail_restart_command=systemctl restart sendmail.service
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/mail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+30
View File
@@ -0,0 +1,30 @@
sendmail_cf=/etc/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/usr/lib/sendmail -bd -q1h
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+40
View File
@@ -0,0 +1,40 @@
sort_mode=0
track_read=0
sendmail_path=/usr/lib/sendmail
sendmail_command=/usr/lib/sendmail -bd -q1h
smrsh_dir=/etc/smrsh
perpage=20
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
order_mail=0
mail_dir=/var/spool/mail
sendmail_cf=/etc/mail/sendmail.cf
wrap_width=80
alias_file=
generics_file=
mailq_refresh=
wrap_mode=
virtusers_file=
domains_file=
access_file=
send_mode=
mailers_file=
sendmail_stop_command=
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+40
View File
@@ -0,0 +1,40 @@
sort_mode=0
track_read=0
sendmail_path=/usr/lib/sendmail
sendmail_command=/etc/rc.d/rc.sendmail start
smrsh_dir=/etc/smrsh
perpage=20
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
order_mail=0
mail_dir=/var/spool/mail
sendmail_cf=/etc/mail/sendmail.cf
wrap_width=80
alias_file=
generics_file=
mailq_refresh=
wrap_mode=
virtusers_file=
domains_file=
access_file=
send_mode=
mailers_file=
sendmail_stop_command=/etc/rc.d/rc.sendmail stop
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+40
View File
@@ -0,0 +1,40 @@
sort_mode=0
track_read=0
sendmail_path=/usr/sbin/sendmail
sendmail_command=/usr/sbin/sendmail -bd -q1h
smrsh_dir=/usr/sbin/smrsh
perpage=20
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
order_mail=0
mail_dir=/var/spool/mail
sendmail_cf=/etc/mail/sendmail.cf
wrap_width=80
alias_file=
generics_file=
mailq_refresh=
wrap_mode=
virtusers_file=
domains_file=
access_file=
send_mode=
mailers_file=
sendmail_stop_command=
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/sendmail.cf
sendmail_pid=/etc/mail/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_mc=/usr/lib/mail/cf/main-v7sun.mc
sendmail_features=/usr/lib/mail
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+38
View File
@@ -0,0 +1,38 @@
access_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
makemap_path=makemap
sendmail_path=/usr/lib/sendmail
alias_file=
domains_file=
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
mailers_file=
generics_file=
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_mc=/usr/lib/mail/cf/main.mc
sendmail_features=/usr/lib/mail
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
sendmail_smf=network/smtp:sendmail
mail_type=0
delete_confirm=1
+39
View File
@@ -0,0 +1,39 @@
access_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
makemap_path=makemap
sendmail_path=/usr/lib/sendmail
sendmail_pid=/etc/mail/sendmail.pid
alias_file=
domains_file=
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
mailers_file=
generics_file=
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_mc=/usr/lib/mail/cf/main-v7sun.mc
sendmail_features=/usr/lib/mail
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+39
View File
@@ -0,0 +1,39 @@
access_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
makemap_path=makemap
sendmail_path=/usr/lib/sendmail
sendmail_pid=/var/run/sendmail.pid
alias_file=
domains_file=
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
mailers_file=
generics_file=
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_mc=/usr/lib/mail/cf/main-v7sun.mc
sendmail_features=/usr/lib/mail
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+32
View File
@@ -0,0 +1,32 @@
sendmail_cf=/etc/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/usr/lib/sendmail -bd -q1h
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail
sendmail_mc=/etc/mail/linux.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail
sendmail_mc=/etc/mail/linux.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+33
View File
@@ -0,0 +1,33 @@
sendmail_cf=/etc/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/lib/sendmail-cf
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+32
View File
@@ -0,0 +1,32 @@
sendmail_cf=/etc/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/usr/lib/sendmail -bd -q1h
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail
sendmail_mc=/etc/mail/linux.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+31
View File
@@ -0,0 +1,31 @@
sendmail_cf=/etc/sendmail.cf
sendmail_pid=/etc/mail/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
index_min=1000000
fwd_mode=0
mailq_sort=0
mailq_count=0
delete_warn=1
mailq_sort=0
columns=2
show_cmts=0
prefix_cmts=0
mail_type=0
delete_confirm=1
+41
View File
@@ -0,0 +1,41 @@
line1=Configurable options,11
mailq_refresh=Seconds to wait before refreshing mail queue,3,Don't refresh
perpage=Mail queue messages to display per page,0
wrap_width=Width to wrap mail queue messages at,0
sort_mode=Sort tables by,1,0-Order in file,1-Name
columns=Columns for aliases and other tables,1,2-2,1-1
show_cmts=Show descriptions in tables?,1,1-Yes,0-No
prefix_cmts=Prefix all description comments with <tt>Webmin</tt>?,1,1-Yes,0-No
send_mode=Send mail via connection to,3,Sendmail executable
max_records=Maximum number of records to show in tables,0,6
mailq_show=Headers to show in mail queue,2,Date-Date,From-From,To-To,Subject-Subject,Cc-Cc,Size-Size,Status-Status,Dir-Directory
mailq_sort=Sort mail queue by,1,0-Queue ID,1-From address,2-To address,3-Subject,4-Status,5-Size
mailq_count=Show size of mail queue on main page?,1,0-Yes,1-No
mailq_order=Ordering when flushing mail queue,1,-Default,priority-Priority,host-Hostname,time-Date received
delete_confirm=Prompt for confirmation before deleting?,1,1-Yes,0-No
line2=System configuration,11
sendmail_cf=Full path to sendmail.cf,8
sendmail_features=Sendmail M4 base directory,7
sendmail_mc=Full path to M4 config file,8
sendmail_pid=Full path to sendmail pid files,9,40,2,\t
sendmail_smf=Solaris SMF service name,3,None (use PID files instead)
sendmail_command=Command to start sendmail in server mode,0
sendmail_stop_command=Command to stop sendmail,3,Kill process
sendmail_restart_command=Command to restart sendmail,3,Stop and start
makemap_path=Makemap comand,0
sendmail_path=Sendmail command,0
alias_file=Full path to sendmail aliases file,3,Automatic
virtusers_file=Source file for virtusers database,3,Same as DBM
mailers_file=Source file for mailertable database,3,Same as DBM
generics_file=Source file for generics database,3,Same as DBM
access_file=Source file for the access database,3,Same as DBM
domains_file=Source file for the domains database,3,Same as DBM
mail_dir=User mail file location,3,File under home directory
mail_file=Mail file in home directory,0
mail_type=Mail storage type,1,1-Maildir,0-mbox
mail_style=Mail file directory style,4,0-mail/username,1-mail/u/username,2-mail/u/us/username,3-mail/u/s/username
mail_sync=User mail file synchronization,2,create-Create with user,delete-Delete with user,modify-Rename with user
smrsh_dir=SMRSH directory,3,None
queue_dirs=Extra mail queue directories,3,None
rebuild_cmd=Command to rebuild all maps,3,Use makemap command
+40
View File
@@ -0,0 +1,40 @@
line1=Opcions configurables,11
mailq_refresh=Segons d'espera abans de refrescar la cua de correu,3,No la refresquis
perpage=Missatges de la cua de correu a mostrar per pàgina,0
wrap_width=Amplada del text dels missatges de la cua,0
sort_mode=Ordena les taules per,1,0-L'ordre del fitxer,1-Nom
columns=Columnes pels àlies i altres taules,1,2-2,1-1
show_cmts=Mostra les descripcions a les taules,1,1-Sí,0-No
prefix_cmts=Prefixa tots els comentaris de descripcions amb <tt>Webmin</tt>,1,1-Sí,0-No
send_mode=Envia el correu via connexió a,3,Executable sendmail
max_records=Nombre màxim de registres a mostrar a les taules,0,6
mailq_show=Capçaleres a mostrar a la cua de correu,2,Date-Data,From-De,To-Per a,Subject-Assumpte,Cc-Cc,Size-Mida,Status-Estat,Dir-Directori
mailq_sort=Ordena la cua de correu per,1,0-ID de cua,1-Adreça 'From',2-Adreça 'To',3-Tema,4-Estat,5-Mida
mailq_count=Mostra la mida de de la cua de correu a la pàgina principal,1,0-Sí,1-No
mailq_order=Ordenació en buidar la cua de correu,1,-Per defecte,priority-Prioritat,host-Nom de host,time-Data de recepció
delete_confirm=Demana confirmació abans de suprimir,1,1-Sí,0-No
line2=Configuració del sistema,11
sendmail_cf=Camí complet de sendmail.cf,8
sendmail_features=Directori base del M4 de sendmail,7
sendmail_mc=Camí complet del fitxer de configuració M4,8
sendmail_pid=Camí complet dels fitxers de PID de sendmail,9,40,2,\t
sendmail_smf=Nom del servei SMF de Solaris,3,Cap (utilitza fitxers PID en lloc d'això)
sendmail_command=Ordre per iniciar sendmail en mode servidor,0
sendmail_stop_command=Ordre per aturar sendmail,3,Mata el procés
sendmail_restart_command=Ordre per reiniciar sendmail,3,Atura'l i inicia'l
makemap_path=Ordre makemap,0
sendmail_path=Ordre sendmail,0
alias_file=Camí complet del fitxer d'àlies de sendmail,3,Automàtic
virtusers_file=Fitxer font de la base de dades virtusers,3,Igual que DBM
mailers_file=Fitxer font de la base de dades mailertable,3,Igual que DBM
generics_file=Fitxer font de la base de dades genèrica,3,Igual que DBM
access_file=Fitxer font de la base de dades d'accés,3,Igual que DBM
domains_file=Fitxer font de la base de dades de dominis,3,Igual que DBM
mail_dir=Ubicació del fitxer de correu de l'usuari,3,Fitxer al directori de l'usuari
mail_file=Fitxer de correu al directori de l'usuari,0
mail_type=Tipus d'emmagatzematge del correu,1,1-Maildir,0-mbox
mail_style=Estil de directoris dels fitxers de correu,4,0-mail/usuari,1-mail/u/usuari,2-mail/u/us/usuari,3-mail/u/s/usuari
mail_sync=Sincronització del fitxer de correu de l'usuari,2,creació-Crea'l amb l'usuari,supressió-Suprimeix amb l'usuari,modificació-Reanomena'l amb l'usuari
smrsh_dir=Directori SMRSH,3,Cap
queue_dirs=Directoris extra de cues de correu,3,Cap
rebuild_cmd=Ordre per reconstruir tots els mapes,3,Utilitza l'ordre makemap
+38
View File
@@ -0,0 +1,38 @@
line1=Možnosti konfigurace,11
mailq_refresh=Časová prodleva (ve vteřinách) při obnovení seznamu zpráv,3,Neobnovovat
perpage=Počet zpráv zobrazených na stránce,0
wrap_width=Šířka k zalomení poštovních zpráv na,0
sort_mode=Seřazení tabulek podle,1,0-pořadí v souboru,1-jména
columns=Sloupce pro aliasy a jiné tabulky,1,2-2,1-1
show_cmts=Zobrazit v tabulkách popisy?,1,1-Ano,0-Ne
prefix_cmts=Zapsat předponu před všechny komentáře popisů textem <tt>Webmin</tt>?,1,1-Ano,0-Ne
send_mode=Poslat poštu v případě,3,Sendmail je spuštěn
max_records=Maximální počet záznamů zobrazených v tabulkách,0,6
mailq_show=Záhlaví zobrazená v seznamu zpráv,2,Date-Datum,From-Od koho,To-Komu,Subject-Předmět,Cc-Kopie,Size-Velikost,Status-Stav
mailq_sort=Třídit mailovou frontu podle,1,0-ID fronty,1-Adresa Od,2-Adresa Komu,3-Předmět,4-Status,5-Velikost
mailq_count=Zobrazit na hlavní stránce velikost mailové fronty?,1,0-Ano,1-Ne
mailq_order=Setřídit během mazání mailové fronty,1,-Výchozí,priorita-Priorita,host-Hostname,čas-Datum přijetí
line2=Konfigurace systému,11
sendmail_cf=Úpplná cesta k sendmail.cf,8
sendmail_features=Základní adresář sendmailu M4,7
sendmail_mc=Úplná cesta ke konfiguračnímu souboru M4,8
sendmail_pid=Úplná cesta k pid souboru sendmailu,8
sendmail_smf=Solaris SMF název služby,3,Nic (použít PID soubory)
sendmail_command=Spouštěcí příkaz serverového módu sendmailu,0
sendmail_stop_command=Příkaz k ukončení sendmail,3,Zabít proces
sendmail_restart_command=Příkaz restartující sendmail,3,Stop a start
makemap_path=Příkaz Makemap,0
sendmail_path=Příkaz Sendmail,0
alias_file=Úplná cesta k souboru aliases pro sendmail,3,Automatická
virtusers_file=Zdrojovový soubor pro databázi virtuálních uživatelů,3,Shodný s DBM
mailers_file=Zdrojový soubor pro databázi mailer tabulek,3,SShodný s DBM
generics_file=Zdrojový soubor pro databázi generics,3,Shodný s DBM
access_file=Zdrojový soubor pro databázi přístupů,3,Shodný s DBM
domains_file=Zdrojový soubor pro databázi domén,3,Shodný s DBM
mail_dir=Umístění souboru pro zprávy uživatele,3,Soubor v domovském adresáři
mail_file=Soubor zpráv v domovském adresáři,0
mail_type=Typ úschovny mailů,1,1-Maildir,0-mbox
mail_style=Styl adresářů v souboru zpráv,4,0-mail/username,1-mail/u/username,2-mail/u/us/username,3-mail/u/s/username
mail_sync=Synchronizace souboru mailu uživatele,2,vytvořit-Vytvořit s uživatelem,smazat-Smazat s uživatelem,změnit-Přejmenovat s uživatelem
smrsh_dir=SMRSH adresář,3,nic
queue_dirs=Speciální adresáře pro seznam zpráv,3,nic
+40
View File
@@ -0,0 +1,40 @@
line1=Konfigurierbare Optionen,11
mailq_refresh=Zeit in Sekunden bevor die Mailqueue automatisch aktualisiert wird,3,Nicht automatisch aktualisieren
perpage=Angezeigte Nachrichten pro Seite,0
wrap_width=Breite der Mailnachrichten,0
sort_mode=Sortiere Tabellen nach,1,0-Nach Datei,1-Nach Name
columns=Spalten für die Alias-Namen und andere Tabellen,1,2-2,1-1
show_cmts=Zeige Beschreibungen in Tabellen?,1,1-Ja,0-Nein
prefix_cmts=Prefix alle Beschreibung Kommentare mit <tt>Webmin</tt>?,1,1-Ja,0-Nein
send_mode=Sende Mail über Verbindung zu,3,Sendmail
max_records=Maximale Anzahl von Einträgen&#44; welche in den Tabellen angezeigt werden,0,6
mailq_show=Angezeigte Headers in der Mailqueue,2,Date-Datum,From-Von,To-An,Subject-Betreff,Cc-Cc,Size-Größe,Status-Status,Dir-Verzeichnis
mailq_sort=Sortiere Mailqueue nach,1,0-Queue ID,1-From&#45;Adresse,2-To&#45;Adresse,3-Betreff,4-Status,5-Größe
mailq_count=Zeige Größe der Mailqueue auf der Hauptseite?,1,0-Ja,1-Nein
mailq_order=Reihenfolge beim flushen der Mail-Queue,1,-Standard,priority-Priorität,host-Hostname,time-Datum erhalten
delete_confirm=Sicherheitsabfrage vor dem Löschen?,1,1-Ja,0-Nein
line2=Systemkonfiguration,11
sendmail_cf=Voller Pfad zur <tt>sendmail.cf</tt>,8
sendmail_features=Sendmail M4 Basisverzeichnis,7
sendmail_mc=Voller Pfad zur M4 Konfigurationsdatei,8
sendmail_pid=Voller Pfad zur Sendmail&#45;<tt>pid</tt> Datei,9,40,2,\t
sendmail_smf=Solaris SMF-Service-Name,3,Keine (PID Dateien stattdessen benutzen)
sendmail_command=Befehl um <tt>sendmail</tt> im Servermode zu starten,0
sendmail_stop_command=Befehl um Sendmail zu stoppen,3,Kille Prozess
sendmail_restart_command=Befehl zum neustarten sendmail,3,Stoppen und starten
makemap_path=<tt>makemap</tt>&#45;Befehl,0
sendmail_path=Sendmail Befehl,0
alias_file=Voller Pfad zur <tt>aliases</tt>&#45;Datei,3,Automatisch
virtusers_file=Quelldatei für die <tt>virtuser</tt>&#45;Datenbank,3,Identisch wie DBM
mailers_file=Quelldatei für die <tt>mailertable</tt>&#45;Datenbank,3,Identisch wie DBM
generics_file=Quelldatei für die <tt>generics</tt>&#45;Datenbank,3,Identisch wie DBM
access_file=Quelldatei für die <tt>Access<tt>&#45;Datenbank,3,Identisch wie DBM
domains_file=Quelldatei für die <tt>domains</tt>&#45;Datenbank,3,Identisch wie DBM
mail_dir=Speicherort der Benutzermaildatei,3,Datei im Homeverzeichnis
mail_file=Datei im Homeverzeichnis,0
mail_type=Mail-Speicher-Typ,1,1-Maildir,0-mbox
mail_style=Maildatei Verzeichnisart,4,0-mail/benutzername,1-mail/u/benutzername,2-mail/u/us/benutzername,3-mail/u/s/benutzername
mail_sync=Benutzermaildateisynchronisation,2,create-Erzeuge mit Benutzer,delete-Lösche mit Benutzer,modify-Benenne mit Benutzer um
smrsh_dir=SMRSH Verzeichnis,3,Keines
queue_dirs=Extra Mailqueue Verzeichnis,3,Keines
rebuild_cmd=Befehl&#44; um alle Karten neu zu erstellen,3,Verwende makemap Befehl
+25
View File
@@ -0,0 +1,25 @@
mailq_refresh=Segundos a esperar antes de refrescar la cola de correo,3,No refrescar
perpage=Mensajes de correo a mostrar por página,0
wrap_width=Ancho en el que continuar en otra línea los mensajes de correo,0
sort_mode=Clasificar tablas por,1,0-Orden en archivo,1-Nombre
send_mode=Enviar correo a través de la conexión a,3,Ejecutable Sendmail
max_records=Número máximo de registros a mostrar en las tablas,0,6
mailq_show=Cabeceras a mostrar en cola de correo,2,Date-Fecha,From-De,To-A,Subject-Asunto,Cc-Cc,Size-Medida,Status-Estado
sendmail_cf=Trayectoria completa a sendmail.cf,0
sendmail_features=Directorio base M4 de Sendmail,7
sendmail_mc=Trayectoria completa al archivo de configuración M4,8
sendmail_pid=Trayectoria completa a archivo de pid de sendmail,0
sendmail_command=Comando para arrancar sendmail en modo servidor,0
sendmail_stop_command=Comando para parar sendmail,3,Matar proceso
makemap_path=Comando Makemap,0
sendmail_path=Comando Sendmail,0
alias_file=Trayectoria completa a archivo de alias de sendmail,3,Automática
virtusers_file=Archivo fuente para base de datos de usuarios virtuales,3,La misma que DBM
mailers_file=Archivo fuente para base de datos tabla de carteros,3,La misma que DBM
generics_file=Archivo fuente para base de datos de genéricos,3,La misma que DBM
access_file=Archivo fuente la base de datos de acceso,3,La misma que DBM
domains_file=Archivo fuente para la base de datos de dominios,3,La misma que DBM
mail_dir=Directorio de archivo de usuario de correo,3,$HOME/mbox
mail_file=Archivo de correo en directorio de inicio,0
mail_style=Estilo de directorio del archvivo de correo,4,0-mail/nombre_de_usuario,1-mail/u/nombre_de_usuario,2-mail/u/us/nombre_de_usuario,3-mail/u/s/nombre_de_usuario
smrsh_dir=Directorio SMRSH,3,Ninguno
+31
View File
@@ -0,0 +1,31 @@
line1=Options configurables,11
mailq_refresh=Nombre de secondes à attendre avant de rafraîchir la file d'attente de courrier,3,Ne pas rafraîchir
perpage=Nombre de messages à afficher par page,0
wrap_width=Largeur à laquelle faire retourner les messages à la ligne,0
sort_mode=Trier les tables par,1,0-Ordre dans le fichier,1-Nom
send_mode=Envoyer le courrier via la connexion vers,3,Exécutable de sendmail
max_records=Nombre maximal d'enregistrements à afficher dans les tables,0,6
mailq_show=En-têtes à afficher dans la file d'attente de courrier,2,Date-Date,From-De,À-À,Subject-Sujet,Cc-Cc,Size-Taille,Status-État
mailq_sort=Trier la file d'attente de courrier par,1,0-ID de file d'attente,1-Champ From,2-Champ To,3-Sujet,4-État,5-Taille
mailq_count=Afficher la taille de la file d'attente de courrier sur la page principale ?,1,0-Oui,1-Non
line2=Configuration du système,11
sendmail_cf=Chemin d'accès complet à sendmail.cf,8
sendmail_features=Répertoire de base M4 de Sendmail,7
sendmail_mc=Chemin d'accès complet au fichier de configuration M4,8
sendmail_pid=Chemin d'accès complet au fichier PID sendmail,8
sendmail_command=Commande pour démarrer sendmail en mode serveur,0
sendmail_stop_command=Commande pour arrêter sendmail,3,Tuer le processus
makemap_path=Commande makemap,0
sendmail_path=Commande sendmail,0
alias_file=Chemin d'accès complet au fichier d'alias de sendmail,3,Automatique
virtusers_file=Fichier source de la base de données "virtusers",3,Le même que DBM
mailers_file=Fichier source de la base de données "mailertable",3,Le même que DBM
generics_file=Fichier source de la base de données "generics",3,Le même que DBM
access_file=Fichier source de la base de données "access",3,Le même que DBM
domains_file=Fichier source de la base de données "domains",3,Le même que DBM
mail_dir=Emplacement du fichier de messagerie des utilisateurs,3,Fichier dans le répertoire personnel
mail_file=Répertoire personnel du fichier de messagerie,0
mail_style=Style de répertoire des fichiers de messagerie,4,0-courrier/nom d'utilisateur,1-courrier/n/nom d'utilisateur,2-courrier/n/no/nom d'utilisateur,3-courrier/b/o/nom d'utilisateur
mail_sync=Synchronisation des fichiers de courrier des utilisateurs,2,créer-Créer avec un utilisateur,supprimer-Supprimer avec un utilisateur,modifier-Renommer avec un utilisateur
smrsh_dir=Répertoire SMRSH,3,Aucun
queue_dirs=Répertoires supplémentaires de file d'attente de courrier,3,Aucun
View File
+40
View File
@@ -0,0 +1,40 @@
line1=Configureerbare opties,11
mailq_refresh=Seconden om te wachten voordat de email wachtrij ververst word,3,Niet verversen
perpage=Email wachtrij berichten om te laten zien per pagina,0
wrap_width=Grote om email wachtrij berichten in te pakken op,0
sort_mode=Sorteer tabellen met,1,0-Volgorde van file,1-Naam
columns=Kolommen voor de alias en andere tabellen,1,2-2,1-1
show_cmts=Laat omschrijving zien in tabellen?,1,1-Ja,0-Nee
prefix_cmts=Voorzie alle beschrijvingen met <tt>Webmin</tt>?,1,1-Ja,0-Nee
send_mode=Verstuur email via de verbinding naar,3,Sendmail uitvoerbestand
max_records=Maximum aantal resultaten laten zien in tabel,0,6
mailq_show=Kopteksten die getoond moeten worden in de wachtrij,2,Date-Datum,From-Van,To-Naar,Subject-Onderwerp,Cc-Cc,Size-Grote,Status-Status,Dir-Directory
mailq_sort=Sorteer email wachtrij met,1,0-Wachtrij ID,1-Van adres,2-Naar adres,3-Onderwerp,4-Status,5,Grote
mailq_count=Laat wachtrij grote zien op de hoofdpagina?,1,0-Ja,1-Nee
mailq_order=Vermelden wanneer de email wachtrij verwijderd word,1,-Standaard,priority-Prioriteit,host-Hostnaam,time-Datum ontvangen
delete_confirm=Geef een waarschuwing voordat er word verwijdert?,1,1-Ja,0-Nee
line2=Systeem configuratie,11
sendmail_cf=Volledig pad naar sendmail.cf,8
sendmail_features=Sendmail M4 basis directory,7
sendmail_mc=Volledig pad naar M4 config file,8
sendmail_pid=Volledig pad naar de Sendmail PID files,9,40,2,\t
sendmail_smf=Solaris SMF service naam,3,Geen (gebruik hiervoor de PID files)
sendmail_command=Opdracht om Sendmail te starten in server mode,0
sendmail_stop_command=Opdracht om Sendmail te stoppen,3,Killen proces
sendmail_restart_command=Opdracht om Sendmail te herstarten,3,Stop en start
makemap_path=Maak een map opdracht,0
sendmail_path=Sendmail opdracht,0
alias_file=Volledig pad naar de Sendmail alias file,3,Automatisch
virtusers_file=Bron file voor virtusers database,3,Zelfde als DBM
mailers_file=Bron file voor mailertabel database,3,Zelfde als DBM
generics_file=Bron file voor de generics database,3,Zelfde als DBM
access_file=Bron file voor de toegang database,3,Zelfde als DBM
domains_file=Bron file voor de domeinen database,3,Zelfde als DBM
mail_dir=Gebruikers email file locatie,3,File onder de home directory
mail_file=Email file in de home directory,0
mail_type=Email opslag type,1,1-Maildir,0-mbox
mail_style=Email file directory stijl,4,0-mail/gebruikersnaam,1-mail/u/gebruikersnaam,2-mail/u/us/gebruikersnaam,3-mail/u/s/gebruikersnaam
mail_sync=Gebruiker email file synchronisatie,2,create-Aanmaken met gebruiker,delete-Verwijder met gebruiker,modify-Hernoem met gebruiker
smrsh_dir=SMRSH directory,3,Geen
queue_dirs=Extra email wachtrij directory's,3,Geen
rebuild_cmd=Opdracht om alle mappen opnieuw te maken,3,Gebruik de map aanmaak opdracht
+40
View File
@@ -0,0 +1,40 @@
line1=Konfigurerbare innstillinger,11
mailq_refresh=Sekunder å vente før e-post kø oppfriskes,3,Ikke oppfrisk
perpage=E-post kø melding som vises per side,0
wrap_width=Linjebredde som e-post kø meldinger skal deles på,0
sort_mode=Sorter tabeller etter,1,0-Plassering i filen,1-Navn
columns=Kolonner for aliaser og andre tabeller,1,2-2,1-1
show_cmts=Vis beskrivelser i tabeller?,1,1-Ja,0-Nei
prefix_cmts=Prefiks alle beskrivende kommentarer med <tt>Webmin</tt>?,1,1-Ja,0-Nei
send_mode=Send e-post via tilkobling til,3,Sendmail program
max_records=Maks antall oppføringer som vises i tabeller,0,6
mailq_show=Headere som skal vises i e-post kø,2,Date-Dato,From-Fra,To-Til,Subject-Emne,Cc-Kopi til,Size-Størrelse,Status-Status,Dir-Katalog
mailq_sort=Sorter e-post kø etter,1,0-Kø ID,1-Fra adresse,2-Til adresse,3-Emne,4-Status,5-Størrelse
mailq_count=Vis størrelse på e-post kø på hovedsiden,1,0-Ja,1-Nei
mailq_order=Rekkefølge ved tømming av e-post kø,1,-Standard,priority-Prioritet,host-Vertsnavn,time-Dato mottatt
delete_confirm=Be om bekreftelse før sletting?,1,1-Ja,0-Nei
line2=System konfigurasjon,11
sendmail_cf=Full sti til sendmail.cf,8
sendmail_features=Sendmail M4 grunn-katalog,7
sendmail_mc=Full sti til M4 konfig fil,8
sendmail_pid=Full sti til sendmail pid filer,9,40,2,\t
sendmail_smf=Solaris SMF tjenestenavn,3,Ingen (bruk PID filer i stedet)
sendmail_command=Kommando for å starte sendmail i tjener modus,0
sendmail_stop_command=Kommando for å stoppe sendmail,3,Stopp prosessen
sendmail_restart_command=Kommando for å omstarte sendmail,3,Stopp og start
makemap_path=Makemap kommando,0
sendmail_path=Sendmail kommando,0
alias_file=Full sti til sendmail aliases fil,3,Automatisk
virtusers_file=Kildefil for virtusers database,3,Samme som DBM
mailers_file=Kildefil for mailertable database,3,Samme som DBM
generics_file=Kildefil for generics database,3,Samme som DBM
access_file=Kildefil for aksess databasen,3,Samme som DBM
domains_file=Kildefil for domener database,3,Samme som DBM
mail_dir=Plassering av fil med brukers e-post,3,Fil under hjemmekatalog
mail_file=E-post fil i hjemmekatalog,0
mail_type=E-post lagringstype,1,1-Maildir,0-mbox
mail_style=Katalogstil for e-post fil,4,0-mail/username,1-mail/u/username,2-mail/u/us/username,3-mail/u/s/username
mail_sync=Synkronisering av brukers e-post fil,2,create-Opprett med bruker,delete-Slett med bruker,modify-Omdøp med bruker
smrsh_dir=SMRSH katalog,3,Ingen
queue_dirs=Ekstra e-post kø kataloger,3,Ingen
rebuild_cmd=Kommando for å gjennoppbygge alle tilordninger,3,Bruk makemap kommando
+19
View File
@@ -0,0 +1,19 @@
mailq_refresh=Przed odświeżeniem kolejki czekaj sekund,3,Nie odświeżaj
perpage=Liczba wiadomości na stronie,0
wrap_width=Łam linie wiadomości w kolumnie,0
sort_mode=Wyświetlaj tabele wg,1,0-Porządku w zbiorze,1-Nazwy
send_mode=Wysyłaj pocztę łącząc się z,3,Programem sendmail
sendmail_cf=Pełna ścieżka do sendmail.cf,8
sendmail_pid=Pełna ścieżka do pliku z PID sendmaila,8
sendmail_command=Polecenie uruchamiające sendmaila jako server,0
sendmail_stop_command=Polecenie zatrzymujące sendmaila,3,Zabij proces
makemap_path=Polecenie <tt>makemap</tt>,0
sendmail_path=Polecenie <tt>sendmail</tt>,0
alias_file=Pełna ścieżka do pliku aliasów sendmaila,3,Automatycznie
virtusers_file=Plik źródłowy bazy danych <tt>virtusers</tt>,3,Ten sam co DBM
mailers_file=Plik źródłowy bazy danych <tt>mailertable</tt>,3,Ten sam co DBM
generics_file=Plik źródłowy bazy danych <tt>generics</tt>,3,Ten sam co DBM
access_file=Plik źródłowy bazy danych <tt>access</tt>,3,Ten sam co DBM
domains_file=Plik źródłowy bazy danych <tt>domains</tt>,3,Ten sam co DBM
mail_dir=Skrzynki pocztowe użytkowników,3
smrsh_dir=Katalog SMRSH,3,Brak
+40
View File
@@ -0,0 +1,40 @@
line1=Opções configuráveis,11
mailq_refresh=Segundos para aguardar antes de atualizar a lista de e-mail,3,Não atualizar
perpage=Mensagens da lista de e-mail exibir por página,0
wrap_width=Largura para cobrir as mensagens da lista de e-mail,0
sort_mode=Organizar tabelas por,1,0-Ordenar no arquivo,1-Nome
columns=Colunas para alias e outras tabelas,1,2-2,1-1
show_cmts=Exibir descrição nas tabelas?,1-1-Sim,0-Não
prefix_cmts=Inserir prefixo para todos os comentários descritivos com <tt>Webmin</tt>,1-1-Sim,0-Não
send_mode=Enviar e-mail via conexão para,3,Executável do Sendmail
max_records=Número máximo de registros pra exibir nas tabelas,0,6
mailq_show=Para,Assunto-Assunto,Cc-Cc,Tamanho-Tamanho,Status-Status,Dir-Diretório
mailq_sort=Ordenação da lista de e-mail por,1,0-ID da Lista,1-Por endereço,2-Para endereço,3-Assunto,4-Status,5-Tamanho
mailq_count=Mostrar tamanho da lista de e-mail na página principal?,1,0-Sim,0-Não
mailq_order=Ordenação quando estiver descarregando a lista de e-mail,1,-Padrão,prioridade-Prioridade,host-Nome do computador,data-Data de recebimento
delete_confirm=Perguntar antes de confirmar exclusão?,1,0-Sim,0-Não
line2=Configuração do sistema,11
sendmail_cf=Caminho completo para sendmail.cf,8
sendmail_features=Diretório base do M4 Sendmail,7
sendmail_mc=Caminho completo para o arquivo de configuração M4,8
sendmail_pid=Caminho completo para os arquivos de pid do sendmail,9,40,2,\t
sendmail_smf=Nome do serviço SMF do Solaris,3,Nenhum (usar arquivos PID no lugar)
sendmail_command=Comando para iniciar o sendmail no modo servidor,0
sendmail_stop_command=Comando para parar o sendmail,3,Matar processo
sendmail_restart_command=Comando para reiniciar o sendmail,3,Parar e iniciar
makemap_path=Comando Makemap,0
sendmail_path=Comando Sendmail,0
alias_file=Caminho completo para o arquivo de alias,3,Automático
virtusers_file=Arquivo fonte para base de dados de usuários virtuais,3,Mesmo DBM
mailers_file=Arquivo fonte para base de dados enviáveis por e-mail,3,Mesmo DBM
generics_file=Arquivo fonte para base de dados genéricas,3,Mesmo DBM
access_file=Arquivo fonte para base de dados de acesso,3,Mesmo DBM
domains_file=Arquivo fonte para base de dados de domínios,3,Mesmo DBM
mail_dir=Local para arquivo de e-mail do usuário,3,Arquivo dentro do diretório home
mail_file=Arquivo de e-mail dentro do diretório home,0
mail_type=Tipo de armazenamento de e-mail,1,1-Maildir,0-mbox
mail_style=Estilo de arquivo de diretório de e-mail,4,0-mail/nomedeusuario,1-mail/u/nomedeusuario,2-mail/u/us/nomedeusuario,3-mail/u/s/nomedeusuario
mail_sync=Arquivo de sincronização de correio do usuário,2,criar-Criar com usuário,apagar-Apaga com usuário,modificar-Renomeia com o usuário
smrsh_dir=Diretório SMRSH,3,Nenhum
queue_dirs=Diretórios extras de fila de e-mail,3,Nenhum
rebuild_cmd=Comando para reconstruir todos os mapas,3,Usar comando makemap
+27
View File
@@ -0,0 +1,27 @@
line1=Настраиваемые параметры,11
mailq_refresh=Период обновления очереди почтовых сообщений в секундах,3,Не обновлять
perpage=Количество показываемых на странице почтовых сообщений,0
wrap_width=Ширина строк почтовых сообщений,0
sort_mode=Упорядочивать таблицы по,1,0-Порядку в файле,1-Имени
send_mode=Отправлять почту через,3,Исполняемый файл sendmail
max_records=Максимальное количество показываемых в таблицах записей,0,6
mailq_show=Показываемые в очереди сообщений заголовки,2,Date-Дата,From-От,To-Кому,Subject-Тема,Cc-Cc,Size-Размер,Status-Состояние
line2=Системные параметры,11
sendmail_cf=Полный путь к sendmail.cf,8
sendmail_features=Базовый каталог sendmail M4,7
sendmail_mc=Полный путь к файлу конфигурации M4,8
sendmail_pid=Полный путь к файлу pid sendmail,8
sendmail_command=Команда для запуска sendmail в режиме сервера,0
sendmail_stop_command=Команда для останова sendmail,3,Снять процесс
makemap_path=Команда makemap,0
sendmail_path=Команда sendmail,0
alias_file=Полный путь к файлу псевдонимов sendmail,3,Автоматически
virtusers_file=Исходный файл для базы данных virtusers,3,Тот же что и DBM
mailers_file=Исходный файл для базы данных mailertable,3,Тот же что и DBM
generics_file=Исходный файл для базы данных generics,3,Тот же что и DBM
access_file=Исходный файл для базы данных access,3,Тот же что и DBM
domains_file=Исходный файл для базы данных domains,3,Тот же что и DBM
mail_dir=Местоположение почтового файла пользователя,3,В домашнем каталоге
mail_file=Почтовый файл в домашнем каталоге,0
mail_style=Тип каталога с почтовым файлом,4,0-mail/username,1-mail/u/username,2-mail/u/us/username,3-mail/u/s/username
smrsh_dir=Каталог SMRSH,3,Нет
+19
View File
@@ -0,0 +1,19 @@
mailq_refresh=Väntetid (sekunder) för att uppdatera e-postkön,3,Uppdatera inte
perpage=Antal e-postbrev per sida,0
wrap_width=Maximal bredd för e-postbrev (ombrytning sker),0
sort_mode=Sortera tabeller efter,1,0-ordningen i filen,1-Namn
send_mode=Skicka e-post via förbindelse till,3,Sendmail executable
sendmail_cf=Fullständig sökväg till sendmail.cf,0
sendmail_pid=Fullständig sökväg till PID-fil för sendmail,0
sendmail_command=Kommando för att starta sendmail i servermod,0
sendmail_stop_command=Kommando för att stanna sendmail,3,Kill process
makemap_path=Makemap-kommando,0
sendmail_path=Sendmail-kommando,0
alias_file=Fullständig sökväg till aliasfil för sendmail,3,Automatisk
virtusers_file=Källfil för virtusers-databas,3,Samma som DBM
mailers_file=Källfil för mailertable-databas,3,Samma som DBM
generics_file=Källfil för generics-databas,3,Samma som DBM
access_file=Källfil för access-databas,3,Samma som DBM
domains_file=Källfil för domän-databas,3,Samma som DBM
mail_dir=Användarkatalog för e-postfiler,3
smrsh_dir=SMRSH-katalog,3,Ingen
+18
View File
@@ -0,0 +1,18 @@
mailq_refresh=Posta kuyruğunun tazelenme süresi(saniye),3,Don't refresh
perpage=Sayfa başına gösterilecek mesaj sayısı,0
wrap_width=Birleştirilem mesaj sayısı,0
sort_mode=Tabloları sıralama şekli,1,0-Dosyadaki sırayla,1-İsimle
send_mode=Bağlantı ile postayı gönder,3,Sendmail çalıştırılabiliri
sendmail_cf=sendmail.cf dosyasının tam yeri,8
sendmail_pid=Sendmail pid dosyasının tam yeri,8
sendmail_command=Sendmail'i sunucu modunda çalıştırma komutu,0
sendmail_stop_command=Sendmail'i durdurma komutu,3,İşlemi öldür
makemap_path=Makemap komutu,0
sendmail_path=Sendmail komutu,0
alias_file=Sendmail takma adları dosyasının tam yolu,3,Automatic
virtusers_file=Virtusers veritabanı dosyasının kaynak dosyası,3,DBM ile aynı
mailers_file=Mailertable veritabanı dosyasının kaynak dosyası,3,DBM ile aynı
generics_file=Senerics veritabanı dosyasının kaynak dosyası,3,DBM ile aynı
access_file=Giriş veritabanı dosyasının kaynak dosyası,3,DBM ile aynı
domains_file=Alan veritabanı dosyasının kaynak dosyası,3,DBM ile aynı
mail_dir=Kullanıcı posta dosyası dizini,3
+27
View File
@@ -0,0 +1,27 @@
line1=Параметри&#44; що настроюються,11
mailq_refresh=Період відновлення черги поштових повідомлень у секундах,3,Не обновляти
perpage=Кількість показуваних на сторінці поштових повідомлень,0
wrap_width=Ширина рядків поштових повідомлень,0
sort_mode=Упорядковувати таблиці по,1,0-порядку у файлі,1-імені
send_mode=Відправляти пошту через,3,ЩоВиконується файл sendmail
max_records=Максимальна кількість показуваних у таблицях записів,0,6
mailq_show=Показувані в черзі повідомлень заголовки,2,Date-Дата,From-Від,To-Кому,Subject-Тема,Cc-Cc,Size-Розмір,Status-Стан
line2=Системні параметри,11
sendmail_cf=Повний шлях до sendmail.cf,8
sendmail_features=Базовий каталог sendmail M4,7
sendmail_mc=Повний шлях до файлу конфігурації M4,8
sendmail_pid=Повний шлях до файлу pid sendmail,8
sendmail_command=Команда для запуску sendmail у режимі сервера,0
sendmail_stop_command=Команда для зупинки sendmail,3,Зняти процес
makemap_path=Команда makemap,0
sendmail_path=Команда sendmail,0
alias_file=Повний шлях до файлу псевдонімів sendmail,3,Автоматично
virtusers_file=Вихідний файл для бази даних virtusers,3,Той же що і DBM
mailers_file=Вихідний файл для бази даних mailertable,3,Той же що і DBM
generics_file=Вихідний файл для бази даних generics,3,Той же що і DBM
access_file=Вихідний файл для бази даних access,3,Той же що і DBM
domains_file=Вихідний файл для бази даних domains,3,Той же що і DBM
mail_dir=Місце розташування поштового файлу користувача,3,У домашньому каталозі
mail_file=Поштовий файл у домашньому каталозі,0
mail_style=Тип каталогу з поштовим файлом,4,0-mail/username,1-mail/u/username,2-mail/u/us/username,3-mail/u/s/username
smrsh_dir=Каталог SMRSH,3,Немає
+19
View File
@@ -0,0 +1,19 @@
mailq_refresh=在刷新邮件队列之前等待的以秒为单位的时间,3,不刷新
perpage=每页显示的邮件数目,0
wrap_width=邮件内容自动换行的宽度,0
sort_mode=排序表格的依据,0-文件,1-名字
send_mode=通过什么连接发送邮件,3,Sendmail 可执行程序
sendmail_cf=sendmail.cf的全路径,0
sendmail_pid=sendmail pid 文件的全路径,0
sendmail_command=在服务器模式启动 sendmail 的命令,0
sendmail_stop_command=停止sendmail的命令,3,杀死进程
makemap_path=Makemap 命令,0
sendmail_path=Sendmail 命令,0
alias_file=sendmail 别名的全路径,3,自动
virtusers_file=虚拟用户数据库的源文件,3,等同于 DBM
mailers_file=mailertable 数据库的源文件,3,等同于 DBM
generics_file=通用数据库的源文件,3,等同于 DBM
access_file=控制数据库的源文件,3,等同于 DBM
domains_file=域数据库的源文件,3,等同于 DBM
mail_dir=用户邮件文件目录,3
smrsh_dir=SMRSH 目录,3,无
+18
View File
@@ -0,0 +1,18 @@
mailq_refresh=更新郵件佇列的間隔時間,3,不要更新
perpage=每一頁顯示的郵件訊息數目,0
wrap_width=郵件訊息的自動換行寬度為,0
sort_mode=表格排列方式,1,0-檔案內的順序,1-名稱
send_mode=遞送郵件時連接的程式為,3,Sendmail 執行檔
sendmail_cf=到 sendmail.cf 的完整路徑,0
sendmail_pid=到 sendmail PID檔案的完整路徑,0
sendmail_command=以伺服器模式啟動 Sendmail 的指令,0
sendmail_stop_command=停止 Sendmail 的指令,3,殺掉程序
makemap_path=Makemap 命令,0
sendmail_path=Sendmail 命令,0
alias_file=到 sendmail 別名檔的完整路徑,3,自動
virtusers_file=虛擬使用者資料庫的原始檔案為,3,與資料庫檔案相同
mailers_file=郵件遞送者表格資料庫的原始檔案為,3,與資料庫檔案相同
generics_file=通用資料庫的原始檔案為,3,與資料庫檔案相同
access_file=存取資料庫的原始檔案為,3,與資料庫檔案相同
domains_file=網域資料庫的原始檔案為,3,與資料庫檔案相同
mail_dir=使用者郵件檔案目錄,0
+49
View File
@@ -0,0 +1,49 @@
#!/usr/local/bin/perl
# create_file.cgi
# Create the file for virtusers, domains, mailers or access_db
require './sendmail-lib.pl';
&ReadParse();
$conf = &get_sendmailcf();
if ($in{'mode'} eq 'virtusers') {
require './virtusers-lib.pl';
$access{'vmode'} || &error($text{'virtusers_ecannot'});
$file = &virtusers_file($conf);
($dbm, $dbmtype) = &virtusers_dbm($conf);
$log = "virtuser";
}
elsif ($in{'mode'} eq 'mailers') {
require './mailers-lib.pl';
$access{'mailers'} || &error($text{'mailers_ecannot'});
$file = &mailers_file($conf);
($dbm, $dbmtype) = &mailers_dbm($conf);
$log = "mailer";
}
elsif ($in{'mode'} eq 'generics') {
require './generics-lib.pl';
$access{'omode'} || &error($text{'generics_cannot'});
$file = &generics_file($conf);
($dbm, $dbmtype) = &generics_dbm($conf);
$log = "generic";
}
elsif ($in{'mode'} eq 'domains') {
require './domain-lib.pl';
$access{'domains'} || &error($text{'domains_ecannot'});
$file = &domains_file($conf);
($dbm, $dbmtype) = &domains_dbm($conf);
$log = "domain";
}
elsif ($in{'mode'} eq 'access') {
require './access-lib.pl';
$access{'access'} || &error($text{'access_ecannot'});
$file = &access_file($conf);
($dbm, $dbmtype) = &access_dbm($conf);
$log = "access";
}
&open_lock_tempfile(DFILE, ">>$file");
&close_tempfile(DFILE);
&system_logged("$config{'makemap_path'} $dbmtype $dbm <$file");
&webmin_log("manual", $log, $file);
&redirect("list_$in{'mode'}.cgi");
+32
View File
@@ -0,0 +1,32 @@
opts=1
cws=1
masq=1
trusts=1
cgs=1
relay=1
mailq=2
noconfig=0
vmode=1
mailers=1
access=1
amode=1
aedit_1=1
aedit_2=1
aedit_3=1
aedit_4=1
aedit_5=1
aedit_6=1
omode=1
domains=1
stop=1
vedit_0=1
vedit_1=1
vedit_2=1
fmode=0
apath=/
manual=1
qdomsmode=2
flushq=1
smode=1
ports=1
vcatchall=1
+208
View File
@@ -0,0 +1,208 @@
ALIAS_FILE
CYRUS_BB_MAILER_ARGS
CYRUS_BB_MAILER_FLAGS
CYRUS_MAILER_ARGS
CYRUS_MAILER_FLAGS
CYRUS_MAILER_MAX
CYRUS_MAILER_PATH
CYRUS_MAILER_USER
DSMTP_MAILER_ARGS
ESMTP_MAILER_ARGS
FAX_MAILER_ARGS
FAX_MAILER_MAX
FAX_MAILER_PATH
HELP_FILE
LOCAL_MAILER_ARGS
LOCAL_MAILER_CHARSET
LOCAL_MAILER_DSN_DIAGNOSTIC_CODE
LOCAL_MAILER_EOL
LOCAL_MAILER_FLAGS
LOCAL_MAILER_MAX
LOCAL_MAILER_MAXMSGS
LOCAL_MAILER_PATH
LOCAL_SHELL_ARGS
LOCAL_SHELL_DIR
LOCAL_SHELL_FLAGS
LOCAL_SHELL_PATH
MAIL11_MAILER_ARGS
MAIL11_MAILER_FLAGS
MAIL11_MAILER_PATH
PH_MAILER_ARGS
PH_MAILER_FLAGS
PH_MAILER_PATH
POP_MAILER_ARGS
POP_MAILER_FLAGS
POP_MAILER_PATH
PROCMAIL_MAILER_ARGS
PROCMAIL_MAILER_FLAGS
PROCMAIL_MAILER_MAX
PROCMAIL_MAILER_PATH
QPAGE_MAILER_ARGS
QPAGE_MAILER_FLAGS
QPAGE_MAILER_MAX
QPAGE_MAILER_PATH
QUEUE_DIR
RELAY_MAILER_ARGS
RELAY_MAILER_FLAGS
RELAY_MAILER_MAXMSGS
SMART_HOST
SMTP8_MAILER_ARGS
SMTP_MAILER_ARGS
SMTP_MAILER_CHARSET
SMTP_MAILER_FLAGS
SMTP_MAILER_MAX
SMTP_MAILER_MAXMSGS
STATUS_FILE
USENET_MAILER_ARGS
USENET_MAILER_FLAGS
USENET_MAILER_MAX
USENET_MAILER_PATH
UUCP_MAILER_ARGS
UUCP_MAILER_CHARSET
UUCP_MAILER_FLAGS
UUCP_MAILER_MAX
UUCP_MAILER_PATH
confALIAS_WAIT
confALLOW_BOGUS_HELO
confAUTH_MECHANISMS
confAUTH_OPTIONS
confAUTO_REBUILD
confBIND_OPTS
confBLANK_SUB
confCACERT
confCACERT_PATH
confCF_VERSION
confCHECKPOINT_INTERVAL
confCHECK_ALIASES
confCLIENT_CERT
confCLIENT_KEY
confCLIENT_OPTIONS
confCOLON_OK_IN_ADDR
confCONNECTION_RATE_THROTTLE
confCONNECT_ONLY_TO
confCONTROL_SOCKET_NAME
confCON_EXPENSIVE
confCOPY_ERRORS_TO
confCR_FILE
confCT_FILE
confCW_FILE
confDEAD_LETTER_DROP
confDEF_AUTH_INFO
confDEF_CHAR_SET
confDEF_USER_ID
confDELIVERY_MODE
confDF_BUFFER_SIZE
confDH_PARAMETERS
confDIAL_DELAY
confDOMAIN_NAME
confDONT_BLAME_SENDMAIL
confDONT_EXPAND_CNAMES
confDONT_INIT_GROUPS
confDONT_PROBE_INTERFACES
confDONT_PRUNE_ROUTES
confDOUBLE_BOUNCE_ADDRESS
confEBINDIR
confEIGHT_BIT_HANDLING
confERROR_MESSAGE
confERROR_MODE
confFALLBACK_MX
confFORWARD_PATH
confFROM_HEADER
confFROM_LINE
confHOSTS_FILE
confHOST_STATUS_DIRECTORY
confIGNORE_DOTS*
confINPUT_MAIL_FILTERS
confLDAP_DEFAULT_SPEC
confLOCAL_MAILER
confLOG_LEVEL
confMAILER_NAME
confMATCH_GECOS
confMAX_ALIAS_RECURSION
confMAX_DAEMON_CHILDREN
confMAX_HEADERS_LENGTH
confMAX_HOP
confMAX_MESSAGE_SIZE
confMAX_MIME_HEADER_LENGTH
confMAX_QUEUE_RUN_SIZE
confMAX_RCPTS_PER_MESSAGE
confMCI_CACHE_SIZE
confMCI_CACHE_TIMEOUT
confME_TOO
confMIME_FORMAT_ERRORS*
confMIN_FREE_BLOCKS
confMIN_QUEUE_AGE
confMUST_QUOTE_CHARS
confNO_RCPT_ACTION
confOLD_STYLE_HEADERS*
confOPERATORS
confPID_FILE
confPRIVACY_FLAGS
confPROCESS_TITLE_PREFIX
confQUEUE_FACTOR
confQUEUE_LA
confQUEUE_SORT_ORDER
confRAND_FILE
confRECEIVED_HEADER
confREFUSE_LA
confREJECT_MSG
confRELAY_MAILER
confRELAY_MSG
confRRT_IMPLIES_DSN
confRUN_AS_USER
confSAFE_FILE_ENV
confSAFE_QUEUE*
confSAVE_FROM_LINES
confSEPARATE_PROC
confSERVER_CERT
confSERVER_KEY
confSERVICE_SWITCH_FILE
confSEVEN_BIT_INPUT
confSINGLE_LINE_FROM_HEADER
confSINGLE_THREAD_DELIVERY
confSMTP_LOGIN_MSG
confSMTP_MAILER
confTEMP_FILE_MODE
confTIME_ZONE
confTO_COMMAND
confTO_CONNECT
confTO_CONTROL
confTO_DATABLOCK
confTO_DATAFINAL
confTO_DATAINIT
confTO_FILEOPEN
confTO_HELO
confTO_HOSTSTATUS
confTO_ICONNECT
confTO_IDENT
confTO_INITIAL
confTO_MAIL
confTO_MISC
confTO_QUEUERETURN
confTO_QUEUERETURN_NONURGENT
confTO_QUEUERETURN_NORMAL
confTO_QUEUERETURN_URGENT
confTO_QUEUEWARN
confTO_QUEUEWARN_NONURGENT
confTO_QUEUEWARN_NORMAL
confTO_QUEUEWARN_URGENT
confTO_QUIT
confTO_RCPT
confTO_RESOLVER_RETRANS
confTO_RESOLVER_RETRANS_FIRST
confTO_RESOLVER_RETRANS_NORMAL
confTO_RESOLVER_RETRY
confTO_RESOLVER_RETRY_FIRST
confTO_RESOLVER_RETRY_NORMAL
confTO_RSET
confTRUSTED_USER
confTRUSTED_USERS
confTRY_NULL_MX_LIST
confUNSAFE_GROUP_WRITES
confUSERDB_SPEC
confUSE_ERRORS_TO*
confUUCP_MAILER
confWORK_CLASS_FACTOR
confWORK_RECIPIENT_FACTOR
confWORK_TIME_FACTOR
confXF_BUFFER_SIZE
+43
View File
@@ -0,0 +1,43 @@
#!/usr/local/bin/perl
# del_mailq.cgi
# Delete some mail message from the queue
require './sendmail-lib.pl';
require './boxes-lib.pl';
&ReadParse();
if ($in{'flush'}) {
# Just go to flushing page
&redirect("del_mailqs.cgi?flush=1&file=".&urlize($in{'file'}));
exit;
}
&error_setup($text{'delq_err'});
$access{'mailq'} == 2 || &error($text{'delq_ecannot'});
$in{'file'} =~ /\.\./ && &error($text{'delq_ecannot'});
$conf = &get_sendmailcf();
foreach $mqueue (&mailq_dir($conf)) {
$ok++ if ($in{'file'} =~ /^$mqueue\//);
}
$ok || &error($text{'mailq_ecannot'});
$qfile = $in{'file'};
$mail = &mail_from_queue($qfile, "auto");
&can_view_qfile($mail) || &error($text{'delq_ecannot'});
if (-r $mail->{'lfile'} && !$in{'force'}) {
&ui_print_header(undef, $text{'delq_title'}, "");
print "<center><form action=del_mailq.cgi>\n";
print "<b>$main::whatfailed : $text{'delq_locked'}</b><p>\n";
print "<input type=hidden name=file value='$in{'file'}'>\n";
print "<input type=submit name=force value='$text{'delq_force'}'>\n";
print "</form></center>\n";
&ui_print_footer("list_mailq.cgi", $text{'mailq_return'});
exit;
}
unlink($mail->{'file'}, $mail->{'dfile'}, $mail->{'lfile'});
&webmin_log("delmailq", undef, undef, { 'to' => $mail->{'header'}->{'to'},
'from' => $mail->{'header'}->{'from'} });
&redirect("list_mailq.cgi");
+107
View File
@@ -0,0 +1,107 @@
#!/usr/local/bin/perl
# del_mailqs.cgi
# Delete some mail messages from the queue
require './sendmail-lib.pl';
require './boxes-lib.pl';
&ReadParse();
@files = split(/\0/, $in{'file'});
if ($in{'flush'}) {
# Flushing selected messages
@files || &error($text{'delq_enone'});
$access{'flushq'} || &error($text{'flushq_ecannot'});
&ui_print_unbuffered_header(undef, $text{'flushq_title'}, "");
# Split into quarantined and non-quarantined messages
local @mails = map { &mail_from_queue($_) } @files;
local @quar = grep { $_->{'quar'} } @mails;
local @nonquar = grep { !$_->{'quar'} } @mails;
foreach $ml (\@quar, \@nonquar) {
next if (!@$ml);
@files = map { $_->{'file'} } @$ml;
$cmd = "$config{'sendmail_path'} -v -C$config{'sendmail_cf'}";
if ($ml->[0]->{'quar'}) {
$cmd .= " -qQ";
}
foreach $file (@files) {
$file =~ s/^.*\///;
$cmd .= " -qI$file";
}
if ($config{'mailq_order'}) {
$cmd .= " -O QueueSortOrder=$config{'mailq_order'}";
}
print &text('flushq_desc2', scalar(@files)),"\n";
print "<pre>";
&foreign_require("proc", "proc-lib.pl");
&foreign_call("proc", "safe_process_exec_logged", $cmd, 0, 0,
STDOUT, undef, 1);
print "</pre>\n";
}
&webmin_log("flushq", undef, scalar(@files));
}
else {
# Deleting selected messages
&error_setup($text{'delq_err'});
$access{'mailq'} == 2 || &error($text{'delq_ecannot'});
@files || &error($text{'delq_enone'});
&ui_print_header(undef, $text{'delq_titles'}, "");
if ($in{'confirm'} || !$config{'delete_confirm'}) {
# Do it!
$count = 0;
$conf = &get_sendmailcf();
foreach $file (@files) {
print &text('delq_file', "<tt>$file</tt>"),"&nbsp;&nbsp;&nbsp;\n";
local $ok;
foreach $mqueue (&mailq_dir($conf)) {
$ok++ if ($file =~ /^$mqueue\//);
}
if (!$ok) {
print $text{'delq_efile'},"<br>\n";
next;
}
if ($file =~ /\.\./) {
print $text{'delq_efile'},"<br>\n";
next;
}
if (!-r $file) {
print $text{'delq_egone'},"<br>\n";
next;
}
$mail = &mail_from_queue($file, "auto");
if (!&can_view_qfile($mail)) {
print $text{'delq_ecannot'},"<br>\n";
next;
}
if (-r $mail->{'lfile'} && !$in{'locked'}) {
print $text{'delq_elocked'},"<br>\n";
next;
}
unlink($mail->{'file'}, $mail->{'dfile'}, $mail->{'lfile'});
print $text{'delq_ok'},"<br>\n";
$count++;
}
&webmin_log("delmailq", undef, undef, { 'count' => $count }) if ($count);
}
else {
# Ask for confirmation first
print "<center>\n";
print &ui_form_start("del_mailqs.cgi", "post");
print &text('delq_rusure', scalar(@files)),"<p>\n";
foreach $f (@files) {
print &ui_hidden("file", $f),"\n";
}
print &ui_hidden("locked", $in{'locked'}),"\n";
print &ui_form_end([ [ "confirm", $text{'delq_confirm'} ] ]);
print "</center>\n";
}
}
&ui_print_footer("list_mailq.cgi", $text{'mailq_return'});
+33
View File
@@ -0,0 +1,33 @@
#!/usr/local/bin/perl
# Delete several spam control rules
require './sendmail-lib.pl';
require './access-lib.pl';
&ReadParse();
&error_setup($text{'sdelete_err'});
$conf = &get_sendmailcf();
$vfile = &access_file($conf);
($vdbm, $vdbmtype) = &access_dbm($conf);
# Find and validate
@d = split(/\0/, $in{'d'});
@d || &error($text{'adelete_enone'});
@virts = &list_access($vfile);
foreach $d (@d) {
($virt) = grep { $_->{'from'} eq $d } @virts;
&can_edit_access($virt) || &error(&text('sdelete_ecannot', $d));
if ($virt) {
push(@delvirts, $virt);
}
}
# Delete the rules
&lock_file($vfile);
foreach $virt (@delvirts) {
&delete_access($virt, $vfile, $vdbm, $vdbmtype);
}
&unlock_file($vfile);
&webmin_log("delete", "accesses", scalar(@delvirts));
&redirect("list_access.cgi");
+33
View File
@@ -0,0 +1,33 @@
#!/usr/local/bin/perl
# Delete several mail aliases
require './sendmail-lib.pl';
require './aliases-lib.pl';
&ReadParse();
&error_setup($text{'adelete_err'});
$access{'amode'} > 0 || &error($text{'asave_ecannot2'});
$conf = &get_sendmailcf();
$afile = &aliases_file($conf);
# Find and validate
@d = split(/\0/, $in{'d'});
@d || &error($text{'adelete_enone'});
@aliases = &list_aliases($afile);
foreach $d (@d) {
($alias) = grep { $_->{'name'} eq $d } @aliases;
if ($alias) {
&can_edit_alias($alias) || &error(&text('adelete_ecannot', $d));
push(@delaliases, $alias);
}
}
# Delete the aliases
&lock_alias_files($afile);
foreach $alias (@delaliases) {
&delete_alias($alias);
}
&unlock_alias_files($afile);
&webmin_log("delete", "aliases", scalar(@delaliases));
&redirect("list_aliases.cgi");
+32
View File
@@ -0,0 +1,32 @@
#!/usr/local/bin/perl
# Delete several domains
require './sendmail-lib.pl';
require './domain-lib.pl';
&ReadParse();
&error_setup($text{'ddelete_err'});
$conf = &get_sendmailcf();
$vfile = &domains_file($conf);
($vdbm, $vdbmtype) = &domains_dbm($conf);
# Find and validate
@d = split(/\0/, $in{'d'});
@d || &error($text{'adelete_enone'});
@virts = &list_domains($vfile);
foreach $d (@d) {
($virt) = grep { $_->{'from'} eq $d } @virts;
if ($virt) {
push(@delvirts, $virt);
}
}
# Delete the aliases
&lock_file($vfile);
foreach $virt (@delvirts) {
&delete_domain($virt, $vfile, $vdbm, $vdbmtype);
}
&unlock_file($vfile);
&webmin_log("delete", "domains", scalar(@delvirts));
&redirect("list_domains.cgi");
+34
View File
@@ -0,0 +1,34 @@
#!/usr/local/bin/perl
# Delete several generics
require './sendmail-lib.pl';
require './generics-lib.pl';
&ReadParse();
&error_setup($text{'gdelete_err'});
$conf = &get_sendmailcf();
$vfile = &generics_file($conf);
($vdbm, $vdbmtype) = &generics_dbm($conf);
# Find and validate
@d = split(/\0/, $in{'d'});
@d || &error($text{'adelete_enone'});
@virts = &list_generics($vfile);
foreach $d (@d) {
($virt) = grep { $_->{'from'} eq $d } @virts;
if ($virt) {
&can_edit_generic($virt) ||
&error(&text('gdelete_ecannot', $d));
push(@delvirts, $virt);
}
}
# Delete the aliases
&lock_file($vfile);
foreach $virt (@delvirts) {
&delete_generic($virt, $vfile, $vdbm, $vdbmtype);
}
&unlock_file($vfile);
&webmin_log("delete", "generics", scalar(@delvirts));
&redirect("list_generics.cgi");
+32
View File
@@ -0,0 +1,32 @@
#!/usr/local/bin/perl
# Delete several mailers
require './sendmail-lib.pl';
require './mailers-lib.pl';
&ReadParse();
&error_setup($text{'mdelete_err'});
$conf = &get_sendmailcf();
$vfile = &mailers_file($conf);
($vdbm, $vdbmtype) = &mailers_dbm($conf);
# Find and validate
@d = split(/\0/, $in{'d'});
@d || &error($text{'adelete_enone'});
@virts = &list_mailers($vfile);
foreach $d (@d) {
($virt) = grep { $_->{'domain'} eq $d } @virts;
if ($virt) {
push(@delvirts, $virt);
}
}
# Delete the aliases
&lock_file($vfile);
foreach $virt (@delvirts) {
&delete_mailer($virt, $vfile, $vdbm, $vdbmtype);
}
&unlock_file($vfile);
&webmin_log("delete", "mailers", scalar(@delvirts));
&redirect("list_mailers.cgi");
+34
View File
@@ -0,0 +1,34 @@
#!/usr/local/bin/perl
# Delete several virtusers
require './sendmail-lib.pl';
require './virtusers-lib.pl';
&ReadParse();
&error_setup($text{'vdelete_err'});
$conf = &get_sendmailcf();
$vfile = &virtusers_file($conf);
($vdbm, $vdbmtype) = &virtusers_dbm($conf);
# Find and validate
@d = split(/\0/, $in{'d'});
@d || &error($text{'adelete_enone'});
@virts = &list_virtusers($vfile);
foreach $d (@d) {
($virt) = grep { $_->{'from'} eq $d } @virts;
if ($virt) {
&can_edit_virtuser($virt) ||
&error(&text('vdelete_ecannot', $d));
push(@delvirts, $virt);
}
}
# Delete the aliases
&lock_file($vfile);
foreach $virt (@delvirts) {
&delete_virtuser($virt, $vfile, $vdbm, $vdbmtype);
}
&unlock_file($vfile);
&webmin_log("delete", "virtusers", scalar(@delvirts));
&redirect("list_virtusers.cgi");
+183
View File
@@ -0,0 +1,183 @@
# domain-lib.pl
# Functions for the domains table
# domains_dbm(&config)
# Returns the filename and type of the domains database, or undef if none
sub domains_dbm
{
foreach $f (&find_type("K", $_[0])) {
if ($f->{'value'} =~ /^domaintable\s+(\S+)[^\/]+(\S+)$/) {
return ($2, $1);
}
}
return undef;
}
# domains_file(&config)
# Returns the filename of the text domains file, or undef if none
sub domains_file
{
return &find_textfile($config{'domains_file'}, &domains_dbm($_[0]));
}
# list_domains(textfile)
sub list_domains
{
if (!scalar(@list_domains_cache)) {
@list_domains_cache = ( );
local $lnum = 0;
local $cmt;
open(DOM, "<".$_[0]);
while(<DOM>) {
s/\r|\n//g; # remove newlines
if (/^\s*#+\s*(.*)/) {
# A comment line
$cmt = &is_table_comment($_);
}
elsif (/^(\S+)\s+(.*)/) {
# A domain mapping
local(%dom);
$dom{'from'} = $1;
$dom{'to'} = $2;
$dom{'line'} = $cmt ? $lnum-1 : $lnum;
$dom{'eline'} = $lnum;
$dom{'num'} = scalar(@list_domains_cache);
$dom{'cmt'} = $cmt;
push(@list_domains_cache, \%dom);
$cmt = undef;
}
else {
$cmt = undef;
}
$lnum++;
}
close(DOM);
}
return @list_domains_cache;
}
# create_domain(&details, textfile, dbmfile, dbmtype)
# Create a new domain mapping
sub create_domain
{
&list_domains($_[1]); # force cache init
local %dom;
# Write to the file
local $lref = &read_file_lines($_[1]);
$_[0]->{'line'} = scalar(@$lref);
push(@$lref, &make_table_comment($_[0]->{'cmt'}));
push(@$lref, "$_[0]->{'from'}\t$_[0]->{'to'}");
$_[0]->{'eline'} = scalar(@$lref)-1;
&flush_file_lines($_[1]);
# Add to DBM
if (!&rebuild_map_cmd($_[1])) {
if ($_[3] eq "dbm") {
dbmopen(%dom, $_[2], 0644);
$dom{$_[0]->{'from'}} = $_[0]->{'to'};
dbmclose(%dom);
}
else { &run_makemap($_[1], $_[2], $_[3]); }
}
# Add to cache
$_[0]->{'num'} = scalar(@list_domains_cache);
$_[0]->{'file'} = $_[1];
push(@list_domains_cache, $_[0]);
}
# delete_domain(&details, textfile, dbmfile, dbmtype)
# Delete an existing domain mapping
sub delete_domain
{
local %dom;
# Delete from file
local $lref = &read_file_lines($_[1]);
local $len = $_[0]->{'eline'} - $_[0]->{'line'} + 1;
splice(@$lref, $_[0]->{'line'}, $len);
&flush_file_lines($_[1]);
# Delete from DBM
if (!&rebuild_map_cmd($_[1])) {
if ($_[3] eq "dbm") {
dbmopen(%dom, $_[2], 0644);
delete($dom{$_[0]->{'from'}});
dbmclose(%dom);
}
else { &run_makemap($_[1], $_[2], $_[3]); }
}
# Delete from cache
local $idx = &indexof($_[0], @list_domains_cache);
splice(@list_domains_cache, $idx, 1) if ($idx != -1);
&renumber_list(\@list_domains_cache, $_[0], -$len);
}
# modify_domain(&old, &details, textfile, dbmfile, dbmtype)
# Change an existing domain
sub modify_domain
{
local %dom;
# Update in file
local $lref = &read_file_lines($_[2]);
local $oldlen = $_[0]->{'eline'} - $_[0]->{'line'} + 1;
local @newlines;
push(@newlines, &make_table_comment($_[1]->{'cmt'}));
push(@newlines, "$_[1]->{'from'}\t$_[1]->{'to'}");
splice(@$lref, $_[0]->{'line'}, $oldlen, @newlines);
&flush_file_lines($_[2]);
# Update DBM
if (!&rebuild_map_cmd($_[2])) {
if ($_[4] eq "dbm") {
dbmopen(%dom, $_[3], 0644);
delete($dom{$_[0]->{'from'}});
$dom{$_[1]->{'from'}} = $_[1]->{'to'};
dbmclose(%dom);
}
else { &run_makemap($_[2], $_[3], $_[4]); }
}
# Update cache
local $idx = &indexof($_[0], @list_domains_cache);
$_[1]->{'line'} = $_[0]->{'line'};
$_[1]->{'eline'} = $_[1]->{'cmt'} ? $_[0]->{'line'}+1 : $_[0]->{'line'};
$list_domains_cache[$idx] = $_[1] if ($idx != -1);
&renumber_list(\@list_domains_cache, $_[0], scalar(@newlines)-$oldlen);
}
# domain_form([&details])
sub domain_form
{
local $g = $_[0];
print &ui_form_start("save_domain.cgi", "post");
if ($g) {
print &ui_hidden("num", $g->{'num'}),"\n";
}
else {
print &ui_hidden("new", 1),"\n";
}
print &ui_table_start($g ? $text{'gform_edit'} : $text{'gform_create'},
undef, 2);
print &ui_table_row($text{'vform_cmt'},
&ui_textbox("cmt", $g->{'cmt'}, 50));
print &ui_table_row($text{'dform_from'},
&ui_textbox("from", $g->{'from'}, 30));
print &ui_table_row($text{'dform_to'},
&ui_textbox("to", $g->{'to'}, 30));
print &ui_table_end();
print &ui_form_end($_[0] ? [ [ "save", $text{'save'} ],
[ "delete", $text{'delete'} ] ]
: [ [ "create", $text{'create'} ] ]);
}
1;
+42
View File
@@ -0,0 +1,42 @@
Safe No special handling
AssumeSafeChown Assume that the chown system call is restricted to root
ClassFileInUnsafeDirPath When reading class files, allow files that are in unsafe directories
DontWarnForwardFileInUnsafeDirPath Prevent logging of unsafe directory path warnings for non-existent forward files
ErrorHeaderInUnsafeDirPath Allow the file named in the ErrorHeader option to be in an unsafe directory
FileDeliveryToHardLink Allow delivery to files that are hard links
FileDeliveryToSymLink Allow delivery to files that are symbolic links
ForwardFileInGroupWritableDirPath Allow .forward files in group writable directories
ForwardFileInUnsafeDirPath Allow .forward files in unsafe directories
ForwardFileInUnsafeDirPathSafe Allow a .forward file that is in an unsafe directory to include references to program and files
GroupReadableKeyFile Accept a group-readable key file for STARTTLS
GroupReadableSASLDBFile Accept a group-readable Cyrus SASL password file
GroupWritableAliasFile Allow group-writable alias files
GroupWritableDirPathSafe Change the definition of "unsafe directory" to consider group-writable directories to be safe
GroupWritableForwardFile Allow group writable .forward files
GroupWritableForwardFileSafe Accept group-writable .forward files
GroupWritableIncludeFile Allow group wriable :include: files
GroupWritableIncludeFileSafe Accept group-writable :include: files
GroupWritableSASLDBFile Accept a group-writable Cyrus SASL password file
HelpFileInUnsafeDirPath Allow the file named in the HelpFile option to be in an unsafe directory
IncludeFileInGroupWritableDirPath Allow :include: files in group writable directories
IncludeFileInUnsafeDirPath Allow :include: files in unsafe directories
IncludeFileInUnsafeDirPathSafe Allow a :include: file that is in an unsafe directory to include references to program and files
InsufficientEntropy Try to use STARTTLS even if the PRNG for OpenSSL is not properly seeded despite the security problems
LinkedAliasFileInWritableDir Allow an alias file that is a link in a writable directory
LinkedClassFileInWritableDir Allow class files that are links in writable directories
LinkedForwardFileInWritableDir Allow .forward files that are links in writable directories
LinkedIncludeFileInWritableDir Allow :include: files that are links in writable directories
LinkedMapInWritableDir Allow map files that are links in writable directories
LinkedServiceSwitchFileInWritableDir Allow the service switch file to be a link even if the directory is writable
MapInUnsafeDirPath Allow maps (e.g., hash, btree, and dbm files) in unsafe directories
NonRootSafeAddr Do not mark file and program deliveries as unsafe if sendmail is not running with root privileges
RunProgramInUnsafeDirPath Go ahead and run programs that are in writable directories
RunWritableProgram Go ahead and run programs that are group- or world-writable
TrustStickyBit Allow group or world writable directories if the sticky bit is set on the directory
WorldWritableAliasFile Accept world-writable alias files
WorldWritableForwardfile Allow world writable .forward files
WorldWritableIncludefile Allow world wriable :include: files
WriteMapToHardLink Allow writes to maps that are hard links
WriteMapToSymLink Allow writes to maps that are symbolic links
WriteStatsToHardLink Allow the status file to be a hard link
WriteStatsToSymLink Allow the status file to be a symbolic link
+18
View File
@@ -0,0 +1,18 @@
#!/usr/local/bin/perl
# edit_access.cgi
# Edit an existing access rule
require './sendmail-lib.pl';
require './access-lib.pl';
&ReadParse();
$access{'access'} || &error($text{'sform_ecannot'});
$conf = &get_sendmailcf();
@accs = &list_access(&access_file($conf));
&can_edit_access($accs[$in{'num'}]) ||
&error($text{'sform_ecannot'});
&ui_print_header(undef, $text{'sform_edit'}, "");
&access_form($accs[$in{'num'}]);
&ui_print_footer("list_access.cgi", $text{'access_return'},
"", $text{'index_return'});
+31
View File
@@ -0,0 +1,31 @@
#!/usr/local/bin/perl
# edit_afile.cgi
# Display the contents of an address file
require (-r 'sendmail-lib.pl' ? './sendmail-lib.pl' :
-r 'qmail-lib.pl' ? './qmail-lib.pl' :
'./postfix-lib.pl');
&ReadParse();
if (!&is_under_directory($access{'apath'}, $in{'file'})) {
&error(&text('afile_efile', $in{'file'}));
}
&ui_print_header(undef, $text{'afile_title'}, "");
&open_readfile(FILE, $in{'file'});
@lines = <FILE>;
close(FILE);
print "<b>",&text('afile_desc', "<tt>$in{'file'}</tt>"),"</b><p>\n";
print "<form action=save_afile.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=file value=\"$in{'file'}\">\n";
print "<input type=hidden name=num value=\"$in{'num'}\">\n";
print "<input type=hidden name=name value=\"$in{'name'}\">\n";
print "<textarea name=text rows=20 cols=80>",
join("", @lines),"</textarea><p>\n";
print "<input type=submit value=\"$text{'save'}\"> ",
"<input type=reset value=\"$text{'afile_undo'}\">\n";
print "</form>\n";
&ui_print_footer("edit_alias.cgi?name=$in{'name'}&num=$in{'num'}",$text{'aform_return'});
+17
View File
@@ -0,0 +1,17 @@
#!/usr/local/bin/perl
# edit_alias.cgi
# Edit an existing sendmail alias
require './sendmail-lib.pl';
require './aliases-lib.pl';
&ReadParse();
$conf = &get_sendmailcf();
@aliases = &list_aliases(&aliases_file($conf));
$a = $aliases[$in{'num'}];
&can_edit_alias($a) || &error($text{'aform_ecannot'});
&ui_print_header(undef, $text{'aform_edit'}, "", "edit_alias");
&alias_form($a);
&ui_print_footer("list_aliases.cgi", $text{'aliases_return'},
"", $text{'index_return'});
+16
View File
@@ -0,0 +1,16 @@
#!/usr/local/bin/perl
# edit_domain.cgi
# Edit an existing domain
require './sendmail-lib.pl';
require './domain-lib.pl';
&ReadParse();
$access{'domains'} || &error($text{'dform_ecannot'});
$conf = &get_sendmailcf();
@doms = &list_domains(&domains_file($conf));
&ui_print_header(undef, $text{'dform_edit'}, "");
&domain_form($doms[$in{'num'}]);
&ui_print_footer("list_domains.cgi", $text{'domains_return'},
"", $text{'index_return'});
+102
View File
@@ -0,0 +1,102 @@
#!/usr/local/bin/perl
# edit_feature.cgi
# Displays a form for editing or creating some M4 file entry, which may be a
# feature, define, mailer or other line.
require './sendmail-lib.pl';
require './features-lib.pl';
&ReadParse();
$features_access || &error($text{'features_ecannot'});
if ($in{'manual'}) {
# Display manual edit form
&ui_print_header(undef, $text{'feature_manual'}, "");
print &ui_form_start("manual_features.cgi", "form-data");
print &text('feature_mdesc', "<tt>$config{'sendmail_mc'}</tt>"),
"<br>\n";
print &ui_textarea("data", &read_file_contents($config{'sendmail_mc'}),
20, 80);
print &ui_form_end([ [ undef, $text{'save'} ] ]);
&ui_print_footer("list_features.cgi", $text{'features_return'});
exit;
}
if ($in{'new'}) {
&ui_print_header(undef, $text{'feature_add'}, "");
$feature = { 'type' => $in{'type'} };
}
else {
&ui_print_header(undef, $text{'feature_edit'}, "");
@features = &list_features();
$feature = $features[$in{'idx'}];
}
print &ui_form_start("save_feature.cgi", "post");
print &ui_hidden("new", $in{'new'});
print &ui_hidden("idx", $in{'idx'});
print &ui_hidden("type", $feature->{'type'});
print &ui_table_start($text{'feature_header'}, "width=100%", 2);
# Current value
if (!$in{'new'} && $feature->{'type'}) {
print &ui_table_row($text{'feature_old'},
"<tt>".&html_escape($feature->{'text'})."</tt>");
}
if ($feature->{'type'} == 0) {
# Unsupported text line
print &ui_table_row($text{'feature_text'},
&ui_textbox("text", $feature->{'text'}, 80));
}
elsif ($feature->{'type'} == 1) {
# A FEATURE() definition
print &ui_table_row($text{'feature_feat'},
&ui_select("name", $feature->{'name'},
[ &list_feature_types() ]));
local @v = @{$feature->{'values'}};
@v = ( "" ) if (!@v);
local @vals;
for($i=0; $i<=@v; $i++) {
push(@vals, &ui_textbox("value_$i", $v[$i], 50));
}
print &ui_table_row($text{'feature_values'},
join("<br>\n", @vals));
}
elsif ($feature->{'type'} == 2 || $feature->{'type'} == 3) {
# A define() or undefine()
print &ui_table_row($text{'feature_def'},
&ui_select("name", $feature->{'name'},
[ &list_define_types() ], 1, 0, 1));
print &ui_table_row($text{'feature_defval'},
&ui_radio("undef", $feature->{'type'} == 2 ? 0 : 1,
[ [ 0, $text{'feature_defmode1'}." ".
&ui_textbox("value", $feature->{'value'}, 50) ],
[ 1, $text{'feature_defmode0'} ] ]));
}
elsif ($feature->{'type'} == 4) {
# A MAILER() definition
print &ui_table_row($text{'feature_mailer'},
&ui_select("mailer", $feature->{'mailer'},
[ &list_mailer_types() ]));
}
elsif ($feature->{'type'} == 5) {
# An OSTYPE() definition
print &ui_table_row($text{'feature_ostype'},
&ui_select("ostype", $feature->{'ostype'},
[ &list_ostype_types() ]));
}
print &ui_table_end();
if ($in{'new'}) {
print &ui_form_end([ [ undef, $text{'create'} ] ]);
}
else {
print &ui_form_end([ [ undef, $text{'save'} ],
[ 'delete', $text{'delete'} ] ]);
}
&ui_print_footer("list_features.cgi", $text{'features_return'});
+68
View File
@@ -0,0 +1,68 @@
#!/usr/local/bin/perl
# edit_ffile.cgi
# Allow editing of a filter config file
require (-r 'sendmail-lib.pl' ? './sendmail-lib.pl' :
-r 'qmail-lib.pl' ? './qmail-lib.pl' :
'./postfix-lib.pl');
&ReadParse();
if (!&is_under_directory($access{'apath'}, $in{'file'})) {
&error(&text('ffile_efile', $in{'file'}));
}
&ui_print_header(undef, $text{'ffile_title'}, "");
&open_readfile(FILE, $in{'file'});
while(<FILE>) {
s/\r|\n//g;
if (/^(\S+)\s+(\S+)\s+(\S+)\s+(.*)$/) {
push(@filter, [ $1, $2, $3, $4 ]);
}
elsif (/^(2)\s+(\S+)$/) {
$other = $2;
}
}
close(FILE);
print "<b>",&text('ffile_desc', "<tt>$in{'file'}</tt>"),"</b><p>\n";
print "<form action=save_ffile.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=file value=\"$in{'file'}\">\n";
print "<input type=hidden name=num value=\"$in{'num'}\">\n";
print "<input type=hidden name=name value=\"$in{'name'}\">\n";
$i = 0;
foreach $f (@filter, [ 1, '', '', '' ],
[ 1, '', '', '' ],
[ 1, '', '', '' ],
[ 1, '', '', '' ],
[ 1, '', '', '' ]) {
$field = "<select name=field_$i>\n";
foreach $ft ('', 'from', 'to', 'subject', 'cc', 'body') {
$field .= sprintf "<option value='%s' %s>%s</option>\n",
$ft, $f->[2] eq $ft ? "selected" : "",
$ft ? $text{"ffile_$ft"} : "&nbsp";
}
$field .= "</select>\n";
$what = "<select name=what_$i>\n";
$what .= sprintf "<option value=0 %s>%s</option>\n",
$f->[0] == 0 ? "selected" : "", $text{"ffile_what0"};
$what .= sprintf "<option value=1 %s>%s</option>\n",
$f->[0] == 1 ? "selected" : "", $text{"ffile_what1"};
$what .= "</select>\n";
$match = "<input name=match_$i size=20 value='$f->[3]'>\n";
$action = "<input name=action_$i size=30 value='$f->[1]'>\n";
print &text('ffile_line', $field, $what, $match, $action),"<br>\n";
$i++;
}
print &text('ffile_other',
"<input name=other size=30 value='$other'>"),"<br>\n";
print "<input type=submit value=\"$text{'save'}\">\n";
print "</form>\n";
&ui_print_footer("edit_alias.cgi?name=$in{'name'}&num=$in{'num'}", $text{'aform_return'});
+73
View File
@@ -0,0 +1,73 @@
#!/usr/local/bin/perl
# edit_file.cgi
# Display the contents of a file for editing
require './sendmail-lib.pl';
&error_setup($text{'file_err'});
$access{'manual'} || &error($text{'file_ecannot'});
&ReadParse();
$conf = &get_sendmailcf();
if ($in{'mode'} eq 'aliases') {
require './aliases-lib.pl';
$file = &aliases_file($conf)->[$in{'idx'}];
$return = "list_aliases.cgi";
$rmsg = $text{'aliases_return'};
$access{'amode'} == 1 && $access{'aedit_1'} && $access{'aedit_2'} &&
$access{'aedit_3'} && $access{'aedit_4'} && $access{'aedit_5'} &&
$access{'amax'} == 0 && $access{'apath'} eq '/' ||
&error($text{'file_ealiases'});
}
elsif ($in{'mode'} eq 'virtusers') {
require './virtusers-lib.pl';
$file = &virtusers_file($conf);
$return = "list_virtusers.cgi";
$rmsg = $text{'virtusers_return'};
$access{'vmode'} == 1 && $access{'vedit_0'} && $access{'vedit_1'} &&
$access{'vedit_2'} && $access{'vmax'} == 0 ||
&error($text{'file_evirtusers'});
}
elsif ($in{'mode'} eq 'mailers') {
require './mailers-lib.pl';
$file = &mailers_file($conf);
$return = "list_mailers.cgi";
$rmsg = $text{'mailers_return'};
$access{'mailers'} || &error($text{'file_emailers'});
}
elsif ($in{'mode'} eq 'generics') {
require './generics-lib.pl';
$file = &generics_file($conf);
$return = "list_generics.cgi";
$rmsg = $text{'generics_return'};
$access{'omode'} == 1 || &error($text{'file_egenerics'});
}
elsif ($in{'mode'} eq 'domains') {
require './domain-lib.pl';
$file = &domains_file($conf);
$return = "list_domains.cgi";
$rmsg = $text{'domains_return'};
$access{'domains'} || &error($text{'file_edomains'});
}
elsif ($in{'mode'} eq 'access') {
require './access-lib.pl';
$file = &access_file($conf);
$return = "list_access.cgi";
$rmsg = $text{'access_return'};
$access{'access'} || &error($text{'file_eaccess'});
}
else { &error($text{'file_emode'}); }
&ui_print_header(undef, $text{'file_title'}, "");
open(FILE, "<$file");
@lines = <FILE>;
close(FILE);
print &text('file_desc', "<tt>$file</tt>"),"<p>\n";
print &ui_form_start("save_file.cgi", "form-data");
print &ui_hidden("mode", $in{'mode'});
print &ui_hidden("idx", $in{'idx'});
print &ui_textarea("text", join("", @lines), 20, 80);
print &ui_form_end([ [ undef, $text{'save'} ] ]);
&ui_print_footer($return, $rmsg);

Some files were not shown because too many files have changed in this diff Show More