Репозитории ALT
S: | 1.37-alt1 |
5.1: | 1.33-alt0.M51.1 |
4.1: | 1.31-alt2 |
4.0: | 1.32-alt0.M40.1 |
+updates: | 1.31-alt1 |
3.0: | 1.22rc1-alt1 |
+backports: | 1.27-alt0.M30.1 |
Группа :: Система/Серверы
Пакет: postgrey
Главная Изменения Спек Патчи Исходники Загрузить Gear Bugs and FR Repocop
#!/usr/bin/perl -w
# This script will output all clients that were automatically whitelisted
# by postgrey's --auto-whitelist-clients option. The default number of
# mails required (5) is hardcoded below!
use BerkeleyDB;
use Socket;
my $dbdir = '/var/lib/postgrey';
sub resolv($) {
my $host = shift;
my $iaddr = inet_aton($host);
return gethostbyaddr($iaddr, AF_INET) || $host;
}
sub dbopen($)
{
my ($dbdir) = @_;
my %db;
my $dbenv = BerkeleyDB::Env->new(
-Home => $dbdir,
-Flags => DB_INIT_TXN|DB_INIT_MPOOL|DB_INIT_LOG,
) or die "ERROR: can't open DB environment: $!\n";
tie(%db, 'BerkeleyDB::Btree',
-Filename => "postgrey_clients.db",
-Flags => DB_RDONLY,
-Env => $dbenv,
) or die "ERROR: can't open database $dbdir/postgrey_clients.db: $!\n";
return \%db;
}
sub main()
{
# go through the database
my $db = dbopen($dbdir);
while (my ($key, $value) = each %$db) {
my ($c,$l) = split(/,/,$value);
$c >= 5 or next;
my $host = resolv($key);
print "$host ($c)\n";
}
}
main;
# vim: sw=4