- gracefully handle future timestamps in the database
(Andreas Hoedle)
- replaced obsolete Digest::SHA1 with Digest::SHA
(Salvatore Bonaccorso)
- updated whitelist
- adapt patches to the new version
- adapt URL to the postgrey_clients_dump source
- specfile cleanup
- removed empty verifyscript
OBS-URL: https://build.opensuse.org/package/show/server:mail/postgrey?expand=0&rev=21
50 lines
942 B
Plaintext
50 lines
942 B
Plaintext
#!/usr/sepp/bin/perl-5.8.4 -w
|
|
|
|
use lib '/usr/isgtc/lib/perl';
|
|
|
|
use BerkeleyDB;
|
|
use Socket;
|
|
|
|
my $dbdir = '/var/spool/postfix/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
|