X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProtHandle.pm;h=d4ef2c1d849b40fe46abbe03a3c5a9753ca658c5;hb=7bb8e1e37a19c197b2bc1f47a6ee07bccb368b74;hp=51585f01facee34ea0e1cabc536132d9c1bafaa6;hpb=e38d19c30260593ff48d3edcd209f781030c671e;p=spider.git diff --git a/perl/DXProtHandle.pm b/perl/DXProtHandle.pm index 51585f01..d4ef2c1d 100644 --- a/perl/DXProtHandle.pm +++ b/perl/DXProtHandle.pm @@ -598,16 +598,15 @@ sub handle_18 my $parent = Route::Node::get($self->{call}); # record the type and version offered - if ($_[1] =~ /DXSpider Version: (\d+\.\d+)/) { - $self->{version} = 53 + $1; - $self->user->version(53 + $1); - $parent->version(0 + $1); - dbg("DXSpider version $1"); + if (my ($version) = $_[1] =~ /DXSpider Version: (\d+\.\d+)/) { + $self->{version} = 53 + $version; + $self->user->version(53 + $version); + $parent->version(0 + $version); my ($build) = $_[1] =~ /Build: (\d+(?:\.\d+)?)/; $self->{build} = 0 + $build; $self->user->build(0 + $build); $parent->build(0 + $build); - dbg("DXSpider build $build"); + dbg("DXSpider version $version build $build"); unless ($self->is_spider) { dbg("Change U " . $self->user->sort . " C $self->{sort} -> S"); $self->user->sort('S'); @@ -615,9 +614,13 @@ sub handle_18 $self->sort('S'); } # $self->{handle_xml}++ if DXXml::available() && $_[1] =~ /\bxml/; - if (!$self->{isolate} && $_[1] =~ /\bpc9x/) { - $self->{do_pc9x} = 1; - dbg("Do px9x set on $self->{call}"); + if ($_[1] =~ /\bpc9x/) { + if ($self->{isolate}) { + dbg("pc9x recognised, but is isolated, using old protocol"); + } else { + $self->{do_pc9x} = 1; + dbg("Do px9x set on $self->{call}"); + } } } else { dbg("Unknown software");