X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fcluster.pl;h=1e8200d2e0d03949a4d46dd1b209ab5d9c54e0a9;hb=043ec29d2c3f7d807f02660417696f0e93e20880;hp=4205241aa591538a97e0e62442f0e7867c6e6ee1;hpb=c6a62ff483f8887b4157e111a405fef971ade8d9;p=spider.git diff --git a/perl/cluster.pl b/perl/cluster.pl index 4205241a..1e8200d2 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -91,6 +91,7 @@ use strict; use Mojo::IOLoop; +use DXDebug; use Msg; use IntMsg; use Internet; @@ -98,7 +99,6 @@ use Listeners; use ExtMsg; use AGWConnect; use AGWMsg; -use DXDebug; use DXLog; use DXLogPrint; use DXUtil; @@ -210,17 +210,15 @@ sub new_channel $user->wantbeep(0); $user->name('web'); $user->qth('on the web'); - $user->homenode($main::call); + $user->homenode($main::mycall); $user->lat($main::mylatitude); $user->long($main::mylongitude); $user->qra($main::mylocator); - $user->put; } + $conn->conns($call); $dxchan = Web->new($call, $conn, $user); - $dxchan->sort('W'); $dxchan->enhanced(1); $dxchan->ve7cc(1); - $conn->conns($call); $msg =~ s/^A#WEB|/A$call|/; $conn->send_now("C$call"); } else { @@ -241,7 +239,7 @@ sub new_channel return; } if ($bumpexisting) { - my $ip = $conn->peerhost || 'unknown'; + my $ip = $dxchan->hostname; $dxchan->send_now('D', DXM::msg($lang, 'conbump', $call, $ip)); LogDbg('DXCommand', "$call bumped off by $ip, disconnected"); $dxchan->disconnect; @@ -274,7 +272,7 @@ sub new_channel my $lock = $user->lockout if $user; if ($baseuser && $baseuser->lockout || $lock) { if (!$user || !defined $lock || $lock) { - my $host = $conn->peerhost || "unknown"; + my $host = $conn->peerhost; LogDbg('DXCommand', "$call on $host is locked out, disconnected"); $conn->disconnect; return; @@ -292,8 +290,6 @@ sub new_channel $dxchan = DXProt->new($call, $conn, $user); } elsif ($user->is_user) { $dxchan = DXCommandmode->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"; } @@ -307,6 +303,10 @@ sub new_channel $conn->set_error(sub {my $err = shift; LogDbg('DXCommand', "Comms error '$err' received for call $dxchan->{call}"); $dxchan->disconnect(1);}); $conn->set_on_eof(sub {$dxchan->disconnect}); $conn->set_rproc(sub {my ($conn,$msg) = @_; $dxchan->rec($msg);}); + if ($sort eq 'W') { + $dxchan->enhanced(1); + $dxchan->sort('W'); + } $dxchan->rec($msg); }