X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FThingy%2FBye.pm;h=740ca6c791d3ac4cfde238f7c97967a27b4feb18;hb=f942dabdab73e5841f16ead2a41a52d6b5b05eb8;hp=a29649664de727adb6d92c25266efdcd0af0f7f6;hpb=4d22d5fd3874e8292d82f84a777b99ff7d10402a;p=spider.git diff --git a/perl/Thingy/Bye.pm b/perl/Thingy/Bye.pm index a2964966..740ca6c7 100644 --- a/perl/Thingy/Bye.pm +++ b/perl/Thingy/Bye.pm @@ -1,6 +1,9 @@ # # Bye Thingy handling # +# Note that this is a generator of pc21n and pc17n/pc17u +# and a consumer of fpc21n and fpc21n +# # $Id$ # # Copyright (c) 2005 Dirk Koopman G1TLH @@ -39,7 +42,7 @@ sub handle # fix the interface routing my $intcall = $thing->{user} || $thing->{origin}; - if ($dxchan->{call} eq $thing->{origin}) { + if ($dxchan->{call} eq $thing->{origin} && !$thing->{user}) { RouteDB::delete_interface($intcall); } else { RouteDB::delete($intcall, $dxchan->{call}); @@ -48,15 +51,15 @@ sub handle # pc prot generation my @pc21; if (my $user = $thing->{user}) { - my $parent = Route::Node->get($thing->{origin}); + my $parent = Route::Node::get($thing->{origin}); my $uref = Route::get($user); if ($parent && $uref) { if ($uref->isa('Route::Node')) { - @pc21 = $parent->del($uref); + @pc21 = $uref->del($parent); } else { $parent->del_user($uref); - $thing->{pc17n} = $thing->{origin}; - $thing->{pc17u} = $user; + $thing->{pc17n} = $parent; + $thing->{pc17u} = [$uref]; } } } else {