Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-10-20 | Document the same_site changes | Loïc Hoguin | |
And explain that browsers may be more strict over TCP vs TLS. | |||
2020-10-07 | Add a message_tag to timeout messages sent by cow_http2_machine | Loïc Hoguin | |
They are currently optional to avoid doing a breaking change but should become mandatory (perhaps with a default value of undefined) in Cowlib 3.0. | |||
2020-10-07 | Update Erlang.mk | Loïc Hoguin | |
2020-10-07 | Minor optimization in cow_hpack:update_table_size/2 | Viktor Söderqvist | |
Table only needs to be resized if the current size exceeds the new max size, regardless of current max size. | |||
2020-10-07 | Make HPACK encode respect new configured max size | Viktor Söderqvist | |
Correction to cow_hpack:encode/2,3 according to RFC 7541, 4.3. Entry Eviction When Dynamic Table Size Changes. This change also corrects the handling of inserting entries larger than the max size, which shall result in an empty table, according to 4.4. in the same RFC. Fixes #101, #103. | |||
2020-10-07 | Cookies: accept setting same_site to none | Niklas | |
Chromium and Firefox have both begun using "Lax" as the default for non-Secure cookies. | |||
2020-04-13 | Update Erlang.mk | Loïc Hoguin | |
2020-04-01 | Cowlib 2.9.12.9.1 | Loïc Hoguin | |
2020-03-30 | Add aliases for cookie parsing in cow_http_hd | Loïc Hoguin | |
2020-03-30 | Fix some HPACK Huffman decoding failure cases | Loïc Hoguin | |
When EOS is found within the string the decoding must fail. When the final padding is > 7 bit in length the decoding must fail as well. | |||
2020-03-25 | Cowlib 2.9.02.9.0 | Loïc Hoguin | |
2020-03-19 | Document the new cow_cookie functions | Loïc Hoguin | |
2020-03-11 | Add cow_cookie:cookie/1 | Loïc Hoguin | |
2020-03-06 | Add cow_cookie:parse_set_cookie/1 | Loïc Hoguin | |
Also do minor fixes to cow_cookie:parse_cookie/1. There is a potential incompatibility from these changes, because now a header "Cookie: foo" will be translated to a cookie with an empty name and value "foo", instead of cookie name "foo" and empty value. Also cookie names starting with $ are no longer ignored. These fixes are necessary for the cookies test suite from Web platform tests to work, and match the upcoming cookie RFC. | |||
2020-02-27 | Clarify error when expecting a SETTINGS frame in HTTP/2 preface | Loïc Hoguin | |
The error was appropriate for server mode, but not for client mode, because the server does not send the preface sequence. | |||
2020-01-06 | Use a map for streams in cow_http2_machine | Loïc Hoguin | |
2019-12-31 | Add sponsor link to the README | Loïc Hoguin | |
2019-12-31 | Fix sending trailers when there are data frames in queue | Tony Han | |
2019-12-29 | HPACK: Fix inline integer decodings | Loïc Hoguin | |
There's no shift to be done for the first value. | |||
2019-12-28 | Freeze the structured header tests to a particular commit | Loïc Hoguin | |
Since the spec is still evolving quite a bit and we are following draft numbers (and not the editor's draft) we should use the test suite from that draft. | |||
2019-12-27 | HPACK: Turn off Dialyzer warning about improper lists | Loïc Hoguin | |
2019-12-27 | HPACK decode: decode integers directly to avoid copying binaries | Loïc Hoguin | |
2019-12-27 | HPACK decode: don't try to drop entries when increasing size | Loïc Hoguin | |
2019-12-27 | HPACK encoding now produces a more compact result | Loïc Hoguin | |
This in turn leads to a small performance improvement. | |||
2019-12-26 | Fix Proper tests following cow_hpack changes | Loïc Hoguin | |
2019-12-26 | HPACK encode shouldn't maps:get(huffman...) for every string | Loïc Hoguin | |
2019-12-26 | Use binary append instead of lists:reverse | Loïc Hoguin | |
2019-12-26 | Remove unused cow_hpack:decode/3 Opts argument | Loïc Hoguin | |
2019-12-26 | HPACK encode: conditionally call an iolist_to_binary | Loïc Hoguin | |
This provides a small but noticeable improvement so it's probably worth doing. | |||
2019-12-25 | Fix typo in comment | Loïc Hoguin | |
2019-12-25 | Optimize HPACK Huffman decoding | Loïc Hoguin | |
The previous naive implementation ended up not benefitting from binary match context reuse because it was matching on bit boundaries (and not bytes). This new implementation matches a byte at a time. The result is almost twice faster when decoding the examples from the HPACK RFC (before/after): cow_hpack:decode_huffman in 0.250666s cow_hpack:decode_huffman in 0.133743s | |||
2019-12-19 | Accept iodata() when building links | Loïc Hoguin | |
2019-12-19 | Escape attribute values when building link headers | Loïc Hoguin | |
2019-12-18 | Rename cow_uri_templates to cow_uri_template | Loïc Hoguin | |
Fits better since we are dealing with a single template at a time. | |||
2019-12-18 | Add cow_uri_templates | Loïc Hoguin | |
Implements RFC6570 level 4. | |||
2019-11-25 | Reorganize cow_http_hd | Loïc Hoguin | |
2019-11-25 | Add structured headers, variants and variant-key building | Loïc Hoguin | |
2019-11-23 | Add cow_http_struct_hd | Loïc Hoguin | |
Implements draft-ietf-httpbis-header-structure-14. | |||
2019-11-23 | Add cow_link implementing RFC8288 (link header) | Loïc Hoguin | |
2019-11-23 | Require Erlang/OTP 21+ | Loïc Hoguin | |
2019-10-10 | Add cow_http2_machine:is_lingering_stream/22.8.0 | Loïc Hoguin | |
2019-10-10 | Cowlib 2.8.0 | Loïc Hoguin | |
2019-10-10 | Fix cow_http_te:decode_ret() type | Loïc Hoguin | |
2019-10-10 | Fix cookie_opts() type in code and documentation | Loïc Hoguin | |
It's supposed to be a map, not a proplist. | |||
2019-10-05 | Allow disabling the UTF-8 Websocket text frames validation | Loïc Hoguin | |
2019-10-05 | Make sure ensure_window doesn't crash if stream is closed | Loïc Hoguin | |
2019-10-04 | Add manual for cow_cookie | 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). |