X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=143b71e48e4a98c0ff141479aa76f1b73efb96a9;hb=0148e301a41d89c154254a457f7d79334eea9442;hp=5c6ca1fb928abd18426cce68525fedbcb3e20cf6;hpb=217ca173cdfac728815e84cd56b897a60e541f64;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index 5c6ca1fb..143b71e4 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -333,7 +333,7 @@ sub normal { my ($self, $line) = @_; - if ($line =~ '^<\w+\s') { + if ($line =~ '^<\w+\s' && $main::do_xml) { DXXml::normal($self, $line); return; } @@ -845,9 +845,12 @@ sub handle_16 push @rout, $parent->add_user($call, $flags); } + # send info to all logged in thingies + $self->tell_login('loginu', "$ncall: $call") if DXUser->get_current($ncall)->is_local_node; + $self->tell_buddies('loginb', $call, $ncall); # add this station to the user database, if required - $call =~ s/-\d+$//o; # remove ssid for users +# $call =~ s/-\d+$//o; # remove ssid for users my $user = DXUser->get_current($call); $user = DXUser->new($call) if !$user; $user->homenode($parent->call) if !$user->homenode; @@ -916,6 +919,10 @@ sub handle_17 $parent = Route->new($ncall); # throw away } + # send info to all logged in thingies + $self->tell_login('logoutu', "$ncall: $ucall") if DXUser->get_current($ncall)->is_local_node; + $self->tell_buddies('logoutb', $ucall, $ncall); + if (eph_dup($line)) { dbg("PCPROT: dup PC17 detected") if isdbg('chanerr'); return; @@ -1014,6 +1021,7 @@ sub handle_19 # check for sane parameters # $ver = 5000 if $ver eq '0000'; + next unless $ver && $ver =~ /^\d+$/; next if $ver < 5000; # only works with version 5 software next if length $call < 3; # min 3 letter callsigns next if $call eq $main::mycall;