(
[ qw(c c m p bc c) ], # pc10
[ qw(f m d t m c c h) ], # pc11
- [ qw(c bc m bp c p h) ], # pc12
+ [ qw(c bc m bp bm p h) ], # pc12
[ qw(c h) ], #
[ qw(c h) ], #
[ qw(c m h) ], #
[ qw(d n n n n m c c h) ], # pc23
[ qw(c p h) ], # pc24
[ qw(c c n n) ], # pc25
- [ qw(f m d t m c c) ], # pc26
- [ qw(d n n n n m c c) ], # pc27
+ [ qw(f m d t m c c bc) ], # pc26
+ [ qw(d n n n n m c c bc) ], # pc27
[ qw(c c c c d t p m bp n p bp bc) ], # pc28
[ qw(c c n m) ], # pc29
[ qw(c c n) ], # pc30
my $i;
shift; # not interested in the first field
- for ($i = 0; $i < @_; $i++) {
+ for ($i = 0; $i < @$ref; $i++) {
my ($blank, $act) = $$ref[$i] =~ /^(b?)(\w)$/;
return 0 unless $act;
next if $blank && $_[$i] =~ /^[ \*]$/;
$me->{state} = "indifferent";
do "$main::data/hop_table.pl" if -e "$main::data/hop_table.pl";
confess $@ if $@;
- # $me->{sort} = 'M'; # M for me
+ $me->{sort} = 'S'; # S for spider
# now prime the spot and wwv duplicates file with data
- my @today = Julian::unixtoj(time);
- for (Spot::readfile(@today), Spot::readfile(Julian::sub(@today, 1))) {
- Spot::dup(@{$_}[0..3]);
- }
- for (Geomag::readfile(time)) {
- Geomag::dup(@{$_}[1..5]);
- }
+# my @today = Julian::unixtoj(time);
+# for (Spot::readfile(@today), Spot::readfile(Julian::sub(@today, 1))) {
+# Spot::dup(@{$_}[0..3]);
+# }
+# for (Geomag::readfile(time)) {
+# Geomag::dup(@{$_}[1..5]);
+# }
# load the baddx file
do "$baddxfn" if -e "$baddxfn";
{
my ($self, $line) = @_;
my @field = split /\^/, $line;
+ return unless @field;
+
pop @field if $field[-1] eq '~';
# print join(',', @field), "\n";
# announce duplicate checking
$field[3] =~ s/^\s+//; # remove leading blanks
if (AnnTalk::dup($field[1], $field[2], $field[3])) {
- dbg('chan', "Duplicate Announce ignored\n");
+ dbg('chan', "Duplicate Announce ignored");
return;
}
if ($pcno == 49 || $field[1] eq $main::mycall) {
DXMsg::process($self, $line);
} else {
- $self->route($field[1], $line);
+ $self->route($field[1], $line) unless $self->is_clx;
}
return;
}
return;
}
+ if ($pcno == 75) { # dunno but route it
+ if ($field[1] ne $main::mycall) {
+ $self->route($field[1], $line);
+ }
+ return;
+ }
+
if ($pcno == 73) { # WCY broadcasts
# do some de-duping
my $val;
my $cutoff;
if ($main::systime - 3600 > $last_hour) {
- Spot::process;
- Geomag::process;
- AnnTalk::process;
+# Spot::process;
+# Geomag::process;
+# AnnTalk::process;
$last_hour = $main::systime;
}
}
$dxchan->send($routeit) unless $dxchan->{isolate} || $self->{isolate};
}
- } elsif ($dxchan->is_user && $dxchan->{ann}) {
+ } elsif ($dxchan->is_user) {
+ unless ($dxchan->{ann}) {
+ next if $_[0] ne $main::myalias && $_[0] ne $main::mycall;
+ }
next if $target eq 'SYSOP' && $dxchan->{priv} < 5;
my $buf = "$to$target de $_[0]: $text";
$buf .= "\a\a" if $dxchan->{beep};
{
my $s = shift; # the line to be rebroadcast
my @except = @_; # to all channels EXCEPT these (dxchannel refs)
- my @dxchan = DXChannel::get_all_ak1a();
+ my @dxchan = DXChannel::get_all_nodes();
my $dxchan;
# send it if it isn't the except list and isn't isolated and still has a hop count
{
my $s = shift; # the line to be rebroadcast
my @except = @_; # to all channels EXCEPT these (dxchannel refs)
- my @dxchan = DXChannel::get_all_ak1a();
+ my @dxchan = DXChannel::get_all_nodes();
my $dxchan;
# send it if it isn't the except list and isn't isolated and still has a hop count