Commit a0550b60 authored by Nils Goroll's avatar Nils Goroll Committed by Geoff Simmons

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 24fb8431
......@@ -892,18 +892,17 @@ vdp_pesi_bytes(struct req *req, enum vdp_action act, void **priv,
CHECK_OBJ_NOTNULL(node, NODE_MAGIC);
/*
* special case for ESI with http_gzip_support off: gzip tail getting
* pushed to us after the state engine has finished
* more data getting pushed to us after ESI level 0 processing has
* finished
*
* we would want to remove ourselves from the VDP list, but cannot, as
* that would trigger our _fini while we are in _bytes - catch22...
*
* see e00031.vtc and e00033.vtc
*/
if (req->esi_level == 0 &&
node->state >= ST_DELIVERED &&
pecx->state == 99) {
return (VDP_bytes(req, act, ptr, len));
return (tree->retval);
}
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