X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=5c6ca1fb928abd18426cce68525fedbcb3e20cf6;hb=4c60d18d0d58ece2406680d4afd4ff016532c11c;hp=c056db9706e72ff1f6abb708d00855a0524e04fe;hpb=f942dabdab73e5841f16ead2a41a52d6b5b05eb8;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index c056db97..5c6ca1fb 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -82,7 +82,7 @@ $handle_xml = 0; # handle XML sentences @checklist = ( [ qw(i c c m bp bc c) ], # pc10 - [ qw(i f bm d t m c c h) ], # pc11 + [ qw(i f m d t m c c h) ], # pc11 [ qw(i c bm m bm bm p h) ], # pc12 [ qw(i c h) ], # [ qw(i c h) ], # @@ -477,6 +477,18 @@ sub handle_11 # rsfp check # return if $rspfcheck and !$self->rspfcheck(1, $_[7], $_[6]); + + # is the spotted callsign blank? This should really be trapped earlier but it + # could break other protocol sentences. Also check for lower case characters. + if ($_[2] =~ /^\s*$/) { + dbg("PCPROT: blank callsign, dropped") if isdbg('chanerr'); + return; + } + if ($_[2] =~ /[a-z]/) { + dbg("PCPROT: lowercase characters, dropped") if isdbg('chanerr'); + return; + } + # if this is a 'nodx' node then ignore it if ($badnode->in($_[7])) {