a case for vmod VARARGS

Nils Goroll slink at schokola.de
Sat Nov 9 12:34:13 UTC 2019


Hi,

I would just like to mention that we are working on a vdp/vfp to exec arbitrary
external filter programs. Before you shout "it's unsafe" or "performance will
suck": Yes, you are right, and I totally agree, but we got very good reasons:
The application is extremely low traffic, the filter is quite costly (in the
order of seconds per invocation) and we will highly benefit from address space
isolation (due to a high number of 3rd party libraries used by the filter we are
going to use, so we are convinced that it will leak memory and contain wild
pointers).

That said, we would like to support a syntax similar to

	myvdp.set_args("some", "argument", " and more ",
			blob.encode(HEX, whatever.get()));

for which we could abuse STRING_LIST or some (bound) list of optional/default
value arguments right now, but actually real VARARGS would be much better/cleaner.

Could we extend the .vmod interface by something like

	$Function VOID foo (STRING, ...)

which would turn into a va_args argument of the previous type?


Nils

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-dev/attachments/20191109/54922b4f/attachment.html>


More information about the varnish-dev mailing list