add an RBN line to progress
[spider.git] / perl / cluster.pl
index 3e57deb6dca15f9acebf0bd847f96228a88dbb8a..0839dff5a7dd1931a39430e67e69cbb54eb34ebe 100755 (executable)
@@ -13,6 +13,7 @@
 package main;
 
 require 5.10.1;
+
 use warnings;
 
 use vars qw($root $is_win $systime $lockfn @inqueue $starttime $lockfn @outstanding_connects
@@ -30,10 +31,12 @@ $yes = 'Yes';                                       # visual representation of yes
 $no = 'No';                                            # ditto for no
 $user_interval = 11*60;                        # the interval between unsolicited prompts if no traffic
 
+
 # make sure that modules are searched in the order local then perl
 BEGIN {
        umask 002;
-
+       $SIG{'__WARN__'} = sub { warn $_[0] if $DOWARN };
+                       
        # take into account any local::lib that might be present
        eval {
                require local::lib;
@@ -87,14 +90,12 @@ BEGIN {
 use DXVars;
 use SysVar;
 
-use strict;
-
 # order here is important - DXDebug snarfs Carp et al so that Mojo errors go into the debug log
-use DXDebug;
-
 use Mojolicious 7.26;
 use Mojo::IOLoop;
+$DOWARN = 1;
 
+use DXDebug;
 use Msg;
 use IntMsg;
 use Internet;
@@ -146,7 +147,7 @@ use DXXml;
 use DXSql;
 use IsoTime;
 use BPQMsg;
-
+use RBN;
 
 
 use Data::Dumper;
@@ -157,6 +158,8 @@ use Web;
 
 use vars qw($version $build $gitversion $gitbranch);
 
+use strict;
+
 use Local;
 
 
@@ -346,7 +349,9 @@ sub new_channel
                
                $user->startt($systime); # mark the start time of this connection
                if ($user->is_node) {
-                       $dxchan = DXProt->new($call, $conn, $user);
+                       $dxchan = DXProt->new($call, $conn, $user);     
+               } elsif ($user->is_rbn) {
+                       $dxchan = RBN->new($newcall, $conn, $user);
                } elsif ($user->is_user) {
                        $dxchan = DXCommandmode->new($newcall, $conn, $user);
                } else {
@@ -483,7 +488,7 @@ sub setup_start
        }
        STDOUT->autoflush(1);
 
-       
+
        # try to load the database
        if (DXSql::init($dsn)) {
                $dbh = DXSql->new($dsn);
@@ -513,8 +518,8 @@ sub setup_start
                                if ($desc) {
                                        my ($v, $s, $b, $g) = $desc =~ /^([\d.]+)(?:\.(\d+))?-(\d+)-g([0-9a-f]+)/;
                                        $s ||= '';
-                                       dbg("Git: $desc");
-                                       dbg("Git: V=$v S=$s B=$b g=$g");
+                                       dbg("Git: $desc") if isdbg('git');
+                                       dbg("Git: V=$v S=$s B=$b g=$g") if isdbg('git');
                                        $version = $v;
                                        $build = $b || 0;
                                        $gitversion = "$g\[r]";
@@ -563,14 +568,14 @@ sub setup_start
                my $oldsort = $ref->sort;
                if ($oldsort ne 'S') {
                        $ref->sort('S');
-                       dbg "Resetting node type from $oldsort -> DXSpider ('S')";
+                       dbg("Resetting node type from $oldsort -> DXSpider ('S')");
                }
                $ref = DXUser::get($myalias);
                die "$myalias missing, run the create_sysop.pl script and please RTFM" unless $ref && $ref->priv == 9;
                $oldsort = $ref->sort;
                if ($oldsort ne 'U') {
                        $ref->sort('U');
-                       dbg "Resetting sysop user type from $oldsort -> User ('U')";
+                       dbg("Resetting sysop user type from $oldsort -> User ('U')");
                }
        }