X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FExtMsg.pm;h=a55de7e7600271846c0f6cf95523dedf727e401f;hb=refs%2Fheads%2Fstaging;hp=6b3a30b1c0f00624fa573fc79c35cba28eb314a4;hpb=3b73a2dde8b378db6b56438699c5a1f233194dbf;p=spider.git diff --git a/perl/ExtMsg.pm b/perl/ExtMsg.pm index 6b3a30b1..a55de7e7 100644 --- a/perl/ExtMsg.pm +++ b/perl/ExtMsg.pm @@ -19,6 +19,8 @@ use Msg; use DXVars; use DXUtil; use DXDebug; +use DXTimer; + use IO::File; use IO::Socket; use IPC::Open3; @@ -107,6 +109,8 @@ sub dequeue } else { $conn->{msg} =~ s/([^\cM\cJ]*)\cM?\cJ//g; } + $conn->{linesin} += @lines; + $Msg::total_lines_in += @lines; while (defined ($msg = shift @lines)) { dbg("connect $conn->{cnum}: $msg") if $conn->{state} ne 'C' && isdbg('connect'); @@ -130,12 +134,13 @@ sub dequeue $conn->disconnect; } } elsif (is_callsign($msg)) { + my $call = normalise_call($msg); if ($main::allowslashcall || $msg !~ m|/|) { my $sort = $conn->{csort}; $sort = 'local' if $conn->{peerhost} =~ /127\.\d+\.\d+\.\d+$/ || $conn->{peerhost} eq '::1'; my $uref; - if ($main::passwdreq || ($uref = DXUser::get_current($msg)) && $uref->passwd ) { - $conn->conns($msg); + if ($main::passwdreq || ($uref = DXUser::get_current($call)) && $uref->passwd ) { + $conn->conns($call); $conn->{state} = 'WP'; $conn->{decho} = $conn->{echo}; $conn->{echo} = 0; @@ -300,7 +305,7 @@ sub _dotimeout dbg("connect $conn->{cnum}: timeout set to $val") if isdbg('connect'); $conn->{timeout}->del if $conn->{timeout}; $conn->{timeval} = $val; - $conn->{timeout} = Timer->new($val, sub{ &_timedout($conn) }); + $conn->{timeout} = DXTimer->new($val, sub{ &_timedout($conn) }); } sub _dolineend