Commit 41199b27 authored by Geoff Simmons's avatar Geoff Simmons

VTC for gunzip in an included response, with the junk after data error.

Before the bugfix for Varnish #3109
(d235b3c90a631ef39fdf0a8103e44ebfb0ddbacb), the gunzip VDP went into
an infinite loop for such a case.
parent 2cca760c
varnishtest "VDP gunzip for an include, when there is junk after gzip"
server s1 {
rxreq
txresp -body {<Before esi>
<esi:include src="/junk.html"/>
After esi
}
} -start
server s2 {
rxreq
expect req.url == "/junk.html"
txresp -hdr "content-encoding: gzip" -nolen
# cf Varnish r03109.vtc
sendhex "1f 8b 08 00 f5 8a b9 5d 02 03 0b 4f 4d 51 30 36"
sendhex "50 f0 4f 2e 51 30 34 b1 32 30 b7 32 30 54 70 76"
sendhex "0d 51 30 32 30 b4 e4 02 00 fa 76 79 ba 1d 00 00"
sendhex "00 62 61 64 0a"
} -start
varnish v1 -vcl+backend {
import ${vmod_pesi};
sub vcl_backend_fetch {
if (bereq.url == "/") {
set bereq.backend = s1;
}
else {
set bereq.backend = s2;
}
}
sub vcl_backend_response {
if (bereq.url == "/") {
set beresp.do_esi = true;
}
else {
set beresp.filters = "";
}
}
sub vcl_deliver {
set resp.filters = "pesi";
if (req.esi_level == 1) {
set resp.filters = "pesi gunzip";
}
}
} -start
client c1 {
txreq
rxresp
expect resp.status == 200
expect resp.bodylen == 24
expect resp.body == {<Before esi>
After esi
}
} -run
logexpect l1 -v v1 -d 1 -q "vxid == 1001" {
expect * 1001 Gzip {^G.un.zip error: 1 .junk after VGZ_END.$}
} -start
## HTTP/2
# TBD
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