projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix USDB problems?
[spider.git]
/
perl
/
cluster.pl
diff --git
a/perl/cluster.pl
b/perl/cluster.pl
index e1e75472223fc7beef785258b1f43b7cb7826320..25b84a9cec3ade5663a27a4fe7ca02eb62a8556f 100755
(executable)
--- a/
perl/cluster.pl
+++ b/
perl/cluster.pl
@@
-7,7
+7,7
@@
#
# Copyright (c) 1998 Dirk Koopman G1TLH
#
#
# Copyright (c) 1998 Dirk Koopman G1TLH
#
-#
$Id$
+#
#
require 5.004;
#
require 5.004;
@@
-98,10
+98,10
@@
use Mrtg;
use USDB;
use UDPMsg;
use QSL;
use USDB;
use UDPMsg;
use QSL;
-use RouteDB;
use DXXml;
use DXSql;
use IsoTime;
use DXXml;
use DXSql;
use IsoTime;
+use BPQMsg;
use Data::Dumper;
use IO::File;
use Data::Dumper;
use IO::File;
@@
-164,7
+164,7
@@
sub new_channel
# set up the basic channel info
# is there one already connected to me - locally?
# set up the basic channel info
# is there one already connected to me - locally?
- my $user = DXUser
->
get_current($call);
+ my $user = DXUser
::
get_current($call);
my $dxchan = DXChannel::get($call);
if ($dxchan) {
if ($user && $user->is_node) {
my $dxchan = DXChannel::get($call);
if ($dxchan) {
if ($user && $user->is_node) {
@@
-185,7
+185,7
@@
sub new_channel
# is he locked out ?
my $basecall = $call;
$basecall =~ s/-\d+$//;
# is he locked out ?
my $basecall = $call;
$basecall =~ s/-\d+$//;
- my $baseuser = DXUser
->
get_current($basecall);
+ my $baseuser = DXUser
::
get_current($basecall);
my $lock = $user->lockout if $user;
if ($baseuser && $baseuser->lockout || $lock) {
if (!$user || !defined $lock || $lock) {
my $lock = $user->lockout if $user;
if ($baseuser && $baseuser->lockout || $lock) {
if (!$user || !defined $lock || $lock) {
@@
-207,8
+207,8
@@
sub new_channel
$dxchan = DXProt->new($call, $conn, $user);
} elsif ($user->is_user) {
$dxchan = DXCommandmode->new($call, $conn, $user);
$dxchan = DXProt->new($call, $conn, $user);
} elsif ($user->is_user) {
$dxchan = DXCommandmode->new($call, $conn, $user);
- } elsif ($user->is_bbs) {
- $dxchan = BBS->new($call, $conn, $user);
+# } elsif ($user->is_bbs) { # there is no support so
+# $dxchan = BBS->new($call, $conn, $user); # don't allow it!!!
} else {
die "Invalid sort of user on $call = $sort";
}
} else {
die "Invalid sort of user on $call = $sort";
}
@@
-240,10
+240,12
@@
sub cease
DXUser::sync;
DXUser::sync;
- eval {
- Local::finish(); # end local processing
- };
- dbg("Local::finish error $@") if $@;
+ if (defined &Local::finish) {
+ eval {
+ Local::finish(); # end local processing
+ };
+ dbg("Local::finish error $@") if $@;
+ }
# disconnect nodes
foreach $dxchan (DXChannel::get_all_nodes) {
# disconnect nodes
foreach $dxchan (DXChannel::get_all_nodes) {
@@
-258,6
+260,7
@@
sub cease
# disconnect AGW
AGWMsg::finish();
# disconnect AGW
AGWMsg::finish();
+ BPQMsg::finish();
# disconnect UDP customers
UDPMsg::finish();
# disconnect UDP customers
UDPMsg::finish();
@@
-383,9
+386,9
@@
DXUser->init($userfn, 1);
# look for the sysop and the alias user and complain if they aren't there
{
# look for the sysop and the alias user and complain if they aren't there
{
- my $ref = DXUser
->
get($mycall);
+ my $ref = DXUser
::
get($mycall);
die "$mycall missing, run the create_sysop.pl script and please RTFM" unless $ref && $ref->priv == 9;
die "$mycall missing, run the create_sysop.pl script and please RTFM" unless $ref && $ref->priv == 9;
- $ref = DXUser
->
get($myalias);
+ $ref = DXUser
::
get($myalias);
die "$myalias missing, run the create_sysop.pl script and please RTFM" unless $ref && $ref->priv == 9;
}
die "$myalias missing, run the create_sysop.pl script and please RTFM" unless $ref && $ref->priv == 9;
}
@@
-409,6
+412,9
@@
foreach my $l (@main::listen) {
dbg("AGW Listener") if $AGWMsg::enable;
AGWrestart();
dbg("AGW Listener") if $AGWMsg::enable;
AGWrestart();
+dbg("BPQ Listener") if $BPQMsg::enable;
+BPQMsg::init(\&new_channel);
+
dbg("UDP Listener") if $UDPMsg::enable;
UDPMsg::init(\&new_channel);
dbg("UDP Listener") if $UDPMsg::enable;
UDPMsg::init(\&new_channel);
@@
-484,17
+490,20
@@
DXMsg::clean_old();
dbg("reading cron jobs ...");
DXCron->init();
dbg("reading cron jobs ...");
DXCron->init();
-# read in database des
c
riptors
+# read in database desriptors
dbg("reading database descriptors ...");
DXDb::load();
# starting local stuff
dbg("doing local initialisation ...");
QSL::init(1);
dbg("reading database descriptors ...");
DXDb::load();
# starting local stuff
dbg("doing local initialisation ...");
QSL::init(1);
-eval {
- Local::init();
-};
-dbg("Local::init error $@") if $@;
+if (defined &Local::init) {
+ eval {
+ Local::init();
+ };
+ dbg("Local::init error $@") if $@;
+}
+
# this, such as it is, is the main loop!
dbg("orft we jolly well go ...");
# this, such as it is, is the main loop!
dbg("orft we jolly well go ...");
@@
-533,11
+542,14
@@
for (;;) {
DXUser::process();
DXDupe::process();
AGWMsg::process();
DXUser::process();
DXDupe::process();
AGWMsg::process();
+ BPQMsg::process();
- eval {
- Local::process(); # do any localised processing
- };
- dbg("Local::process error $@") if $@;
+ if (defined &Local::process) {
+ eval {
+ Local::process(); # do any localised processing
+ };
+ dbg("Local::process error $@") if $@;
+ }
}
if ($decease) {
last if --$decease <= 0;
}
if ($decease) {
last if --$decease <= 0;