new version of ip address storage
[spider.git] / perl / Route.pm
index c43fd34d7dc1cad6e93a0baec8504bedf0023de6..ef76c9e8b5a793201e871b28a776ee2277c42f82 100644 (file)
@@ -32,6 +32,7 @@ use vars qw(%list %valid $filterdef $maxlevel);
                  cq => '0,CQ Zone',
                  state => '0,State',
                  city => '0,City',
+                 ip => '0,IP Address,piplist',
                 );
 
 $filterdef = bless ([
@@ -270,11 +271,14 @@ sub cluster
 {
        my $nodes = Route::Node::count();
        my $tot = Route::User::count();
-       my $users = scalar DXCommandmode::get_all();
+       my ($users, $maxlocalusers) = DXCommandmode::user_count();
        my $maxusers = Route::User::max();
        my $uptime = main::uptime();
+       my $localnodes = $DXChannel::count - $users;
+       
+       return ($nodes, $tot, $users, $maxlocalusers, $maxusers, $uptime, $localnodes);
+       
 
-       return " $nodes nodes, $users local / $tot total users  Max users $maxusers  Uptime $uptime";
 }
 
 #
@@ -371,6 +375,21 @@ sub dxchan
        return $dxchan[0];
 }
 
+# IP address handling
+# this allows one to ask whether an IP address has been used with this node or let's one set an IP address for this node.
+sub ip
+{
+       my $self = shift;
+       my $node = shift;
+       my $ipin = shift;
+
+       $self->{ip} = {} unless ref $self->{ip};
+       my $ref = $self->{ip};
+       my $ip = $ref->{$node}->[0];
+       $ip = $ref->{$node} = [$ipin, $main::systime] if $ipin;
+       return $ip;
+}
+
 sub delete_interface
 {