X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=7d429b1b7c3aa74375294b23169721742863f2c6;hb=918827ec5a9023edeb2ce0140692566591af0af8;hp=a28be5ff0f5f7e9088416f06db65a3171bdf2d57;hpb=2af6cce23d91c175f9fe9a5b4f7af6f8cfd43440;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index a28be5ff..7d429b1b 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -149,7 +149,13 @@ sub normal my ($pcno) = $field[0] =~ /^PC(\d\d)/; # just get the number return unless $pcno; return if $pcno < 10 || $pcno > 51; - + + # dump bad protocol messages unless it is a PC29 + if ($line =~ /\%[0-9A-F][0-9A-F]/o && $pcno != 29) { + dbg('chan', "CORRUPT protocol message - dumped"); + return; + } + # local processing 1 my $pcr; eval { @@ -437,8 +443,6 @@ sub normal $user->put; } - # queue up any messages - DXMsg::queue_msg(0) if $self->state eq 'normal'; return if $newline eq "PC19^"; # add hop count @@ -451,10 +455,6 @@ sub normal $self->send_local_config(); $self->send(pc22()); $self->state('normal'); - - # queue mail - DXMsg::queue_msg(0); - return; } @@ -483,12 +483,9 @@ sub normal if ($pcno == 22) { $self->state('normal'); - - # queue mail - DXMsg::queue_msg(0); return; } - + if ($pcno == 23 || $pcno == 27) { # WWV info # route 'foreign' pc27s