Basicamente copiar / colar de link e Para nos adaptarmos, aqui está um script Perl simples para implementar no_ru.pl
como um simples script check_policy_service
. Consulte o link para saber como identificá-lo.
Untested, YMMV, etc. Você provavelmente precisará use
e talvez inicializar algumas facilidades como syslog
- tente isso primeiro na linha de comando.
# Unbuffer standard output.
#
select((select(STDOUT), $| = 1)[0]);
#
# Receive a bunch of attributes, evaluate the policy, send the result.
#
%attr = ();
$ru_sender = $ru_rcpt = 0;
while (<STDIN>) {
if (/^\s*sender=.*\.ru\n/i) {
$ru_sender = 1;
} elsif (/^\s*recipient=.*\.ru$/i) {
$ru_rcpt = 1;
} elsif ($_ eq "\n") {
if ($verbose) {
syslog $syslog_priority, "ru_sender %i, ru_rcpt %i", $ru_sender, $ru_rcpt;
}
$action = ($ru_sender && $ru_rcpt) ? "reject" : "dunno";
syslog $syslog_priority, "Action: %s", $action if $verbose;
print STDOUT "action=$action\n\n";
%attr = ();
} else {
chop;
syslog $syslog_priority, "warning: ignoring garbage: %.100s", $_;
}
}