add ip address to links command
[spider.git] / cmd / links.pl
index 4bad6285a060bedddfa63d7120c6ef9857167585..a66ee19469cd70404adabb9698b9207a97fc0c1a 100644 (file)
@@ -7,7 +7,7 @@
 # and subsequently plagerized by K1XX.
 #
 # 16-Jun-2000
-# $Id$
+#
 #
 
 my $self = shift;
@@ -16,7 +16,7 @@ my @out;
 my $nowt = time;
 
 push @out, "                                      Ave  Obs  Ping  Next      Filters";
-push @out, "  Callsign Type Started               RTT Count Int.  Ping Iso? In  Out PC92?";
+push @out, "  Callsign Type Started               RTT Count Int.  Ping Iso? In  Out PC92? Address";
 
 foreach $dxchan ( sort {$a->call cmp $b->call} DXChannel::get_all_nodes ) {
        my $call = $dxchan->call();
@@ -41,13 +41,25 @@ foreach $dxchan ( sort {$a->call cmp $b->call} DXChannel::get_all_nodes ) {
                        $fout = $dxchan->routefilter =~ /node_default/ ? 'D' : 'Y';
                }
        }
+       unless ($pingint) {
+               $lastt = 0;
+               $ping = "        ";
+       }
        $sort = 'ANEA' if $dxchan->is_aranea;
        $sort = "DXSP" if $dxchan->is_spider;
        $sort = "CLX " if $dxchan->is_clx;
        $sort = "DXNT" if $dxchan->is_dxnet;
        $sort = "AR-C" if $dxchan->is_arcluster;
        $sort = "AK1A" if $dxchan->is_ak1a;
-       push @out, sprintf "%10s $sort $t$ping   $obscount  %5d %5d  $iso    $fin   $fout   $pc92", $call, $pingint, $lastt;
+       my $ipaddr;
+
+       if ($dxchan->conn->peerhost) {
+               my $addr = $dxchan->conn->peerhost;
+               $ipaddr = $addr if is_ipaddr($addr);
+               $ipaddr = 'local' if $addr =~ /^127\./ || $addr =~ /^::[0-9a-f]+$/;
+       }                       
+
+       push @out, sprintf "%10s $sort $t$ping   $obscount  %5d %5d  $iso    $fin   $fout   $pc92    $ipaddr", $call, $pingint, $lastt;
 }
 
 return (1, @out)