From b37f17e623de56c01007294503502f11ed11daca Mon Sep 17 00:00:00 2001 From: bol-van Date: Sat, 6 Jun 2026 21:50:47 +0300 Subject: [PATCH] zapret-antidpi: do not VERDICT_DROP in send with delay option --- docs/manual.en.md | 4 +++- docs/manual.md | 4 +++- lua/zapret-antidpi.lua | 1 - 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/manual.en.md b/docs/manual.en.md index 51deb24..c663e34 100644 --- a/docs/manual.en.md +++ b/docs/manual.en.md @@ -3789,7 +3789,9 @@ function send(ctx, desync) - Default `ip_id` mode is `none`. Sends the current dissect with optional modifications applied. -If delay is specified function returns VERDICT_DROP. Packet data and send options are remembered. After specified time packet is sent out. +If delay is specified packet data and send options are remembered. After specified time packet is sent out. + +The function returns VERDICT_PASS - the sending of the current dissect is not canceled. If you want to cancel, use the [drop](#drop) instance. ### pktmod diff --git a/docs/manual.md b/docs/manual.md index 10bd47c..0054e41 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -3975,12 +3975,14 @@ function send(ctx, desync) Отсылает текущий диссект c опциональным применением модификаций. -При наличии параметра delay выносится вердикт drop. Данные пакета и опции отправки запоминаются. Спустя указанное время происходит отправка. +При наличии параметра delay данные пакета и опции отправки запоминаются. Спустя указанное время происходит отправка. Функция отсылки с delay реализована тривиальным образом через таймер с именем, уникальным для диссекта. Множественные send с delay не вызывают дополнительную отправку, вместо этого замещается предыдущая отправка. Если вам нужно задерживать несколько вариаций (например, результат tcp сегментации) и нужна очередь для отправки в строгом порядке, то вам нужно писать свою функцию - send не подойдет. +Функция выносит VERDICT_PASS - отсылка текущего диссекта не отменяется. Если нужно отменить - используйте инстанс [drop](#drop). + ### pktmod ``` diff --git a/lua/zapret-antidpi.lua b/lua/zapret-antidpi.lua index 8260e16..78dacc4 100644 --- a/lua/zapret-antidpi.lua +++ b/lua/zapret-antidpi.lua @@ -97,7 +97,6 @@ function send(ctx, desync) if desync.arg.delay then local tname = "send_"..desync_timer_name(desync) timer_set(tname, "send_timer_delayed", tonumber(desync.arg.delay), true, {dis = dis, opts = desync_opts(desync)}) - return VERDICT_DROP else -- it uses rawsend, reconstruct and ipfrag options rawsend_dissect_ipfrag(dis, desync_opts(desync))