[Dxspider-support] Is $calltick actually being used?
Kin
ea3cv at cronux.net
Sat Apr 5 18:12:16 BST 2025
Thanks, Dirk.
Kin EA3CV
De: Dxspider-support <dxspider-support-bounces at tobit.co.uk> En nombre de Dirk Koopman via Dxspider-support
Enviado el: sábado, 5 de abril de 2025 18:28
Para: Kin via Dxspider-support <dxspider-support at tobit.co.uk>
CC: Dirk Koopman <djk at tobit.co.uk>
Asunto: Re: [Dxspider-support] Is $calltick actually being used?
Well I think it is, in Spot.pm:
sub handle_dupecalls
{
my $call = shift;
my $reason = shift;
my $testtype = shift;
my $just_find = shift;
my $timeout = shift || $dupecall;
my $threshold = shift || $dupecallthreshold;
my $tick = shift || $calltick;
my $check = $just_find ? 'CHECK' : 'ADD ';
# we are DEFINITELY kicking the timer down the road until it stops
# in a sustained attack this will oscillate between systime and systime + threshold until
# the attack stops and the record is cleaned away as normal
my $ldupkey = "X$call";
my $t = DXDupe::find($ldupkey);
if ($t > 0) {
my $new = $t + $tick;
if ($t < $main::systime + $threshold) {
A bit further up this function is called:
# first crude flood protection. This plain callsign checking spotting anything that isn't caught by preceding tests.
if ($dupecall) {
$t = handle_dupecalls($call, $reason, "(CALL)", $just_find) if $do_call_check;
$t ||= handle_dupecalls($by, $reason, "(BY)", $just_find) if $do_by_check;
$t ||= handle_dupecalls("N$node", $reason, "(NODE)", $just_find, $nodetime, $nodetimethreshold) if $do_node_check;
$t ||= handle_dupecalls($ipaddr, $reason, "(IPADDR)", $just_find) if $do_ipaddr_check && $ipaddr && is_ipaddr($ipaddr);
return $t if $t && $just_find;
}
As the last three arguments are not set in the function calls, they get the defaults. One of which is $calltick.
The problem with trying to model this is that the time continues underneath all these timers. So analysing it is pretty non-deterministic. You have send the spot and then observe the result at exactly the same number of seconds later.
Hope this helps
Dirk G1TLH
On 05/04/2025 16:39, Kin via Dxspider-support wrote:
Hi Dirk,
I'm analysing these two spots, and it seems to me that $calltick is not
actually being applied. Instead, it appears to be replaced by $dupecall.
Spot-1
1743764875^PC61^28482.0^4X4HQ^
4-Apr-2025^1107Z^CQing^ON3FZT^PA1RBZ^91.177.93.57^H27^
DXDupe::add key: X4X4HQ|ON3FZT|28482|1743764820|CQING time: 11:17:55Z (time
de llegada al nodo)
DXDupe::add key: X4X4HQ|28482 time: 11:09:00Z
DXDupe::add key: X4X4HQ|CQING time: 11:13:00Z
DXDupe::add key: X4X4HQ time: 11:08:05Z
DXDupe::add key: XON3FZT time: 11:08:05Z
DXDupe::add key: X91.177.93.57 time: 11:08:05Z
Spot-2
1743764885^PC61^28482.0^4X4HQ^
4-Apr-2025^1107Z^CQing^ON3FZT^PA1RBZ^91.177.93.57^H27^
DXDupe::add key: X4X4HQ|ON3FZT|28482|1743764820|CQING time: 11:18:05Z (time
de llegada al nodo)
DXDupe::add key: X4X4HQ|28482 time: 11:09:00Z
DXDupe::add key: X4X4HQ|CQING time: 11:13:00Z
DXDupe::add key: X4X4HQ time: 11:08:15Z ***
DXDupe::add key: XON3FZT time: 11:08:15Z ***
DXDupe::add key: X91.177.93.57 time: 11:08:15Z ***
Note ***
Previous expiration t = 11:07:55Z = 1743764875
$main::systime = 11:08:05Z = 1743764885
Threshold ($Spot::dupecallthreshold) = 35
So: t < $main::systime + 35 -> OK
New value calculated: 1743764885 + 5 = 1743764890 = 11:08:10Z
($main::systime is equal to the arrival time of the second spot)
However, that value is not actually used. Instead, it is replaced with:
$main::systime + $dupecall = 1743764885 + 10 = 1743764895 = 11:08:15Z
The keys X4X4HQ, XON3FZT, and X91.177.93.57 are all renewed using $dupecall
(10 seconds), not $calltick.
The $calltick = 5 is effectively not applied here, because:
Even though the code computes t + $calltick, it is overwritten by:
DXDupe::add($ldupkey, $main::systime + $dupecall)
Variable values used:
$Spot::dupage 600
$Spot::dupeqrgcall 65
$Spot::dupecallinfo 305
$Spot::dupecall 10
$Spot::calltick 5
$Spot::dupecallthreshold 35
Is my understanding correct?
Kin EA3CV
_______________________________________________
Dxspider-support mailing list
Dxspider-support at tobit.co.uk <mailto:Dxspider-support at tobit.co.uk>
https://mailman.tobit.co.uk/mailman/listinfo/dxspider-support
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.tobit.co.uk/pipermail/dxspider-support/attachments/20250405/74b6ef59/attachment-0001.htm>
More information about the Dxspider-support
mailing list