X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXUser.pm;h=57bef501ce8cc464f66b0e2c79598db9016276ac;hb=102b51ca564ef29e7f84d2cf65d0eaa5fdab671a;hp=d385382b80fe13469bc9e8f85360ed26a54b39e0;hpb=f11237c455a6440b5158206dcb2d03850ed1b7b0;p=spider.git diff --git a/perl/DXUser.pm b/perl/DXUser.pm index d385382b..57bef501 100644 --- a/perl/DXUser.pm +++ b/perl/DXUser.pm @@ -30,6 +30,7 @@ $lasttime = 0; $lrusize = 2000; $tooold = 86400 * 365; # this marks an old user who hasn't given enough info to be useful $v3 = 0; +our $maxconnlist = 3; # remember this many connection time (duration) [start, end] pairs # hash of valid elements and a simple prompt %valid = ( @@ -91,6 +92,8 @@ $v3 = 0; believe => '1,Believable nodes,parray', lastping => '1,Last Ping at,ptimelist', maxconnect => '1,Max Connections', + startt => '0,Start Time,cldatetime', + connlist => '1,Connections,parraydifft', ); #no strict; @@ -395,7 +398,14 @@ sub del sub close { my $self = shift; - $self->{lastin} = time; + my $startt = shift; + my $ip = shift; + $self->{lastin} = $main::systime; + # add a record to the connect list + my $ref = [$startt || $self->{startt}, $main::systime]; + push @$ref, $ip if $ip; + push @{$self->{connlist}}, $ref; + shift @{$self->{connlist}} if @{$self->{connlist}} > $maxconnlist; $self->put(); }