X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=9dc9d5e48506d90961d15ef5e6295a43f58ef9c5;hb=c977c78eb2f5a33471c9eb5f836ceb8581793fe2;hp=48410eb2ffb50082c87320193086e67b9237dea6;hpb=45495d980ec748f19509c7668d6b92a06f216ed7;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index 48410eb2..9dc9d5e4 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -48,7 +48,7 @@ $main::branch += $BRANCH; use vars qw($pc11_max_age $pc23_max_age $last_pc50 $eph_restime $eph_info_restime $eph_pc34_restime $last_hour $last10 %eph %pings %rcmds $ann_to_talk $pingint $obscount %pc19list $chatdupeage $chatimportfn - $investigation_int $pc19_version + $investigation_int $pc19_version $myprot_version %nodehops $baddx $badspotter $badnode $censorpc $rspfcheck $allowzero $decode_dk0wcy $send_opernam @checklist); @@ -206,6 +206,21 @@ sub init { do "$main::data/hop_table.pl" if -e "$main::data/hop_table.pl"; confess $@ if $@; + + 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"; + $main::me->{sort} = 'S'; # S for spider + $main::me->{priv} = 9; + $main::me->{metric} = 0; + $main::me->{pingave} = 0; + $main::me->{registered} = 1; + $main::me->{version} = $main::version; + $main::me->{build} = $main::build; } # @@ -520,7 +535,7 @@ sub handle_11 # RouteDB::update($_[7], $self->{call}); # RouteDB::update($_[6], $_[7]); - my @spot = Spot::prepare($_[1], $_[2], $d, $_[5], $_[6], $_[7]); + my @spot = Spot::prepare($_[1], $_[2], $d, $_[5], $nossid, $_[7]); # global spot filtering on INPUT if ($self->{inspotsfilter}) { my ($filter, $hops) = $self->{inspotsfilter}->it(@spot); @@ -533,7 +548,7 @@ sub handle_11 # this goes after the input filtering, but before the add # so that if it is input filtered, it isn't added to the dup # list. This allows it to come in from a "legitimate" source - if (Spot::dup($_[1], $_[2], $d, $_[5], $_[6])) { + if (Spot::dup(@spot[0..4])) { dbg("PCPROT: Duplicate Spot ignored\n") if isdbg('chanerr'); return; }