snowflake/common/turbotunnel
David Fifield d2858aeb7e Revert "Take ownership of buffer in QueuePacketConn QueueIncoming/WriteTo."
This reverts commit 839d221883. (Except for
the added benchmarks in queuepacketconn_test.go.) This change
corresponds to the issues #40187 and #40199.

The analysis in https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40199
was wrong; kcp-go does reuse the buffers it passes to
QueuePacketConn.WriteTo. This led to unsynchronized reuse of packet
buffers and mangled packets observable at the client:
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40260.

Undoing the change in QueuePacketConn.QueueIncoming as well, for
symmetry, even though it is not implicated in any correctness problems.
2023-03-13 12:57:35 -06:00
..
clientid.go Import Turbo Tunnel support code. 2020-04-23 14:00:03 -06:00
clientmap.go Manually unlock the mutex in ClientMap.SendQueue. 2022-12-08 08:03:54 -07:00
clientmap_test.go Manually unlock the mutex in ClientMap.SendQueue. 2022-12-08 08:03:54 -07:00
consts.go Reduce turbotunnel queueSize from 2048 to 512. 2022-12-08 08:03:54 -07:00
queuepacketconn.go Revert "Take ownership of buffer in QueuePacketConn QueueIncoming/WriteTo." 2023-03-13 12:57:35 -06:00
queuepacketconn_test.go Test for data race with QueuePacketConn.WriteTo and kcp-go. 2023-03-13 11:42:44 -06:00
redialpacketconn.go Import Turbo Tunnel support code. 2020-04-23 14:00:03 -06:00