X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=25e98cc4786d62b829df57e7e0a119906ae1a4b2;hb=03c2eda593235d8299fa285827d0caade6fe8fc1;hp=26a36548646c8a62a65291051f41703eb758b95d;hpb=e74346e7fcfcf7b825534727904adf57425aadd1;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index 26a36548..25e98cc4 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -76,7 +76,7 @@ $chatdupeage = 20 * 60 * 60; ( [ qw(c c m bp bc c) ], # pc10 [ qw(f m d t m c c h) ], # pc11 - [ qw(c bm m bp bm p h) ], # pc12 + [ qw(c bm m bm bm p h) ], # pc12 [ qw(c h) ], # [ qw(c h) ], # [ qw(c m h) ], # @@ -607,8 +607,16 @@ sub handle_12 my $dxchan; - if ($_[2] eq '*' || $_[2] eq $main::mycall) { + if ((($dxchan = DXChannel->get($_[2])) && $dxchan->is_user) || $_[4] =~ /^[\#\w]+$/){ + $self->send_chat($line, @_[1..6]); + } elsif ($_[2] eq '*' || $_[2] eq $main::mycall) { + # ignore something that looks like a chat line coming in with sysop + # flag - this is a kludge... + if ($_[3] =~ /^\#\d+ / && $_[4] eq '*') { + dbg('PCPROT: Probable chat rewrite, dropped') if isdbg('chanerr'); + return; + } # here's a bit of fun, convert incoming ann with a callsign in the first word # or one saying 'to ' to a talk if we can route to the recipient @@ -626,8 +634,6 @@ sub handle_12 # send it $self->send_announce($line, @_[1..6]); - } elsif ((($dxchan = DXChannel->get($_[2])) && $dxchan->is_user) || $_[4] =~ /^[\#\w]+$/){ - $self->send_chat($line, @_[1..6]); } else { $self->route($_[2], $line); }