• Martin Blix Grydeland's avatar
    Fail fetch retries when uncached request body has been released · a45e1f4e
    Martin Blix Grydeland authored
    Currently we allow fetch retries with body even after we have released the
    request that initiated the fetch, and the request body with it. The
    attached test case demonstrates this, where s2 on the retry attempt gets
    stuck waiting for 3 bytes of body data that is never sent.
    
    Fix this by keeping track of what the initial request body status was, and
    failing the retry attempt if the request was already released
    (BOS_REQ_DONE) and the request body was not cached.
    
    Conflicts:
        bin/varnishd/cache/cache.h
    a45e1f4e
Name
Last commit
Last update
..
tests Loading commit data...
tests.disabled Loading commit data...
Makefile.am Loading commit data...
cmds.h Loading commit data...
flint.lnt Loading commit data...
flint.sh Loading commit data...
gensequences Loading commit data...
hpack.h Loading commit data...
huffman_gen.py Loading commit data...
huffman_input Loading commit data...
programs.h Loading commit data...
sequences Loading commit data...
teken.3 Loading commit data...
teken.c Loading commit data...
teken.h Loading commit data...
teken_scs.h Loading commit data...
teken_subr.h Loading commit data...
teken_subr_compat.h Loading commit data...
teken_wcwidth.h Loading commit data...
vmods.h Loading commit data...
vtc.c Loading commit data...
vtc.h Loading commit data...
vtc_barrier.c Loading commit data...
vtc_client.c Loading commit data...
vtc_h2_enctbl.h Loading commit data...
vtc_h2_hpack.c Loading commit data...
vtc_h2_priv.h Loading commit data...
vtc_h2_stattbl.h Loading commit data...
vtc_h2_tbl.c Loading commit data...
vtc_haproxy.c Loading commit data...
vtc_http.c Loading commit data...
vtc_http.h Loading commit data...
vtc_http2.c Loading commit data...
vtc_log.c Loading commit data...
vtc_logexp.c Loading commit data...
vtc_main.c Loading commit data...
vtc_misc.c Loading commit data...
vtc_process.c Loading commit data...
vtc_proxy.c Loading commit data...
vtc_server.c Loading commit data...
vtc_subr.c Loading commit data...
vtc_syslog.c Loading commit data...
vtc_varnish.c Loading commit data...
witness.py Loading commit data...