X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=e184685bd7341e2c0bf55c517073fd8e34c42f1a;hb=0ffe71875718dc280a5848660f158d0984a5fb46;hp=f4074ade0470dfeebfea3dfe68c03ad7cf569edc;hpb=d16eece598396e77e2ddc5a55dd9e44eef5b3fee;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index f4074ade..e184685b 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -652,13 +652,15 @@ sub normal my $ar; if ($call ne $parent->call) { if ($self->in_filter_route($r)) { - $ar = $parent->add($r); + $ar = $parent->add($call, $ver, $flags); push @rout, $ar if $ar; + } else { + next; } } if ($r->version ne $ver || $r->flags != $flags) { $r->version($ver); - $r->flags(Route::here($here)|Route::conf($conf)); + $r->flags($flags); push @rout, $r unless $ar; } } else { @@ -668,6 +670,8 @@ sub normal if ($self->in_filter_route($new)) { my $r = $parent->add($call, $ver, $flags); push @rout, $r; + } else { + next; } } @@ -785,6 +789,7 @@ 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); @@ -927,7 +932,7 @@ sub normal } $user->lastoper($main::systime); # to cut down on excessive for/opers being generated $user->put; - my $ref = Route::get($call); + my $ref = Route::get($call) || Route->new($call); # input filter if required return unless $self->in_filter_route($ref);