Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-01-06 | Use a map for streams in cow_http2_machine | Loïc Hoguin | |
2019-12-31 | Fix sending trailers when there are data frames in queue | Tony Han | |
2019-10-10 | Add cow_http2_machine:is_lingering_stream/22.8.0 | Loïc Hoguin | |
2019-10-05 | Make sure ensure_window doesn't crash if stream is closed | Loïc Hoguin | |
2019-10-03 | Remove HTTP/1.1 connection headers in HTTP/2 messages | Loïc Hoguin | |
2019-10-01 | Don't return lingering_data tuples anymore | Loïc Hoguin | |
The better solution is to use the ensure_window functions, if updating the window is necessary. | |||
2019-10-01 | Add HTTP/2 option stream_window_data_threshold | Loïc Hoguin | |
This controls how large the window should be before we are willing to send data. We of course always send data when the data we need to send is lower than the current window. This is both an optimization and a fix for the data dribble denial of service vulnerability (CVE-2019-9511). | |||
2019-10-01 | Add cow_http2_machine:get_connection_local_buffer_size/1 | Loïc Hoguin | |
The function can be used to restrict how big all the buffers of a single connection can get. | |||
2019-10-01 | Don't filter HTTP/2 options | Loïc Hoguin | |
It's not a big gain and causes issues when forgetting to update the list. Maybe it can be added back again at a later time. | |||
2019-10-01 | Reject empty HTTP/2 header names | Loïc Hoguin | |
2019-09-14 | Add cow_http2_machine:get_stream_local_buffer_size/2 | Loïc Hoguin | |
2019-09-12 | Fix a bug where final empty frames were ignored | Loïc Hoguin | |
When a final empty frame was queued and the data sent made the window go to 0 and the remote end didn't increase the window anymore, the final empty frame could get stuck in the queue and never sent. Also ensure that we never queue empty non-final data. | |||
2019-09-06 | Add missing specs to cow_http2_machine:ensure_window | Loïc Hoguin | |
2019-09-02 | Add cow_http2_machine:ensure_window/2,3 | Loïc Hoguin | |
These functions apply heuristics to reduce the number of times we send WINDOW_UPDATE frames. | |||
2019-07-27 | Add missing lingering_data in the spec | Loïc Hoguin | |
2019-07-26 | Don't return lingering_data when the length is 0 | Loïc Hoguin | |
2019-04-28 | Return lingering_data when received data in lingering | Tony Han | |
2019-03-26 | :authority is not required by spec2.7.1 | Fredrik Enestad | |
2018-10-30 | Fixes various client issues in cow_http2_machine | Loïc Hoguin | |
2018-10-27 | Handle HTTP/2 timeouts in the state machine | Loïc Hoguin | |
2018-10-26 | Introduce cow_http2_machine, an HTTP/2 state machine | Loïc Hoguin | |
This is the result of a merge of the Cowboy and Gun HTTP/2 codes. It can probably do a little more but it's at a point where Cowboy works fine when using it so additional work will be done in other commits. The Gun code has not been switched to this module yet. I expect for example the PUSH_PROMISE code to fail at this point. This will be the next step. |