add CTY-3304
[spider.git] / perl / ExtMsg.pm
index 0ca2de83c6f5d367a67fbb4dc87d0267372b84f0..f3f473ab7cb776b5cbd932f74e7e65edb36c5743 100644 (file)
@@ -72,7 +72,7 @@ sub dequeue
        my $conn = shift;
        my $msg;
 
-       if ($conn->{csort} eq 'ax25' && exists $conn->{msg}) {
+       if ($conn->ax25 && exists $conn->{msg}) {
                $conn->{msg} =~ s/\cM/\cJ/g;
        }
        if ($conn->{state} eq 'WC') {
@@ -153,7 +153,11 @@ sub to_connected
        delete $conn->{cmd};
        $conn->{timeout}->del if $conn->{timeout};
        delete $conn->{timeout};
-       $conn->nolinger unless $conn->isa('AGWMsg') || $conn->isa('BPQMsg');
+       $conn->{csort} = $sort;
+       unless ($conn->ax25) {
+               eval {$conn->{peerhost} = $conn->{sock}->peerhost};
+               $conn->nolinger;
+       }
        &{$conn->{rproc}}($conn, "$dir$call|$sort");
        $conn->_send_file("$main::data/connected") unless $conn->{outgoing};
 }
@@ -361,6 +365,7 @@ sub _doclient
        $conn->conns($call);
        $conn->{csort} = $f[1] if $f[1];
        $conn->{state} = 'C';
+       eval {$conn->{peerhost} = $conn->{sock}->peerhost} unless $conn->ax25;
        &{$conn->{rproc}}($conn, "O$call|$conn->{csort}");
        delete $conn->{cmd};
        $conn->{timeout}->del if $conn->{timeout};