VEXT - Varnish Extensions¶
A Varnish Extension is a shared library, loaded into the worker process during startup, before privilges are dropped for good. This allows a VEXT to do pretty much anything it wants to do in the worker process.
A VEXT can (also) contain a VMOD, and it will work just like any other VMOD, which also means that VMODs can be loaded as VEXTs.
The VEXTs are loaded in the child process, in the order they are
specified on the commandline, after the
heritage has been
established, but before stevedores are initialized and jail
privileges are dropped.
There is currently no
init entrypoint defined, but a
VEXT can use a static initializer to get activated on loading.
If those static initializers want to bail out,
exit(3) can be used to convey diagnostics.