Alexey
5e70455ca2
Merge pull request #891 from telemt/flow-synlimit-mss-24
...
Raised synlimit_burst -> 24 by default
2026-08-12 21:27:11 +03:00
Alexey
c488970569
Merge pull request #877 from anton-vinogradov/fix/synlimit-default-burst
...
fix(synlimit): raise default synlimit_burst from 1 to 24
2026-08-12 21:26:16 +03:00
Alexey
08127f318d
Merge pull request #890 from telemt/flow-pf
...
BSD PF-backend for Synlimit
2026-08-12 21:25:13 +03:00
Alexey
25e76a3afb
Merge pull request #884 from vgrebenschikov/feature/synlimit-pf-support
...
Add PF synlimit backend
2026-08-12 21:17:40 +03:00
Alexey
3668190100
Merge pull request #889 from telemt/flow-bulk-mss
...
Fragmentation only for first TLS-F
2026-08-12 21:05:42 +03:00
Alexey
064cd0da61
Merge branch 'flow/3.5.0' into flow-bulk-mss
2026-08-12 21:05:14 +03:00
Alexey
7289621458
Update listeners.rs
2026-08-12 21:03:51 +03:00
Vladimir Grebenshchikov
e2eec67a33
Add PF synlimit backend
...
Implement synlimit = "pf" for PF-based firewalls using per-listener source tracking rules in a Telemt-owned anchor.
PF evaluates max-src-conn-rate through source tracking when creating
tates for completed TCP connections. Telemt installs a rate-limited pass
rule followed by a reject fallback rule in the listener anchor:
- under-limit new connections create PF state and pass;
- over-limit new connections fall through to block return-rst;
- access resumes automatically when the source rate drops below the configured window.
Keep Linux iptables/nftables behavior unchanged.
PF maps synlimit_hitcount / synlimit_seconds to max-src-conn-rate and intentionally has
no direct equivalent for Linux-only burst/hashlimit knobs.
2026-07-20 09:43:46 +02:00
Alexey
d851200e47
Merge pull request #883 from telemt/flow/3.4.25
...
Flow/3.4.25
3.4.25
2026-07-20 10:36:20 +03:00
Alexey
a5216d77fb
Rustfmt
2026-07-19 18:41:23 +03:00
Alexey
5b5cd952c8
Bump -> 3.4.25
2026-07-19 18:36:04 +03:00
Alexey
a40578b278
Merge pull request #882 from telemt/flow-runtime-reload
...
In-Runtime Reload
2026-07-19 17:26:43 +03:00
Alexey
bd99493622
Merge pull request #881 from astronaut808/feature/handshake-stage-accounting
...
add handshake failure stage accounting
2026-07-19 17:20:28 +03:00
Alexey
d862deebb2
Fix handshake stage attribution and bound counters
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-19 17:20:18 +03:00
Alexey
0d869d716c
Merge branch 'flow-runtime-reload' into feature/handshake-stage-accounting
2026-07-19 17:18:18 +03:00
Alexey
1e85b91ad3
LCOV artifact for pull request + manual start
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-19 16:11:31 +03:00
Alexey
4679bdcfd5
Atomic Maestro Sessions + Shutdown gate
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-19 16:10:42 +03:00
astronaut808
7291c3192c
docs handshake failure stage diagnostics
2026-07-18 21:25:40 +05:00
astronaut808
4a5dc0b21b
add handshake failure stage accounting
2026-07-18 20:46:00 +05:00
Alexey
fabd98ce89
Cfg Test for handle_bad_client
2026-07-18 14:31:43 +03:00
Alexey
7df3dab5e8
Update API.md
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-18 14:30:03 +03:00
Alexey
c6f40e3717
Harden Maestro reload lifecycle and readiness barriers
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-18 14:27:24 +03:00
Alexey
61ec46c2db
Merge pull request #871 from xaer981/fix/client-mss-bulk
...
fix(server): client_mss_bulk — fragment only ServerHello, keep bulk MSS from start
2026-07-18 14:02:03 +03:00
Alexey
91e05265be
Docs for API In-Proccess Reload
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-17 23:56:42 +03:00
Alexey
991d5b2c38
Maestro: add in-process runtime generation reload
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-17 23:56:00 +03:00
Anton Vinogradov
f770756cba
fix(synlimit): raise default synlimit_burst from 1 to 24
...
The generic-path SYN limiter default of burst=1 admits only one new
connection per source IP, then refills at 48/minute (0.8/s). Telegram
clients open several connections at once on startup/reconnect, so the
extra SYNs are rejected with TCP RST until a token accrues — clients
intermittently fail to connect until the app is restarted.
The iOS fast-path (meta length 64) does not match real-world traffic
behind carrier NAT/NAT64 (SYNs arrive as 60 bytes), so the generic path
governs all clients, iPhone included. Raise its default burst to 24 —
the value already used by the iOS path — so a legitimate startup fan-out
passes. Steady-state rate (48/minute) is unchanged, preserving the
anti-TSPU posture.
Updates the default constant, the default-assertion test, and the EN/RU/DE
CONFIG_PARAMS docs.
2026-07-16 13:04:23 +03:00
Alexey
1f9c82c924
Merge pull request #875 from telemt/flow-aescr
...
Bound ME writer queues by resident payload bytes + Enable expanded AES key schedule zeroization
3.4.24
2026-07-14 22:31:27 +03:00
Alexey
73afeccae1
Rustfmt
2026-07-13 12:20:24 +03:00
Yaroslav Petrovskikh
cd38e8ca80
chore: fix rustfmt import order
2026-07-13 11:27:24 +03:00
Yaroslav Petrovskikh
5e9d99bb4d
fix(server): fragment only the initial FakeTLS response
2026-07-13 11:26:48 +03:00
Alexey
feb51cbf57
Fix RustCrypto zeroize feature wiring
2026-07-12 09:27:15 +03:00
Alexey
8c65cd868c
Enable expanded AES key schedule zeroization
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-11 21:43:01 +03:00
Alexey
ea296bbdc8
Replace per-session pool trimming with pressure hysteresis
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-11 21:36:01 +03:00
Alexey
fb042f826e
Optimize crypto and Fake-TLS buffer residency
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-11 21:22:17 +03:00
Alexey
96425f15c8
Bound Direct relay buffers with an adaptive global memory envelope
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-11 20:56:54 +03:00
Alexey
d4c4980e5a
Bound ME writer queues by resident payload bytes
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-11 18:43:42 +03:00
Alexey
893ce0cf36
Hold C2ME byte permits through ME writer completion
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-10 16:35:39 +03:00
Alexey
2ac93c6d49
Update Cargo.lock
3.4.23
2026-07-10 11:47:09 +03:00
Alexey
a51e58009b
Update Cargo.toml
2026-07-10 11:46:33 +03:00
Alexey
d523406c0a
Merge pull request #869 from telemt/flow
...
Regression coverage + Synlimit netfilter rules per-target + CidrRateLimitKey with IpNetwork + Telemt-Referenz der Konfigurationsparameter
2026-07-10 11:39:22 +03:00
Alexey
5b3ad0096b
Create CONFIG_PARAMS.de.md
2026-07-09 22:42:07 +03:00
Alexey
b587fdbf94
Update CONFIG_PARAMS.ru.md
2026-07-08 20:52:26 +03:00
Alexey
77a45e509a
Update CONFIG_PARAMS.en.md
2026-07-07 22:46:03 +03:00
Alexey
b8be805aed
Rustfmt
2026-07-06 20:12:36 +03:00
Alexey
a1ebd44cee
Update load_basic_tests.rs
2026-07-05 19:58:37 +03:00
Alexey
25d02a8e0e
Update traffic_limiter.rs
2026-07-04 15:45:51 +03:00
Alexey
3375017460
Add the new key to the hot-reload snapshot type
2026-07-04 13:11:08 +03:00
Alexey
25e0abae8a
Validate duplicate normalized auto-templates
2026-07-04 12:35:22 +03:00
Alexey
50538d234e
CidrRateLimitKey with IpNetwork parsing and serialization added
2026-07-04 10:54:55 +03:00
Alexey
e3a7be6786
Update CONTRIBUTING.md
2026-07-03 23:39:46 +03:00