add more fixes for peerhosts
[spider.git] / perl / Msg.pm
index b60ece8a46fd50d0ab9576a206a98e06d71eb4de..f2bb29768169b02b953887dcc6395a42d7b7175d 100644 (file)
@@ -193,6 +193,21 @@ sub pid_gone
        }
 }
 
+sub ax25
+{
+       my $conn = shift;
+       return $conn->{csort} eq 'ax25';
+}
+
+sub peerhost
+{
+       my $conn = shift;
+       $conn->{peerhost} ||= 'ax25' if $conn->ax25;
+       $conn->{peerhost} ||= $conn->{sock}->peerhost if $conn->{sock} && $conn->{sock}->isa('IO::Socket::INET');
+       $conn->{peerhost} ||= 'UNKNOWN';
+       return $conn->{peerhost};
+}
+
 #-----------------------------------------------------------------
 # Send side routines
 sub connect {
@@ -225,7 +240,8 @@ sub connect {
        return undef unless $r || _err_will_block($!);
        
        $conn->{sock} = $sock;
-    
+       $conn->{peerhost} = $sock->peerhost;    # for consistency
+
     if ($conn->{rproc}) {
         my $callback = sub {$conn->_rcv};
         set_event_handler ($sock, read => $callback);