# send initialisation string
unless ($self->{outbound}) {
- $self->send(pc38()) if DXNode->get_all();
+# $self->send(pc38()) if DXNode->get_all();
$self->send(pc18());
$self->{lastping} = $main::systime;
} else {
{
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 ($call ne $main::mycall) { # don't allow malicious buggers to disconnect me!
my $node = DXCluster->get_exact($call);
if ($node) {
+ if ($call eq $self->{call}) {
+ dbg('chan', "LOOP: Trying to disconnect myself with PC21");
+ return;
+ }
if ($node->dxchan != $self) {
dbg('chan', "LOOP: $call come in on wrong channel");
return;
}
my $dxchan;
- if (($dxchan = DXChannel->get($call)) && $dxchan != $self) {
+ if ($dxchan = DXChannel->get($call)) {
dbg('chan', "LOOP: $call connected locally");
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 $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