X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProtHandle.pm;h=b1726e98a1f4ae6ac184374d497f3943c6132f07;hb=d8b9ca222a816c470dfd9455e09b1a861f8624a1;hp=3e4d3134d40ba532bec9138fab4503679ffe2f30;hpb=d7a3d8da34eeb5ddb1457e90ea16c0ac9d93967a;p=spider.git diff --git a/perl/DXProtHandle.pm b/perl/DXProtHandle.pm index 3e4d3134..b1726e98 100644 --- a/perl/DXProtHandle.pm +++ b/perl/DXProtHandle.pm @@ -1887,6 +1887,12 @@ sub handle_93 return; } + # ignore PC93 coming in from outside this node with a target of local + if ($to eq 'LOCAL' && $self != $main::me) { + dbg("PCPROT: incoming LOCAL chat not from local node, ignored") if isdbg('chanerr'); + return; + } + # if it is routeable then then treat it like a talk my $ref = Route::get($to); if ($ref) { @@ -1934,7 +1940,9 @@ sub handle_93 # chat messages to non-pc9x nodes $self->send_chat(1, pc12($from, $text, undef, $to, undef, $pcall), $from, '*', $text, $to, $pcall, '0'); } - $self->broadcast_route_pc9x($pcall, undef, $line, 0); + + # broadcast this chat sentence everywhere unless it is targetted to 'LOCAL' + $self->broadcast_route_pc9x($pcall, undef, $line, 0) unless $to eq 'LOCAL' || $via eq 'LOCAL'; } # if get here then rebroadcast the thing with its Hop count decremented (if