$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 = (
wantdxitu => '0,Show ITU Zone,yesno',
wantgtk => '0,Want GTK interface,yesno',
wantpc9x => '0,Want PC9X interface,yesno',
+ wantrbn => '0,Want RBN spots,yesno',
+ wantft => '0,Want RBN FT4/8,yesno',
+ wantcw => '0,Want RBN CW,yesno',
+ wantrtty => '0,Want RBN RTTY,yesno',
+ wantpsk => '0,Want RBN PSK,yesno',
+ wantbeacon => '0,Want (RBN) Beacon,yesno',
lastoper => '9,Last for/oper,cldatetime',
nothere => '0,Not Here Text',
registered => '9,Registered?,yesno',
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;
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();
}
return $self->{sort} eq 'A';
}
+sub is_rbn
+{
+ my $self = shift;
+ return $self->{sort} eq 'N'
+}
+
sub unset_passwd
{
my $self = shift;