mirror of
https://github.com/go-gost/x.git
synced 2026-10-19 16:16:32 +00:00
cipherConn.ReadFrom returned decrypt errors straight to quic-go, which treats any packet-socket error as fatal and closes the shared QUIC transport. A single malformed datagram (short, wrong key, tampered tag) thus killed the whole listener while the process kept running. Discard unauthenticated/invalid peer datagrams and keep reading; only surface real socket errors and bad local AES keys. Also fix WriteTo to return the caller-supplied length instead of the encrypted nonce+tag length, per the net.PacketConn contract.