#!/usr/bin/perl # Export URI blacklist data ## # $Id: export-uridb 80 2025-09-11 20:28:23Z kdeugau $ # Copyright 2010,2025 Kris Deugau # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . ## use strict; use warnings; use DBI; # push "the directory the script is in" into @INC use FindBin; use lib "$FindBin::RealBin/"; use URIdb 2.0; my $uridb = new URIdb; die "Usage: export-uridb [type]\n" if !$ARGV[0]; my $cfgname = shift @ARGV; warn "Missing DNS data type argument, defaulting to rbldnsd\n" if !$ARGV[0]; my $mode = shift @ARGV || 'rbldnsd'; my $uridb = new URIdb (configfile => "/etc/uridb/$cfgname.conf"); $uridb->connect; my %config; my $sth = $dbh->prepare("SELECT key,value FROM misc"); $sth->execute; while (my ($key,$value) = $sth->fetchrow_array) { $config{$key} = $value; } print "\$SOA 900 ".($config{blzone} ? $config{blzone} : 'uri').".dnsbl systems.company.com 0 1200 600 600 900\n". "\$NS 3600 127.0.0.1\n". "\$TTL 900\n"; $uridb->export($mode,*STDOUT);