4. Removed a warning from client.pl
5. routed external DB commands and drop them (for now) locally
6. routed external mail commands (ie those addressed elsewhere)
+7. routed external PC26/27 lines
25May99=======================================================================
1. try to make the lastin value correct even for local users
2. got rid of the stupid bug that failed to print out the offline message
my $call = $dxchan->call();
my $t = cldatetime($dxchan->user->lastin);
my $sort = $dxchan->is_ak1a() ? "NODE" : "USER";
- my $name = $dxchan->user->name;
+ my $name = $dxchan->user->name || " ";
push @out, sprintf "%10s $sort $t $name", $call;
}
}
if ($pcno == 11 || $pcno == 26) { # dx spot
+
+ # route 'foreign' pc26s
+ if ($pcno == 26) {
+ if ($field[7] ne $main::mycall) {
+ route($field[7], $line);
+ return;
+ }
+ }
# if this is a 'nodx' node then ignore it
last SWITCH if grep $field[7] =~ /^$_/, @DXProt::nodx_node;
}
if ($pcno == 23 || $pcno == 27) { # WWV info
+
+ # route 'foreign' pc27s
+ if ($pcno == 27) {
+ if ($field[8] ne $main::mycall) {
+ route($field[8], $line);
+ return;
+ }
+ }
+
# do some de-duping
my $d = cltounix($field[1], sprintf("%02d18Z", $field[2]));
my $sfi = unpad($field[3]);
my @in = reverse Spot::search(1, undef, undef, 0, $field[3]-1);
my $in;
foreach $in (@in) {
- $self->send(pc26(@{$in}[0..4], $in->[7]));
+ $self->send(pc26(@{$in}[0..4], $field[2]));
}
}
my @in = reverse Geomag::search(0, $field[4], time, 1);
my $in;
foreach $in (@in) {
- $self->send(pc27(@{$in}));
+ $self->send(pc27(@{$in}[0..5], $field[2]));
}
}
return;
}
-
+
if (($pcno >= 28 && $pcno <= 33) || $pcno == 40 || $pcno == 42 || $pcno == 49) { # mail/file handling
if ($field[1] eq $main::mycall) {
DXMsg::process($self, $line);
$fp->close; # close any open files
- for ($i = 0; $i < $maxdays; ++$i) { # look thru $maxdays worth of files only
+ for ($i = $count = 0; $i < $maxdays; ++$i) { # look thru $maxdays worth of files only
my @now = Julian::sub(@fromdate, $i); # but you can pick which $maxdays worth
last if Julian::cmp(@now, @todate) <= 0;