Adjust to changed vcl_func_f in varnish-cache

We now have the VCL_SUB type in varnish-cache, which exists mainly to
make this vmod obsolete.

Yet we need to update vmod_dispatch to enable a smooth transition to the
replacement (likely vmod_re2 with VCL_SUB support added), so we keep the
existing semantics and just change the call interface.

*NOTE* We need to do here what VMODs are _explicitly_ not supposed to do
and make a VSUB_STATIC call. This is necessary, because VSUB_DYNAMIC
calls are only enabled through VSUB references, and to keep the vmod
interface, we need to keep the .add() argument a strig.
parent 743c9acb
......@@ -394,7 +394,11 @@ vmod_sub_call(VRT_CTX, struct vmod_dispatch_sub *sub, VCL_INT n)
"call"))
return;
AN(sub->func[n]);
sub->func[n](ctx);
/*
* NOTE: We know this is _not_ how we do things with VCL_SUB, but we
* only provide compatbility to transition *away* from vmod_dispatch
*/
sub->func[n](ctx, VSUB_STATIC, NULL);
}
VCL_STRING
......
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