[tor-bugs] #29125 [Circumvention/Snowflake]: Make websocket server tolerant of HTTP/2

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Oct 16 17:24:40 UTC 2019


#29125: Make websocket server tolerant of HTTP/2
-------------------------------------+--------------------------
 Reporter:  dcf                      |          Owner:  arlolra
     Type:  defect                   |         Status:  assigned
 Priority:  Medium                   |      Milestone:
Component:  Circumvention/Snowflake  |        Version:
 Severity:  Normal                   |     Resolution:
 Keywords:                           |  Actual Points:
Parent ID:  #31028                   |         Points:
 Reviewer:                           |        Sponsor:
-------------------------------------+--------------------------
Changes (by arlolra):

 * owner:  (none) => arlolra
 * status:  new => assigned
 * parent:   => #31028


Comment:

 > I'm not sure if WebSocket connections from browsers use HTTP/2 yet or
 not

    This would only be used for secure WebSockets requests, and only if
 there is already an HTTP/2 connection where the server has already
 advertised support for WebSockets over HTTP/2 via the HTTP/2 SETTINGS
 parameter defined in the specification.

 From https://www.chromestatus.com/feature/6251293127475200

 > but in any case we should handle it gracefully.

 {{{
 h, ok := w.(http.Hijacker)
 if !ok {
         return u.returnError(w, r, http.StatusInternalServerError,
 "websocket: response does not implement http.Hijacker")
 }
 }}}

 From
 https://github.com/gorilla/websocket/blob/7e9819d926e9f51e09eabe119b6d78f94e058c44/server.go#L173-L176

 > My first inclination is to see if porting to ​gorilla/websocket fixes
 this

 Seems like it would ...

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/29125#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list