- 29 Mar, 2024 25 commits
-
-
Dridi Boukelmoune authored
Better diff with the --ignore-all-space option.
-
Dridi Boukelmoune authored
It became explicit in rfc9113: > The same pseudo-header field name MUST NOT appear more than once in a > field block. While at it, the duplicate pseudo-header error can be consolidated in a single location instead of adding one more branch.
-
Dridi Boukelmoune authored
Instead of passing both a decoder and individual decoder fields, the signature for h2h_addhdr() changed to only take the decoder. The order of parameters is destination first, then the source following the calling conventon of functions like memcpy(). Internally the function is reorganized with a bunch of txt variables to keep track of the header being added, its name and value. In addition to clarity, this also helps improve safety and correctness. For example the :authority pseudo-header name is erased in place to turn it into a regular host header, but having a dedicated txt for the header name allows its preservation.
-
Walid Boudebouda authored
Control characters will be caught by vct_ishdrval() anyways, but this condition would also reject allowed obs-text non-ASCII characters. Signed-off-by: Dridi Boukelmoune <dridi.boukelmoune@gmail.com>
-
Walid Boudebouda authored
Signed-off-by: Dridi Boukelmoune <dridi.boukelmoune@gmail.com>
-
Walid Boudebouda authored
Signed-off-by: Dridi Boukelmoune <dridi.boukelmoune@gmail.com>
-
Walid Boudebouda authored
Signed-off-by: Dridi Boukelmoune <dridi.boukelmoune@gmail.com>
-
Poul-Henning Kamp authored
Fixes #3952
-
Dag Haavi Finstad authored
This requirement was dropped in the updated rfc 9113. Fixes: #3911
-
Dag Haavi Finstad authored
Conflicts: bin/varnishd/http2/cache_http2_proto.c
-
Dag Haavi Finstad authored
-
Nils Goroll authored
I accidentally committed an earlier, wrong version. o/ Dridi Ref #3407 https://github.com/varnishcache/varnish-cache/pull/3407#issuecomment-696146625 Conflicts: include/vct.h The previous commit introduces more than just this macro and was skipped on purpose.
-
Dridi Boukelmoune authored
Conflicts: include/vdef.h
-
Dridi Boukelmoune authored
The extra space before the colon looked uncanny. The rest is just code indentation improvements. Better diff with the --ignore-all-space --word-diff options.
-
Dridi Boukelmoune authored
There is room for further improvement in the dynamic between HPACK and the HTTP/2 session, but this will serve as the first step. Conflicts: include/tbl/h2_error.h
-
Poul-Henning Kamp authored
-
Dridi Boukelmoune authored
There are other components than the cache process that could benefit from it, in particular libvcc. The relationship with vas.h is somewhat unfortunate but that also centralize the Tcheck() logic in pdiff() and doesn't actually require vas.h unless the macros are used, in which case it's almost guaranteed that the calling code already included vas.h in the first place. The benefits should outweigh the drawbacks. Conflicts: bin/varnishd/cache/cache.h bin/varnishtest/vtc_http.c
-
Dridi Boukelmoune authored
This way it can be used almost anywhere in the code base and out of tree, not just in the cache process. The function was slightly polished after prior discussions with phk and slink. Conflicts: include/vas.h
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
Its first action ${string,repeat,<uint>,<string>} helps simplify many unwieldy test cases that will hopefully be easier to edit from now on. Conflicts: bin/varnishtest/tests/c00071.vtc bin/varnishtest/tests/r02219.vtc bin/varnishtest/vtc_main.c
-
Dridi Boukelmoune authored
Conflicts: bin/varnishtest/vtc.c
-
Dridi Boukelmoune authored
Instead of having a mere value, these would be able to compute a macro expansion. We parse the contents inside the ${...} delimiters as a VAV, but there can't be (yet?) nested curly {braces}, even quoted. The first argument inside the delimiters is the macro name, and other VAV arguments are treated as arguments to the macro's function. For example ${foo,bar,baz} would call the a macro "foo"'s function with arguments "bar" and "baz". Simple macros don't take arguments and work as usual. Conflicts: bin/varnishtest/vtc.c bin/varnishtest/vtc_main.c
-
Dridi Boukelmoune authored
The latter operates on a VSB, which is always what call sites are doing anyway. It also takes the responsibility of ignoring unknown macros, in preparation for more responsibilities that will also require the ability to fail a test case. Conflicts: bin/varnishtest/vtc_http.c
-
Dridi Boukelmoune authored
I kept a variable called "s" to cut noise from the diff.
-
- 18 Mar, 2024 15 commits
-
-
Simon Stridsberg authored
-
Nils Goroll authored
-
Dridi Boukelmoune authored
-
Simon Stridsberg authored
-
Dridi Boukelmoune authored
Before the h2 frame dispatch we only need to check that coming from a HEADERS frame the very next frame is a CONTINUATION, when the HPACK block didn't fit in the former. The CONTINUATION dispatch will then make the stream consistency check.
-
Dridi Boukelmoune authored
Conflicts: bin/varnishtest/tests/t02005.vtc
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
When a stream times out waiting for window credits, and all the other streams are broke, declare the whole connection bankrupt.
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
Conflicts: bin/varnishd/http2/cache_http2.h
-
Dridi Boukelmoune authored
It replaces idle_send_timeout when the stream is waiting for window credits before sending more DATA frames. The idle_send_timeout will still apply to individual writes to the socket, but triggering it is considered a failure condition (this was already the case). The two loops are merged into a single one to better deal with the lack of ordering guarantees of request vs connection stream control flow window crediting. Refs #2980 Conflicts: bin/varnishd/http2/cache_http2_proto.c bin/varnishd/http2/cache_http2_send.c
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
This parameter needs to be somewhat high because web browsers may for example only credit streams for image resources just enough to parse metadata like width and height of a picture in order to perform layout computations and fetch resources more sensitive to latency before the effective image payloads. Conflicts: include/tbl/params.h
-
Dridi Boukelmoune authored
Conflicts: bin/varnishd/http2/cache_http2_send.c include/tbl/h2_error.h
-
Dridi Boukelmoune authored
The new meaning for h2->sess->t_idle is now the time since the last complete frame, except before the first frame where it corresponds to the creation of the session. Conflicts: bin/varnishd/http2/cache_http2_proto.c
-