Files
3x-ui/internal/tuic
Sanaei 5815254fc3 fix(tuic): evict the oldest relay flow instead of refusing new clients
udpRelay.flowFor returned "max relay flows reached" once the table held
maxRelayFlows entries, and only the idle sweep (every minute, two-minute
cutoff) freed slots. One host sending a single datagram from each of 4096
source ports therefore locked every new TUIC client out of the inbound for
up to two minutes, repeatably. A full table now evicts the flow last seen
longest ago, which under such a flood is one of the junk flows, and the
newcomer is admitted. TestUDPRelayFullTableAdmitsNewClient fails on the
refusing code with a read timeout for the third client.
2026-09-12 10:40:41 +02:00
..
2026-09-12 10:15:48 +02:00
2026-09-12 10:15:48 +02:00
2026-09-12 10:15:48 +02:00
2026-09-12 10:15:48 +02:00
2026-09-12 10:15:48 +02:00
2026-09-12 10:15:48 +02:00
2026-09-12 10:15:48 +02:00
2026-09-12 10:15:48 +02:00
2026-09-12 10:15:48 +02:00
2026-09-12 10:15:48 +02:00
2026-09-12 10:15:48 +02:00