X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FThingy%2FHello.pm;h=6c64302662e8bb505cd22bf5215c525a9c1c7c47;hb=5def24d66561e13e76b7af3109810be21deeeffb;hp=4ff8ebda6f9b63fb254362ea7ce5b8fd01d9500b;hpb=eb2a2eb1aa8e7c743c23ec5e0dc5aa40a8708e79;p=spider.git diff --git a/perl/Thingy/Hello.pm b/perl/Thingy/Hello.pm index 4ff8ebda..6c643026 100644 --- a/perl/Thingy/Hello.pm +++ b/perl/Thingy/Hello.pm @@ -39,11 +39,11 @@ sub gen_Aranea if ($thing->{user}) { $thing->{h} ||= $dxchan->here; } else { - $thing->add_auth; $thing->{sw} ||= 'DXSp'; - $thing->{v} ||= $main::version; - $thing->{b} ||= $main::build; + $thing->{v} ||= $main::me->version; + $thing->{b} ||= $main::me->build; $thing->{h} ||= $main::me->here; + $thing->add_auth; } $thing->{Aranea} = Aranea::genmsg($thing, [qw(sw h v b s auth)]); @@ -90,7 +90,7 @@ sub handle $thing->send($dxchan); # broadcast our configuration to the world - $thing = Thingy::Rt->new_lcf; + $thing = Thingy::Rt->new_cf; $thing->broadcast; } } @@ -113,16 +113,18 @@ sub handle if (my $user = $thing->{user}) { my $ur = Route::get($user); unless ($ur) { - my $uref = DXUser->get_current($user); + my @ref; + my $uref = DXUser->get_current($user) || Thingy::Rt::_upd_user_rec($user, $origin)->put; if ($uref->is_node || $uref->is_aranea) { - $ur = $nref->add($user, $thing->{v}, $thing->{h}); - push @{$thing->{pc19n}}, $ur if $ur; + push @ref, $nref->add($user, $thing->{v} || 0, $thing->{h} || 0); + push @{$thing->{pc19n}}, @ref if @ref; + do $_->np(1) for @ref; } else { $thing->{pc16n} = $nref; - $thing->{pc16u} = [$ur = $nref->add_user($user, $thing->{h})]; + push @ref, $nref->add_user($user, $thing->{h} || 0); + $thing->{pc16u} = \@ref if @ref; } } - $ur->np(1); } else { $nref->version($thing->{v}) unless $nref->version; $nref->build($thing->{b}) unless $nref->build;