[master] db83e6d20 Revert "vrb: Don't cache an empty body"
Nils Goroll
nils.goroll at uplex.de
Mon Aug 12 13:19:07 UTC 2024
commit db83e6d20b420e55acf31c23c8c4c98016ac67af
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Wed Jul 31 20:19:51 2024 +0200
Revert "vrb: Don't cache an empty body"
This reverts commit dbd9bd12d7e15bd364d23c0f32b1190154c7cc3f.
diff --git a/bin/varnishd/cache/cache_req_body.c b/bin/varnishd/cache/cache_req_body.c
index f2c894cc0..51d45471e 100644
--- a/bin/varnishd/cache/cache_req_body.c
+++ b/bin/varnishd/cache/cache_req_body.c
@@ -66,7 +66,6 @@ vrb_pull(struct req *req, ssize_t maxsize, objiterate_f *func, void *priv)
CHECK_OBJ_NOTNULL(req->htc, HTTP_CONN_MAGIC);
CHECK_OBJ_NOTNULL(req->vfc, VFP_CTX_MAGIC);
vfc = req->vfc;
- AN(maxsize);
req->body_oc = HSH_Private(req->wrk);
AN(req->body_oc);
@@ -301,11 +300,7 @@ VRB_Cache(struct req *req, ssize_t maxsize)
CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
assert (req->req_step == R_STP_RECV);
-
- if (maxsize <= 0) {
- VSLb(req->vsl, SLT_VCL_Error, "Cannot cache an empty req.body");
- return (-1);
- }
+ assert(maxsize >= 0);
/*
* We only allow caching to happen the first time through vcl_recv{}
diff --git a/bin/varnishtest/tests/c00055.vtc b/bin/varnishtest/tests/c00055.vtc
index 1656baa61..048421967 100644
--- a/bin/varnishtest/tests/c00055.vtc
+++ b/bin/varnishtest/tests/c00055.vtc
@@ -17,8 +17,7 @@ varnish v1 -vcl+backend {
import std;
sub vcl_recv {
- set req.http.stored = std.cache_req_body(
- std.bytes(req.http.cache, 1KB));
+ set req.http.stored = std.cache_req_body(1KB);
return (pass);
}
@@ -75,45 +74,3 @@ client c5 {
txreq -req POST -hdr "Content-Length: 1025"
expect_close
} -run
-
-server s1 {
- rxreq
- expect req.body == chunked_body
- txresp
-} -start
-
-client c6 {
- txreq -req POST -nolen -hdr "Transfer-Encoding: chunked"
- chunked chunked
- chunked _
- chunked body
- chunkedlen 0
- rxresp
- expect resp.http.stored == true
-} -run
-
-server s1 {
- rxreq
- expect req.bodylen == 0
- txresp
-} -start
-
-client c7 {
- txreq -req POST -nolen -hdr "Transfer-Encoding: chunked"
- chunkedlen 0
- rxresp
- expect resp.http.stored == true
-} -run
-
-server s1 {
- rxreq
- expect req.bodylen == 0
- txresp
-} -start
-
-client c8 {
- txreq -req POST -nolen -hdr "cache: 0B" -hdr "Transfer-Encoding: chunked"
- chunkedlen 0
- rxresp
- expect resp.http.stored == false
-} -run
More information about the varnish-commit
mailing list