• Dridi Boukelmoune's avatar
    hash: Close an expiry loophole · 08d4e804
    Dridi Boukelmoune authored
    The opposite of 'EXP_Ttl(req, oc) > req->t_req' should not have been
    'EXP_Ttl(NULL, oc) < req->t_req'. If we somehow enter the lookup when
    the two operands are equal, the objcore suffers a phenomenon known as
    Schrödinger's expiry.
    
    The chances of running into this scenario range from epsilon to 100%.
    
    Because 't_req' is stable across restarts, a soft purge will reliably
    trigger this case.
    
    Test case by Alve Elde who first demonstrated the problem.
    08d4e804
Name
Last commit
Last update
..
tests 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...
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...
vtc.c Loading commit data...
vtc.h Loading commit data...
vtc_barrier.c Loading commit data...
vtc_client.c Loading commit data...
vtc_gzip.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_log.h 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_sess.c Loading commit data...
vtc_subr.c Loading commit data...
vtc_syslog.c Loading commit data...
vtc_tunnel.c Loading commit data...
vtc_varnish.c Loading commit data...