File: //usr/share/usermin/mailbox/save_allow.cgi
#!/usr/bin/perl
# Update allowed or denied email addresses
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in);
require './mailbox-lib.pl';
&ReadParse();
&error_setup($text{$in{'mode'}.'_err'});
&foreign_require("spam", "spam-lib.pl");
my $conf = &spam::get_config();
# Parse and save addresses
my @addrs;
foreach my $l (split(/\r?\n/, $in{'addrs'})) {
foreach my $e (&split_addresses($l)) {
$e->[0] =~ /^\S+\@[a-z0-9\.\-\_\*]+$/i ||
$e->[0] =~ /^[a-z0-9\.\-\_\*]+$/i ||
&error(&text('allow_eaddr', $e->[0]));
push(@addrs, $e->[0]);
}
}
&spam::save_directives($conf, $in{'mode'} eq 'allow' ? 'whitelist_from'
: 'blacklist_from',
\@addrs, 1);
&flush_file_lines();
&redirect("");