try to fix protocol version
[spider.git] / perl / DXProt.pm
index 78c39f1635639091235e15a9b78b79e9172b6485..cc468cd54409a0e6cfb3b103aab3187d235baf2b 100644 (file)
@@ -214,7 +214,6 @@ sub init
        my $user = DXUser->get($main::mycall);
        die "User $main::mycall not setup or disappeared RTFM" unless $user;
        
-       $myprot_version += $main::version*100;
        $main::me = DXProt->new($main::mycall, 0, $user); 
        $main::me->{here} = 1;
        $main::me->{state} = "indifferent";
@@ -223,7 +222,7 @@ sub init
        $main::me->{metric} = 0;
        $main::me->{pingave} = 0;
        $main::me->{registered} = 1;
-       $main::me->{version} = 5252 + $main::version;
+       $main::me->{version} = $myprot_version + int ($main::version * 100);
        $main::me->{build} = $main::build;
        $main::me->{lastcf} = $main::me->{lasthello} = time;
 }
@@ -1107,8 +1106,7 @@ sub handle_20
        my $thing = Thingy::Rt->new(user=>$self->{call});
        my $nref = Route::Node::get($self->{call});
        $thing->copy_pc16_data($nref);
-       $thing->broadcast;
-       
+       $thing->broadcast($self);
        $self->lastcf($main::systime);
 }
                
@@ -1199,7 +1197,7 @@ sub handle_22
        my $thing = Thingy::Rt->new(user=>$self->{call});
        my $nref = Route::Node::get($self->{call});
        $thing->copy_pc16_data($nref);
-       $thing->broadcast;
+       $thing->broadcast($self);
        $self->lastcf($main::systime);
 }
                                
@@ -1541,15 +1539,14 @@ sub handle_51
        my $line = shift;
        my $origin = shift;
 
-       if (eph_dup($line)) {
+       if (eph_dup($line, 60)) {
                dbg("PCPROT: dup PC51 detected") if isdbg('chanerr');
                return;
        }
 
        my $thing = Thingy::Ping->new(origin=>$main::mycall);
-       $thing->from_DXProt(user=>$_[2], group=>$_[1], out=>$_[3], DXProt=>$line);
-       $thing->process($self);
-       
+       $thing->from_DXProt($self, $line, @_);
+       $thing->handle($self);
 }
 
 # dunno but route it