(Here there be dragons. Big and mean ones.)
You can use inline C to extend Varnish. Please note that you can seriously mess up Varnish this way. The C code runs within the Varnish Cache process so if your code generates a segfault the cache will crash.
One of the first uses of inline C was logging to syslog
.:
# The include statements must be outside the subroutines. C{ #include <syslog.h> }C sub vcl_something { C{ syslog(LOG_INFO, "Something happened at VCL line XX."); }C }
To use inline C you need to enable it with the vcc_allow_inline_c
parameter.
Copyright © 2006 Verdens Gang AS
Copyright © 2006–2020 Varnish Software AS
Licensed under the BSD-2-Clause License.
https://varnish-cache.org/docs/6.5/users-guide/vcl-inline-c.html