fixed user filtering
[spider.git] / perl / DXProt.pm
index b446b713f3e705994c1516995ff21583335425c3..dded0e6451073153fea76fd1e77b8834e8cced9b 100644 (file)
@@ -713,7 +713,7 @@ sub send_dx_spot
                } elsif ($dxchan->is_user) {
                        my $buf = Spot::formatb($_[0], $_[1], $_[2], $_[3], $_[4]);
                        $buf .= "\a\a" if $dxchan->beep;
-                       $dxchan->send($buf);
+                       $dxchan->send($buf) if !$hops || ($hops && $filter);
                }                                       
        }
 }
@@ -734,8 +734,9 @@ sub send_local_config
                # and are not themselves isolated, this to make sure that isolated nodes
         # don't appear outside of this node
                @nodes = DXNode::get_all();
-               @nodes = grep { $_->dxchan != $self && !$_->dxchan->{isolate} } @nodes;
                @nodes = grep { $_->{call} ne $main::mycall } @nodes;
+               @nodes = grep { $_->dxchan != $self } @nodes if @nodes;
+               @nodes = grep { !$_->dxchan->{isolate} } @nodes if @nodes;
                @localnodes = grep { $_->dxchan->{call} eq $_->{call} } @nodes if @nodes;
                unshift @localnodes, DXCluster->get_exact($main::mycall);
                @remotenodes = grep { $_->dxchan->{call} ne $_->{call} } @nodes if @nodes;