fix problems with users on more than one node
authorminima <minima>
Thu, 28 Jun 2001 14:23:44 +0000 (14:23 +0000)
committerminima <minima>
Thu, 28 Jun 2001 14:23:44 +0000 (14:23 +0000)
Changes
perl/DXProt.pm
perl/Route/Node.pm

diff --git a/Changes b/Changes
index 4c5287680902b606e58455b848268d769c44ce9b..734bbdfc867b90c25f316d166395e9873686a27e 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,5 @@
+28Jun01=======================================================================
+1. fix problems with users on more than one node
 27Jun01=======================================================================
 1. try adding an ARC mail hack
 2. slug the not here messages so they can't loopback
index fb6ba02a66dc8e1a805f7e23ecfdd68706e692a6..460e401a0099b6a9b7f7cc711ffbf33e1116d4c8 100644 (file)
@@ -559,10 +559,13 @@ sub normal
                                my $r = Route::User::get($call);
                                my $flags = Route::here($here)|Route::conf($conf);
                                
-                               if ($r && $r->flags != $flags) {
-                                       $r->flags($flags);
-                                       push @rout, $r;
-                               } elsif (!$r) {
+                               if ($r) {
+                                       if ($r->flags != $flags) {
+                                               $r->flags($flags);
+                                               push @rout, $r;
+                                       }
+                                       $r->addparent($ncall);
+                               } else {
                                        push @rout, $parent->add_user($call, $flags);
                                }
                                
index 51ecedea2bb6575c9d58220cba96011e696cd9e4..e29fe3caefb1eeb393dd1322ff21f99ee3428888 100644 (file)
@@ -135,7 +135,12 @@ sub add_user
 
        $self->{usercount} = scalar @{$self->{users}};
        my $uref = Route::User::get($ucall);
-       my @out = (Route::User->new($ucall, $self->{call}, @_)) unless $uref;
+       my @out;
+       if ($uref) {
+               $uref->addparent($self->{call});
+       } else {
+               @out = Route::User->new($ucall, $self->{call}, @_);
+       }
        return @out;
 }