#!@PERL@ # Convert domain to owner mappings from a DB file # into Analog config directives. # The DB file was produced by getdominfo. # Output is to stdout, which should be saved in the file subdomains.cfg # and sourced in Analog config files with: # CONFIGFILE subdomains.cfg # # Written by Chris Ross # and David MacKenzie # Please send comments and bug reports to ############################################################################## # Copyright 1999 UUNET, an MCI WorldCom company. # # 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 2, 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, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. ############################################################################## use BerkeleyDB; use Fcntl; main(); exit(0); sub main { my(%input, $dbfile, $domain, $owner); $dbfile = shift @ARGV || "dominfo.db"; tie(%input, "BerkeleyDB::Btree", -Filename => $dbfile, -Flags => DB_RDONLY) || die "$0: Can't read $dbfile: $!\n"; while (($domain, $owner) = each(%input)) { if ($owner) { # Analog 4.0 treats * and $ magically. # We have to avoid them. $owner =~ tr/*$/-&/; print "SUBDOMAIN $domain \"$owner\"\n"; } } untie(%input); }