[master] dd5d189 Add a ${workdir}/vmod_cache subdirectory for caching compiled VMODs. Otherwise jail_unix doesn't allow you to use VMODs.

Poul-Henning Kamp phk at FreeBSD.org
Sat Jan 7 13:24:04 CET 2017


commit dd5d18952fb9badd4eb388c98a6da7c3882b0969
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Sat Jan 7 12:22:22 2017 +0000

    Add a ${workdir}/vmod_cache subdirectory for caching compiled
    VMODs.  Otherwise jail_unix doesn't allow you to use VMODs.

diff --git a/bin/varnishd/mgt/mgt_child.c b/bin/varnishd/mgt/mgt_child.c
index 9a4d955..5f23a24 100644
--- a/bin/varnishd/mgt/mgt_child.c
+++ b/bin/varnishd/mgt/mgt_child.c
@@ -307,6 +307,12 @@ mgt_launch_child(struct cli *cli)
 
 	child_state = CH_STARTING;
 
+	if (VJ_make_vcldir("vmod_cache")) {
+		VCLI_Out(cli, "Could not create vmod cache dir");
+		VCLI_SetResult(cli, CLIS_UNKNOWN);
+		return;
+	}
+
 	/* Open pipe for mgr->child CLI */
 	AZ(pipe(cp));
 	heritage.cli_in = cp[0];
diff --git a/lib/libvcc/vcc_vmod.c b/lib/libvcc/vcc_vmod.c
index ef2a9e0..c2c4742 100644
--- a/lib/libvcc/vcc_vmod.c
+++ b/lib/libvcc/vcc_vmod.c
@@ -207,7 +207,7 @@ vcc_ParseImport(struct vcc *tl)
 	AN(vmd);
 	AN(vmd->file_id);
 	VSB_printf(ifp->ini, "\t    \"%s\",\n", vmd->file_id);
-	VSB_printf(ifp->ini, "\t    \"./_vmod_%.*s.%s\"\n",
+	VSB_printf(ifp->ini, "\t    \"./vmod_cache/_vmod_%.*s.%s\"\n",
 	    PF(mod), vmd->file_id);
 	VSB_printf(ifp->ini, "\t    ))\n");
 	VSB_printf(ifp->ini, "\t\treturn(1);");



More information about the varnish-commit mailing list