my ($self, $line, $sort) = @_;
my $call = $self->{call};
my $user = $self->{user};
+
+ # log it
+ my $host = $self->{conn}->{peerhost} || "unknown";
+ Log('DXProt', "$call connected from $host");
# remember type of connection
$self->{consort} = $line;
# send info to all logged in thingies
$self->tell_login('loginn');
-
- Log('DXProt', "$call connected");
}
#
shift @{$tochan->{pingtime}} if @{$tochan->{pingtime}} > 6;
# cope with a missed ping, this means you must set the pingint large enough
- if ($tochan->is_arcluster && $t > $tochan->{pingint} && $t < 2 * $tochan->{pingint} ) {
+ if ($t > $tochan->{pingint} && $t < 2 * $tochan->{pingint} ) {
$t -= $tochan->{pingint};
}
if (@{$tochan->{pingtime}} == 1) {
$tochan->{pingave} = $t;
} else {
- $tochan->{pingave} = $tochan->{pingave} + (($t - $tochan->{pingave}) / 8);
+ $tochan->{pingave} = $tochan->{pingave} + (($t - $tochan->{pingave}) / 6);
}
# my $st;
# for (@{$tochan->{pingtime}}) {
sub eph_dup
{
my $s = shift;
+ my $r;
# chop the end off
$s =~ s/\^H\d\d?\^?\~?$//;
- return 1 if exists $eph{$s};
+ $r = 1 if exists $eph{$s}; # pump up the dup if it keeps circulating
$eph{$s} = $main::systime;
- return undef;
+ return $r;
}
sub eph_del_regex
my ($key, $val);
while (($key, $val) = each %eph) {
- if ($main::systime - $val > 90) {
+ if ($main::systime - $val > 180) {
delete $eph{$key};
}
}