use vars qw(@inqueue $systime $version $starttime $lockfn @outstanding_connects
$zombies $root @listeners $lang $myalias @debug $userfn $clusteraddr
$clusterport $mycall $decease $is_win $routeroot $me $reqreg $bumpexisting
- $allowdxby
+ $allowdxby $dbh $dsn $dbuser $dbpass
);
@inqueue = (); # the main input queue, an array of hashes
$systime = 0; # the time now (in seconds)
-$version = "1.51"; # the version no of the software
+$version = "1.52"; # the version no of the software
$starttime = 0; # the starting time of the cluster
#@outstanding_connects = (); # list of outstanding connects
@listeners = (); # list of listeners
use vars qw($VERSION $BRANCH $build $branch);
$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0));
-$main::build += 1; # add an offset to make it bigger than last system
$main::build += $VERSION;
$main::branch += $BRANCH;
+$main::build += 1; # fudge (put back for now)
+
# send a message to call on conn and disconnect
if ($bumpexisting) {
my $ip = $conn->{peerhost} || 'unknown';
$dxchan->send_now('D', DXM::msg($lang, 'conbump', $call, $ip));
- Log('DXCommand', "$call bumped off by $ip, disconnected");
- dbg("$call bumped off by $ip, disconnected");
+ LogDbg('DXCommand', "$call bumped off by $ip, disconnected");
$dxchan->disconnect;
} else {
already_conn($conn, $call, DXM::msg($lang, 'conother', $call, $main::mycall));
if ($baseuser && $baseuser->lockout || $lock) {
if (!$user || !defined $lock || $lock) {
my $host = $conn->{peerhost} || "unknown";
- Log('DXCommand', "$call on $host is locked out, disconnected");
+ LogDbg('DXCommand', "$call on $host is locked out, disconnected");
$conn->disconnect;
return;
}
$l->close_server;
}
- dbg("DXSpider version $version, build $build ended") if isdbg('chan');
- Log('cluster', "DXSpider V$version, build $build ended");
+ LogDbg('cluster', "DXSpider V$version, build $build ended");
dbgclose();
Logclose();
+
+ $dbh->finish if $dbh;
+
unlink $lockfn;
# $SIG{__WARN__} = $SIG{__DIE__} = sub {my $a = shift; cluck($a); };
exit(0);
$starttime = $systime = time;
$lang = 'en' unless $lang;
+unless ($DB::VERSION) {
+ $SIG{INT} = $SIG{TERM} = \&cease;
+}
+
# open the debug file, set various FHs to be unbuffered
dbginit(\&DXCommandmode::broadcast_debug);
foreach (@debug) {
$build += $main::version;
$build = "$build.$branch" if $branch;
-Log('cluster', "DXSpider V$version, build $build started");
+LogDbg('cluster', "DXSpider V$version, build $build started");
# banner
my ($year) = (gmtime)[5];
$year += 1900;
dbg("Copyright (c) 1998-$year Dirk Koopman G1TLH");
-dbg("DXSpider Version $version, build $build started");
+
+# try to load the database
+if ($dsn && -e "$root/perl/DXSql.pm") {
+ require DXSql;
+ import DXSql;
+
+ if (DXSql::init()) {
+ $dbh = DXSql->new($dsn);
+ $dbh = $dbh->connect($dsn, $dbuser, $dbpass) if $dbh;
+ }
+}
# load Prefixes
dbg("loading prefixes ...");