diff options
author | Cecylia Bocovich <cohosh@torproject.org> | 2022-02-08 13:00:43 -0500 |
---|---|---|
committer | Cecylia Bocovich <cohosh@torproject.org> | 2022-02-08 13:00:43 -0500 |
commit | bcc162898a9b085d8543e1aaeff7950b4431c5f3 (patch) | |
tree | f5ac9b64649602dd6a210ee231915b3cfdc73b0a /server | |
parent | e6e5e20ae8b5883b37f5dea656540825e237d820 (diff) | |
download | snowflake-bcc162898a9b085d8543e1aaeff7950b4431c5f3.tar.gz snowflake-bcc162898a9b085d8543e1aaeff7950b4431c5f3.zip |
Initialize SnowflakeListener.closed
Fixes a bug where an uninitialized channel causes a panic when closed
(#40099).
Diffstat (limited to 'server')
-rw-r--r-- | server/lib/snowflake.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/server/lib/snowflake.go b/server/lib/snowflake.go index a1051e0..44f287f 100644 --- a/server/lib/snowflake.go +++ b/server/lib/snowflake.go @@ -75,7 +75,11 @@ func NewSnowflakeServer(getCertificate func(*tls.ClientHelloInfo) (*tls.Certific // Listen starts a listener on addr that will accept both turbotunnel // and legacy Snowflake connections. func (t *Transport) Listen(addr net.Addr) (*SnowflakeListener, error) { - listener := &SnowflakeListener{addr: addr, queue: make(chan net.Conn, 65534)} + listener := &SnowflakeListener{ + addr: addr, + queue: make(chan net.Conn, 65534), + closed: make(chan struct{}), + } handler := httpHandler{ // pconn is shared among all connections to this server. It |