X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fcluster.pl;h=35881d452d88f96ee82f6516e0b59e23bdb4622e;hb=b1de8d406cf0b76292d401c4b75f33fca86a822d;hp=d3feaa39c813c7936d72fca0abd4a1cdac6ee12a;hpb=90684940bfd187f49707548b1be79c2eff4dd30b;p=spider.git diff --git a/perl/cluster.pl b/perl/cluster.pl index d3feaa39..35881d45 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -69,6 +69,7 @@ use DXDb; use DXHash; use DXDupe; use Prefix; +use Spot; use Bands; use Keps; use Minimuf; @@ -81,6 +82,9 @@ use BBS; use WCY; use BadWords; use Timer; +use Route; +use Route::Node; +use Route::User; use Data::Dumper; use IO::File; @@ -94,12 +98,12 @@ package main; use strict; use vars qw(@inqueue $systime $version $starttime $lockfn @outstanding_connects $zombies $root @listeners $lang $myalias @debug $userfn $clusteraddr - $clusterport $mycall $decease $build $is_win + $clusterport $mycall $decease $build $is_win $routeroot ); @inqueue = (); # the main input queue, an array of hashes $systime = 0; # the time now (in seconds) -$version = "1.47"; # the version no of the software +$version = "1.48"; # the version no of the software $starttime = 0; # the starting time of the cluster #@outstanding_connects = (); # list of outstanding connects @listeners = (); # list of listeners @@ -109,7 +113,8 @@ $starttime = 0; # the starting time of the cluster sub already_conn { my ($conn, $call, $mess) = @_; - + + $conn->disable_read(1); dbg('chan', "-> D $call $mess\n"); $conn->send_now("D$call|$mess"); sleep(2); @@ -146,7 +151,7 @@ sub new_channel ; } else { if (my $ref = DXCluster->get_exact($call)) { - my $mess = DXM::msg($lang, 'concluster', $call, $ref->mynode->call); + my $mess = DXM::msg($lang, 'concluster', $call, $ref->mynode->dxchancall); already_conn($conn, $call, $mess); return; } @@ -154,7 +159,7 @@ sub new_channel $user->{lang} = $main::lang if !$user->{lang}; # to autoupdate old systems } else { if (my $ref = DXCluster->get_exact($call)) { - my $mess = DXM::msg($lang, 'concluster', $call, $ref->mynode->call); + my $mess = DXM::msg($lang, 'concluster', $call, $ref->mynode->dxchancall); already_conn($conn, $call, $mess); return; } @@ -343,6 +348,7 @@ while () { } close CL; foreach my $fn (@fn) { + $fn =~ s|::|/|g; open(CL, "$main::root/perl/${fn}.pm") or next; while () { if (/^#\s+\$Id:\s+[\w\._]+,v\s+(\d+\.\d+)/ ) { @@ -432,6 +438,7 @@ DXProt->init(); # put in a DXCluster node for us here so we can add users and take them away DXNode->new($DXProt::me, $mycall, 0, 1, $DXProt::myprot_version); +$routeroot = Route::Node->new($mycall, $version, Route::here($DXProt::me->here)|Route::conf($DXProt::me->confmode)); # read in any existing message headers and clean out old crap dbg('err', "reading existing message headers ...");