[master] b498c01c0 Stack req.filters
Nils Goroll
nils.goroll at uplex.de
Mon Sep 30 14:19:07 UTC 2024
commit b498c01c0628bcd66bf9f7eace4aad0bdf688b1f
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Mon Dec 11 08:42:55 2023 +0100
Stack req.filters
diff --git a/bin/varnishd/cache/cache_req_body.c b/bin/varnishd/cache/cache_req_body.c
index 0ee49c37a..9a4cd54d7 100644
--- a/bin/varnishd/cache/cache_req_body.c
+++ b/bin/varnishd/cache/cache_req_body.c
@@ -91,6 +91,16 @@ vrb_pull(struct req *req, ssize_t maxsize, objiterate_f *func, void *priv)
INIT_OBJ(ctx, VRT_CTX_MAGIC);
VCL_Req2Ctx(ctx, req);
+ if (req->vfp_filter_list != NULL &&
+ VCL_StackVFP(vfc, req->vcl, req->vfp_filter_list)) {
+ (void)VFP_Error(vfc, "req.body filters failed");
+ req->req_body_status = BS_ERROR;
+ HSH_DerefBoc(req->wrk, req->body_oc);
+ AZ(HSH_DerefObjCore(req->wrk, &req->body_oc, 0));
+ return (-1);
+ }
+
+
if (VFP_Open(ctx, vfc) < 0) {
req->req_body_status = BS_ERROR;
HSH_DerefBoc(req->wrk, req->body_oc);
More information about the varnish-commit
mailing list