Commit Graph

6 Commits

Author SHA1 Message Date
ginuerzh 548471717a fix(dialer): detect dead QUIC sessions in ICMP/QUIC dialer caches
When a QUIC session's MaxIdleTimeout expires, the underlying *quic.Conn dies
but the dead quicSession stays in the sessions map. The next Dial() finds
it and calls session.GetConn() which calls OpenStreamSync(context.Background())
against the dead connection — blocking indefinitely.

Add IsClosed() to both quicSession types (using the session context's Done()
channel) and add the liveness guard in both Dial() methods, matching the
existing pattern in KCP and MASQUE dialers.

Fixes go-gost/gost#225
2026-06-20 20:25:18 +08:00
ginuerzh 3ec2f9d487 update quic 2025-06-25 21:06:23 +08:00
ginuerzh 02a5f4dde4 go1.20 2023-02-04 18:44:52 +08:00
ginuerzh 99540014d0 fix shadowsocks connector 2022-05-01 17:08:57 +08:00
ginuerzh 5b11cc9b9e upgrade quic to v0.27.0 2022-04-22 00:07:37 +08:00
ginuerzh 9397cb5351 initial commit 2022-03-14 20:27:14 +08:00