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, stderr and exit(3) can be used to convey diagnostics.