projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
correct convert-users-v3-to-v4.pl
[spider.git]
/
perl
/
DXProtHandle.pm
diff --git
a/perl/DXProtHandle.pm
b/perl/DXProtHandle.pm
index 40271df7965877b6c4217b5ef5e1c36a1fef5006..13305829f3214da57d81dfdae8f3eddef94df79e 100644
(file)
--- a/
perl/DXProtHandle.pm
+++ b/
perl/DXProtHandle.pm
@@
-224,12
+224,15
@@
sub handle_11
# add it
Spot::add(@spot);
# add it
Spot::add(@spot);
- my $ip = $spot[14] if exists $spot[14];
+ my $ip = '';
+ $ip ||= $spot[14] if exists $spot[14];
if (isdbg('progress')) {
my $sip = $ip ? sprintf "($ip)" : '' unless $ip =~ m|[\(\)\*]|;
if (isdbg('progress')) {
my $sip = $ip ? sprintf "($ip)" : '' unless $ip =~ m|[\(\)\*]|;
+ $sip ||= '';
my $d = ztime($spot[2]);
my $s = "SPOT: $spot[1] on $spot[0] \@ $d by $spot[4]$sip\@$spot[7]";
my $d = ztime($spot[2]);
my $s = "SPOT: $spot[1] on $spot[0] \@ $d by $spot[4]$sip\@$spot[7]";
- $s .= " '$spot[3]'" if $spot[3];
+ $s .= $spot[3] ? " '$spot[3]'" : q{ ''};
+ $s .= " route: $origin";
dbg($s);
}
dbg($s);
}
@@
-249,7
+252,7
@@
sub handle_11
my $long = $user->long;
if (defined $lat && defined $long) {
$user->qra(DXBearing::lltoqra($lat, $long));
my $long = $user->long;
if (defined $lat && defined $long) {
$user->qra(DXBearing::lltoqra($lat, $long));
- $user->put;
+ $user->put
unless $self->{_nospawn}
;
}
}
}
}
@@
-282,7
+285,7
@@
sub handle_11
}
}
$user->lastoper($main::systime);
}
}
$user->lastoper($main::systime);
- $user->put;
+ $user->put
unless $self->{_nospawn}
;
}
}
}
}
}
}
@@
-509,7
+512,7
@@
sub handle_16
$user->homenode($parent->call) if !$user->homenode;
$user->node($parent->call);
$user->lastin($main::systime) unless DXChannel::get($call);
$user->homenode($parent->call) if !$user->homenode;
$user->node($parent->call);
$user->lastin($main::systime) unless DXChannel::get($call);
- $user->put;
+ $user->put
unless $self->{_nospawn}
;
# send info to all logged in thingies
$self->tell_login('loginu', "$ncall: $call") if $user->is_local_node;
# send info to all logged in thingies
$self->tell_login('loginu', "$ncall: $call") if $user->is_local_node;
@@
-621,16
+624,16
@@
sub handle_18
$self->{build} = 0 + $build;
$self->user->build(0 + $build);
$parent->build(0 + $build);
$self->{build} = 0 + $build;
$self->user->build(0 + $build);
$parent->build(0 + $build);
- dbg("DXSpider version $version build $build");
+ dbg("
$self->{call} =
DXSpider version $version build $build");
unless ($self->is_spider) {
dbg("Change U " . $self->user->sort . " C $self->{sort} -> S");
$self->user->sort('S');
unless ($self->is_spider) {
dbg("Change U " . $self->user->sort . " C $self->{sort} -> S");
$self->user->sort('S');
- $self->user->put;
+ $self->user->put
unless $self->{_nospawn}
;
$self->sort('S');
}
# $self->{handle_xml}++ if DXXml::available() && $pc->[1] =~ /\bxml/;
} else {
$self->sort('S');
}
# $self->{handle_xml}++ if DXXml::available() && $pc->[1] =~ /\bxml/;
} else {
- dbg("
Unknown software
");
+ dbg("
$self->{call} = Unknown software ($pc->[1] $pc->[2])
");
$self->version(50.0);
$self->version($pc->[2] / 100) if $pc->[2] && $pc->[2] =~ /^\d+$/;
$self->user->version($self->version);
$self->version(50.0);
$self->version($pc->[2] / 100) if $pc->[2] && $pc->[2] =~ /^\d+$/;
$self->user->version($self->version);
@@
-638,12
+641,12
@@
sub handle_18
if ($pc->[1] =~ /\bpc9x/) {
if ($self->{isolate}) {
if ($pc->[1] =~ /\bpc9x/) {
if ($self->{isolate}) {
- dbg("
pc9x recognised, but $self->{call}
is isolated, using old protocol");
+ dbg("
$self->{call} pc9x recognised, but node
is isolated, using old protocol");
} elsif (!$self->user->wantpc9x) {
} elsif (!$self->user->wantpc9x) {
- dbg("
pc9x explicitly switched off on $self->{call}
, using old protocol");
+ dbg("
$self->{call} pc9x explicitly switched off
, using old protocol");
} else {
$self->{do_pc9x} = 1;
} else {
$self->{do_pc9x} = 1;
- dbg("
Do px9x set on $self->{call}
");
+ dbg("
$self->{call} Set do PC9x
");
}
}
}
}
@@
-659,14
+662,19
@@
sub check_add_node
my $call = shift;
# add this station to the user database, if required (don't remove SSID from nodes)
my $call = shift;
# add this station to the user database, if required (don't remove SSID from nodes)
- my $user = DXUser::get_current($call);
- if (!$user) {
+ my $chan = DXChannel::get($call);
+ my $user;
+ $user = $chan->user if $chan;
+ $user ||= DXUser::get($call);
+ unless ($user) {
$user = DXUser->new($call);
$user->priv(1); # I have relented and defaulted nodes
$user->lockout(1);
$user->homenode($call);
$user->node($call);
$user->sort('A');
$user = DXUser->new($call);
$user->priv(1); # I have relented and defaulted nodes
$user->lockout(1);
$user->homenode($call);
$user->node($call);
$user->sort('A');
+ $user->lastin($main::systime); # this make it last longer than just this invocation
+ $user->put unless $chan && $chan->{_nospawn}; # just to make sure it gets written away!!!
}
return $user;
}
}
return $user;
}
@@
-795,7
+803,7
@@
sub handle_19
$mref->stop_msg($call) if $mref;
$user->lastin($main::systime) unless DXChannel::get($call);
$mref->stop_msg($call) if $mref;
$user->lastin($main::systime) unless DXChannel::get($call);
- $user->put;
+ $user->put
unless $self->{_nospawn}
;
}
# we are not automatically sending out PC19s, we send out a composite PC21,PC19 instead
}
# we are not automatically sending out PC19s, we send out a composite PC21,PC19 instead
@@
-970,7
+978,7
@@
sub handle_23
# note this only takes the first one it gets
Geomag::update($d, $pc->[2], $sfi, $k, $i, @$pc[6..8], $r);
# note this only takes the first one it gets
Geomag::update($d, $pc->[2], $sfi, $k, $i, @$pc[6..8], $r);
- dbg("WWV:
$d $pc->[2], sfi:$sfi k:$k info:$i $pc->[6] $pc->[7] $pc->[8] $r
") if isdbg('progress');
+ dbg("WWV:
<$pc->[2]>, sfi=$sfi k=$k info=$i '$pc->[6]' $pc->[7]\@$pc->[8] $r route: $origin
") if isdbg('progress');
if (defined &Local::wwv) {
my $rep;
if (defined &Local::wwv) {
my $rep;
@@
-1229,7
+1237,7
@@
sub handle_41
}
}
$user->lastoper($main::systime); # to cut down on excessive for/opers being generated
}
}
$user->lastoper($main::systime); # to cut down on excessive for/opers being generated
- $user->put;
+ $user->put
unless $self->{_nospawn}
;
unless ($self->{isolate}) {
DXChannel::broadcast_nodes($line, $self); # send it to everyone but me
unless ($self->{isolate}) {
DXChannel::broadcast_nodes($line, $self); # send it to everyone but me
@@
-1374,7
+1382,7
@@
sub handle_73
}
my $wcy = WCY::update($d, @$pc[2..12]);
}
my $wcy = WCY::update($d, @$pc[2..12]);
- dbg("WCY:
" . join ', ', @$pc[2..12]
) if isdbg('progress');
+ dbg("WCY:
<$pc->[2]> K=$pc->[5] expK=$pc->[6] A=$pc->[4] R=$pc->[7] SFI=$pc->[3] SA=$pc->[8] GMF=$pc->[9] Au=$pc->[10] $pc->[11]\@$pc->[12] route: $origin"
) if isdbg('progress');
if (defined &Local::wcy) {
my $rep;
if (defined &Local::wcy) {
my $rep;
@@
-2020,7
+2028,7
@@
sub handle_93
if (isdbg('progress')) {
my $vs = $via ne '*' ? " via $via" : '';
if (isdbg('progress')) {
my $vs = $via ne '*' ? " via $via" : '';
- my $s = "ANNTALK: $from\@$onode$vs -> $to '$text'";
+ my $s = "ANNTALK: $from\@$onode$vs -> $to '$text'
route: $origin
";
dbg($s);
}
dbg($s);
}