zapret-antidpi: do not VERDICT_DROP in send with delay option

This commit is contained in:
bol-van
2026-06-06 21:50:47 +03:00
parent 7b82744d4d
commit b37f17e623
3 changed files with 6 additions and 3 deletions
+3 -1
View File
@@ -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
+3 -1
View File
@@ -3975,12 +3975,14 @@ function send(ctx, desync)
Отсылает текущий диссект c опциональным применением модификаций.
При наличии параметра delay выносится вердикт drop. Данные пакета и опции отправки запоминаются. Спустя указанное время происходит отправка.
При наличии параметра delay данные пакета и опции отправки запоминаются. Спустя указанное время происходит отправка.
Функция отсылки с delay реализована тривиальным образом через таймер с именем, уникальным для диссекта.
Множественные send с delay не вызывают дополнительную отправку, вместо этого замещается предыдущая отправка.
Если вам нужно задерживать несколько вариаций (например, результат tcp сегментации) и нужна очередь для отправки в строгом порядке,
то вам нужно писать свою функцию - send не подойдет.
Функция выносит VERDICT_PASS - отсылка текущего диссекта не отменяется. Если нужно отменить - используйте инстанс [drop](#drop).
### pktmod
```
-1
View File
@@ -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))