my $name = $user->{name};
# log it
- my $host = $self->{conn}->peerhost;
- $host ||= "unknown";
- $self->{hostname} = $host;
+ unless ($self->{hostname}) {
+ $self->{hostname} = $self->{conn}->peerhost || 'unknown';
+ }
$self->{name} = $name ? $name : $call;
$self->state('prompt'); # a bit of room for further expansion, passwords etc
$self->{width} = 80 unless $self->{width} && $self->{width} > 80;
$self->{consort} = $line; # save the connection type
- LogDbg('DXCommand', "$call connected from $self->{hostname}");
+ LogDbg('err', "$call connected from $self->{hostname}");
# set some necessary flags on the user if they are connecting
$self->{registered} = 1;
return;
}
+ # is it 'baddx'
+ if ($DXProt::baddx->in($call)) {
+ dbg("RBN: Bad DX spot '$call', ignored");
+ dbg($line) if isdbg('nologchan');
+ return;
+ }
+
+
# remove all extraneous crap from the origin - just leave the base callsign
my $norigin = basecall($origin);
unless ($norigin) {
dbg("seeme: result '$buf'") if isdbg('seeme');
$uchan->local_send('S', $buf);
} else {
- LogDbg("RBN Someone is playing silly persons $rcall is not a user and cannot do 'seeme', ignored and reset");
+ LogDbg('err',"RBN Someone is playing silly persons $rcall is not a user and cannot do 'seeme', ignored and reset");
del_seeme($rcall);
}
}
next unless $dxchan->is_rbn;
dbg "RBN:STATS minute $dxchan->{call} raw: $dxchan->{noraw} retrieved spots: $dxchan->{norbn} delivered: $dxchan->{nospot} after filtering to users: " . scalar keys %{$dxchan->{nousers}} if isdbg('rbnstats');
if ($dxchan->{noraw} == 0 && $dxchan->{lasttime} > 60) {
- LogDbg('RBN', "RBN: no input from $dxchan->{call}, disconnecting");
+ LogDbg('err', "RBN: no input from $dxchan->{call}, disconnecting");
$dxchan->disconnect;
}
$dxchan->{noraw} = $dxchan->{norbn} = $dxchan->{nospot} = 0; $dxchan->{nousers} = {};
sub write_cache
{
+ return unless $json;
+
my $ta = [ gettimeofday ];
+
$json->indent(1)->canonical(1) if isdbg 'rbncache';
my $s = eval {$json->encode($spots)};
if ($s) {
my $call = shift;
my $base = basecall($call);
my $ref = $seeme{$base};
- return unless @$ref;
+ return unless $ref && @$ref;
@$ref = grep {$_ ne $call} @$ref;
if (@$ref) {