remove probable chat lines coming in with '*' sysop flag
[spider.git] / perl / DXProt.pm
index 1b361d0602b19563ea00851fd6c63d96dfc98af5..25e98cc4786d62b829df57e7e0a119906ae1a4b2 100644 (file)
@@ -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 <call>' 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);
        }