-#!/usr/bin/perl -w
+#!/usr/bin/env perl
#
# This is the DX cluster 'daemon'. It sits in the middle of its little
# web of client routines sucking and blowing data where it may.
#
require 5.10.1;
+use warnings;
# make sure that modules are searched in the order local then perl
BEGIN {
$clusterport $mycall $decease $is_win $routeroot $me $reqreg $bumpexisting
$allowdxby $dbh $dsn $dbuser $dbpass $do_xml $systime_days $systime_daystart
$can_encode $maxconnect_user $maxconnect_node $idle_interval $log_flush_interval
+ $broadcast_debug
);
@inqueue = (); # the main input queue, an array of hashes
$idle_interval = 0.500; # the wait between invocations of the main idle loop processing.
$log_flush_interval = 2; # interval to wait between log flushes
-our $ending; # signal that we are ending;
+our $ending; # signal that we are ending;
+our $broadcast_debug; # allow broadcasting of debug info down "enhanced" user connections
+
# send a message to call on conn and disconnect
}
# open the debug file, set various FHs to be unbuffered
- dbginit(\&DXCommandmode::broadcast_debug);
+ dbginit($broadcast_debug ? \&DXCommandmode::broadcast_debug : undef);
foreach (@debug) {
dbgadd($_);
}
die "\$myalias \& \$mycall are the same ($mycall)!, they must be different (hint: make \$mycall = '${mycall}-2';). Oh and don't forget to rerun create_sysop.pl!" if $mycall eq $myalias;
my $ref = DXUser::get($mycall);
die "$mycall missing, run the create_sysop.pl script and please RTFM" unless $ref && $ref->priv == 9;
+ my $oldsort = $ref->sort;
+ if ($oldsort ne 'S') {
+ $ref->sort('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')";
+ }
}
# start listening for incoming messages/connects