X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FExtMsg.pm;h=0ca2de83c6f5d367a67fbb4dc87d0267372b84f0;hb=ab811a0c902225075a9bd69749f65594079433a9;hp=15f875a7facf6f514d29785d4121a22f1c71b599;hpb=a90885c5c10b837b05ef1ebf718fd88e428a3c91;p=spider.git diff --git a/perl/ExtMsg.pm b/perl/ExtMsg.pm index 15f875a7..0ca2de83 100644 --- a/perl/ExtMsg.pm +++ b/perl/ExtMsg.pm @@ -5,7 +5,6 @@ # This is where the cluster handles direct connections coming both in # and out # -# $Id$ # # Copyright (c) 2001 - Dirk Koopman G1TLH # @@ -105,9 +104,9 @@ sub dequeue $msg = uc $msg; if (is_callsign($msg) && $msg !~ m|/| ) { my $sort = $conn->{csort}; - $sort = 'local' if $conn->{peerhost} eq "127.0.0.1"; + $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 ) { + if ($main::passwdreq || ($uref = DXUser::get_current($msg)) && $uref->passwd ) { $conn->conns($msg); $conn->{state} = 'WP'; $conn->{decho} = $conn->{echo}; @@ -121,13 +120,13 @@ sub dequeue $conn->disconnect; } } elsif ($conn->{state} eq 'WP' ) { - my $uref = DXUser->get_current($conn->{call}); + my $uref = DXUser::get_current($conn->{call}); $msg =~ s/[\r\n]+$//; if ($uref && $msg eq $uref->passwd) { my $sort = $conn->{csort}; $conn->{echo} = $conn->{decho}; delete $conn->{decho}; - $sort = 'local' if $conn->{peerhost} eq "127.0.0.1"; + $sort = 'local' if $conn->{peerhost} =~ /127\.\d+\.\d+\.\d+$/ || $conn->{peerhost} eq '::1'; $conn->{usedpasswd} = 1; $conn->to_connected($conn->{call}, 'A', $sort); } else { @@ -154,7 +153,7 @@ sub to_connected delete $conn->{cmd}; $conn->{timeout}->del if $conn->{timeout}; delete $conn->{timeout}; - $conn->nolinger unless $conn->isa('AGWMsg'); + $conn->nolinger unless $conn->isa('AGWMsg') || $conn->isa('BPQMsg'); &{$conn->{rproc}}($conn, "$dir$call|$sort"); $conn->_send_file("$main::data/connected") unless $conn->{outgoing}; }