Commit bffe5f53 authored by Nils Goroll's avatar Nils Goroll

fix for good: case 99 / esi data pushed after processing has finished

... hopefully, finally

The previous code pushing additional data was actually working around
other bugs, which _should_ be fixed with
4f9db605 and
6b5c4e45 as shown by permutations.vtc

This should avoid running into #3109 on 6.x
parent 4b28afb2
...@@ -892,18 +892,17 @@ vdp_pesi_bytes(struct req *req, enum vdp_action act, void **priv, ...@@ -892,18 +892,17 @@ vdp_pesi_bytes(struct req *req, enum vdp_action act, void **priv,
CHECK_OBJ_NOTNULL(node, NODE_MAGIC); CHECK_OBJ_NOTNULL(node, NODE_MAGIC);
/* /*
* special case for ESI with http_gzip_support off: gzip tail getting * more data getting pushed to us after ESI level 0 processing has
* pushed to us after the state engine has finished * finished
* *
* we would want to remove ourselves from the VDP list, but cannot, as * we would want to remove ourselves from the VDP list, but cannot, as
* that would trigger our _fini while we are in _bytes - catch22... * that would trigger our _fini while we are in _bytes - catch22...
* *
* see e00031.vtc and e00033.vtc
*/ */
if (req->esi_level == 0 && if (req->esi_level == 0 &&
node->state >= ST_DELIVERED && node->state >= ST_DELIVERED &&
pecx->state == 99) { pecx->state == 99) {
return (VDP_bytes(req, act, ptr, len)); return (tree->retval);
} }
assert(node->type == T_NEXUS); assert(node->type == T_NEXUS);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment