• Dridi Boukelmoune's avatar
    range: Propagate the VDP error for short ranges · dc5bddbd
    Dridi Boukelmoune authored
    And fix the h2_req VDP error handling as per the VDP contract.
    
    Test case inspired by Simon. Since this is one of those test cases that
    explicitly mix two features I wasn't sure whether I wanted to make this
    an h2 test case or a range test case. Since this was ultimately a range
    bug I decided to register it in a range test case.
    
    It's not obvious what should have been authoritative here. The range VDP
    was rightfully latching an error via SC_RANGE_SHORT that is defined as an
    error-type session close reason, but VDP_DeliverObj() doesn't take that
    into account. While SC_RANGE_SHORT isn't a session/protocol error for h2
    but rather a stream error it is not obvious what VDP_DeliverObj() should
    do in the absence of a negative retval and the presence of a non-null
    sess_close.
    
    Maybe another way could be to turn enum sess_close into a struct and
    embed http1 and h2 specificities directly in struct fields. We already
    have somewhat structured information in the sess_close.h table.
    
    Refs 03f71c6e
    dc5bddbd
Name
Last commit
Last update
.circleci Loading commit data...
.github Loading commit data...
bin Loading commit data...
doc Loading commit data...
etc Loading commit data...
include Loading commit data...
lib Loading commit data...
m4 Loading commit data...
man Loading commit data...
tools Loading commit data...
vmod Loading commit data...
.dir-locals.el Loading commit data...
.gitignore Loading commit data...
.lgtm.yml Loading commit data...
.syntastic_c_config Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTING Loading commit data...
ChangeLog Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
Makefile.am Loading commit data...
README.Packaging Loading commit data...
README.rst Loading commit data...
autogen.des Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
flint.lnt Loading commit data...
varnish-legacy.m4 Loading commit data...
varnish.m4 Loading commit data...
varnishapi-uninstalled.pc.in Loading commit data...
varnishapi.pc.in Loading commit data...
vtc.am Loading commit data...