X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXChannel.pm;h=717dabbe0618500b197fdee51135206876d771fd;hb=8cf5b21b8c40d97b30a0f605247bc65210df734f;hp=9d52d67c3a204481a220e2feac51a833efd4357b;hpb=15a742ea0f1983282fdff272a362555afbdb99ad;p=spider.git diff --git a/perl/DXChannel.pm b/perl/DXChannel.pm index 9d52d67c..717dabbe 100644 --- a/perl/DXChannel.pm +++ b/perl/DXChannel.pm @@ -28,6 +28,7 @@ package DXChannel; use Msg; use DXM; use DXUtil; +use DXVars; use DXDebug; use Filter; @@ -74,11 +75,11 @@ use vars qw(%channels %valid); annfilter => '5,Announce Filter', wwvfilter => '5,WWV Filter', wcyfilter => '5,WCY Filter', - spotfilter => '5,Spot Filter', + spotsfilter => '5,Spot Filter', inannfilter => '5,Input Ann Filter', inwwvfilter => '5,Input WWV Filter', inwcyfilter => '5,Input WCY Filter', - inspotfilter => '5,Input Spot Filter', + inspotsfilter => '5,Input Spot Filter', passwd => '9,Passwd List,parray', pingint => '5,Ping Interval ', nopings => '5,Ping Obs Count', @@ -88,6 +89,7 @@ use vars qw(%channels %valid); logininfo => '9,Login info req,yesno', talklist => '0,Talk List,parray', cluster => '5,Cluster data', + isbasic => '9,Internal Connection', ); # object destruction @@ -102,10 +104,10 @@ sub DESTROY undef $self->{delayed}; undef $self->{annfilter}; undef $self->{wwvfilter}; - undef $self->{spotfilter}; + undef $self->{spotsfilter}; undef $self->{inannfilter}; undef $self->{inwwvfilter}; - undef $self->{inspotfilter}; + undef $self->{inspotsfilter}; undef $self->{passwd}; undef $self->{node}; } @@ -440,12 +442,16 @@ sub decode_input my $chcall = (ref $dxchan) ? $dxchan->call : "UN.KNOWN"; # the above regexp must work - if (!defined $sort || !defined $call || !defined $line || - (ref $dxchan && $call ne $chcall)) { - $data =~ s/([\x00-\x1f\x7f-\xff])/uc sprintf("%%%02x",ord($1))/eg; - dbg('chan', "DUFF Line from $chcall: $data"); + unless (defined $sort && defined $call && defined $line) { +# $data =~ s/([\x00-\x1f\x7f-\xff])/uc sprintf("%%%02x",ord($1))/eg; + dbg('err', "DUFF Line on $chcall: $data"); return (); } + + if(ref($dxchan) && $call ne $chcall) { + dbg('err', "DUFF Line come in for $call on wrong channel $chcall" ); + return(); + } return ($sort, $call, $line); }