X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=152a5fe05bdb84510ae764028d57ce59106d0524;hb=743d0338dd4ebf095be93b441425b283a20406dc;hp=66d29f2fc6d99a982e915c57ec56a0cc86d7b857;hpb=ef01f110c32faac2ac21f462b87bf729b2db4626;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index 66d29f2f..152a5fe0 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -789,9 +789,10 @@ sub normal $ref->here($field[2]) if $ref; $ref = Route::User::get($call); $ref->here($field[2]) if $ref; + $ref ||= Route->new($call); # input filter if required - return unless $self->in_filter_route($ref || Route::new($call)); + return unless $self->in_filter_route($ref); $self->route_pc24($ref, $field[3]) if $ref && !eph_dup($line); return; @@ -1448,7 +1449,7 @@ sub send_local_config # and are not themselves isolated, this to make sure that isolated nodes # don't appear outside of this node my @dxchan = grep { $_->call ne $main::mycall && $_->call ne $self->{call} } DXChannel::get_all_nodes(); - @localnodes = map { Route::Node::get($_->{call}) or die "connot find node $_->{call}" } @dxchan if @dxchan; + @localnodes = map { my $r = Route::Node::get($_->{call}); $r ? $r : () } @dxchan if @dxchan; my @intcalls = map { $_->nodes } @localnodes if @localnodes; my $ref = Route::Node::get($self->{call}); my @rnodes = $ref->nodes; @@ -1487,7 +1488,7 @@ sub route # always send it down the local interface if available my $dxchan = DXChannel->get($call); unless ($dxchan) { - my $cl = Route::Node::get($call); + my $cl = Route::get($call); $dxchan = $cl->dxchan if $cl; if (ref $dxchan) { if (ref $self && $dxchan eq $self) {