Using inline C to extend VarnishΒΆ
(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.