From: minima Date: Wed, 9 Mar 2005 10:26:52 +0000 (+0000) Subject: try to get the origin routing correct for non aranea pings X-Git-Tag: R_1_52~111 X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=62df15dc544d86345ea75b2e72e5215f9841f430;p=spider.git try to get the origin routing correct for non aranea pings --- diff --git a/perl/Thingy.pm b/perl/Thingy.pm index efacdbb3..24c8b98f 100644 --- a/perl/Thingy.pm +++ b/perl/Thingy.pm @@ -113,7 +113,8 @@ sub broadcast dbg("Thingy::broadcast: " . $thing->ascii) if isdbg('thing'); my @dxchan; - my $to ||= $thing->{touser}; + my $to ||= $thing->{route}; + $to ||= $thing->{touser}; $to ||= $thing->{group}; if ($to && is_callsign($to) && (my $ref = Route::get($to))) { dbg("Thingy::broadcast: routing for $to") if isdbg('thing'); diff --git a/perl/Thingy/Ping.pm b/perl/Thingy/Ping.pm index 88e68a85..d87ad456 100644 --- a/perl/Thingy/Ping.pm +++ b/perl/Thingy/Ping.pm @@ -31,7 +31,7 @@ sub gen_Aranea { my $thing = shift; unless ($thing->{Aranea}) { - $thing->{Aranea} = Aranea::genmsg($thing, qw(id out)); + $thing->{Aranea} = Aranea::genmsg($thing, qw(id out o)); } return $thing->{Aranea}; } @@ -53,10 +53,12 @@ sub gen_DXProt # {user} as well as a true user and also it may not # have originated here. - my $from = $thing->{user} if Route::Node::get($thing->{user}); + my $from = $thing->{o}; + $from ||= $thing->{user} if Route::Node::get($thing->{user}); $from ||= $thing->{origin}; my $to = $thing->{touser} if Route::Node::get($thing->{touser}); $to ||= $thing->{group}; + $thing->{DXProt} = DXProt::pc51($to, $from, $thing->{out}); } @@ -132,6 +134,7 @@ sub handle } } } else { + $thing->{route} = $thing->{o} if $thing->{o}; $thing->broadcast($dxchan); } }