Commit 6b5c4e45 authored by Nils Goroll's avatar Nils Goroll

fix gzip-plain-gzip case

in vped_deliver, we used the wrong gzip state pointer for ESI objects,
which lead to the pretendgzip filter not being pushed.

Also, we should respect the RES_ESI bit to properly handle the case when
esi is deactivated on an esi object. (to be tested)
parent 4f9db605
......@@ -1267,10 +1267,7 @@ vped_deliver(struct req *req, struct boc *boc, int wantbody)
obj_esi = ObjHasAttr(req->wrk, req->objcore, OA_ESIDATA);
obj_final = (req->objcore->flags & OC_F_FINAL) != 0;
if (obj_esi)
gz = &node->nexus.gzip;
else
gz = &parent->nexus.gzip;
gz = &parent->nexus.gzip;
if (gz->is && obj_gzipped && !(req->res_mode & RES_ESI)) {
/* OA_GZIPBITS are not valid until BOS_FINISHED */
......@@ -1304,8 +1301,9 @@ vped_deliver(struct req *req, struct boc *boc, int wantbody)
gz = NULL;
}
if (obj_esi) {
if (obj_esi && req->res_mode & RES_ESI) {
VSLdbg(req, "vped_deliver: ESI");
AZ(vgzgz);
// VDP_pesi + buf has been pushed from VCL
push_vdps(req, vgzgz, gz);
......
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