[master] c46f838 Run the generic access test also with a jail-specific make_workdir
Nils Goroll
nils.goroll at uplex.de
Fri Feb 16 16:29:07 UTC 2018
commit c46f838dcce721d0b685b7b3a1046a82ec40ef69
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Fri Feb 16 17:22:12 2018 +0100
Run the generic access test also with a jail-specific make_workdir
Related to #2570
diff --git a/bin/varnishd/mgt/mgt_jail.c b/bin/varnishd/mgt/mgt_jail.c
index 1e26487..60b3228 100644
--- a/bin/varnishd/mgt/mgt_jail.c
+++ b/bin/varnishd/mgt/mgt_jail.c
@@ -137,28 +137,32 @@ VJ_subproc(enum jail_subproc_e jse)
int
VJ_make_workdir(const char *dname)
{
- int fd;
+ int i;
AN(dname);
CHECK_OBJ_NOTNULL(vjt, JAIL_TECH_MAGIC);
- if (vjt->make_workdir != NULL)
- return (vjt->make_workdir(dname));
-
- VJ_master(JAIL_MASTER_FILE);
- if (mkdir(dname, 0755) < 0 && errno != EEXIST)
- ARGV_ERR("Cannot create working directory '%s': %s\n",
- dname, strerror(errno));
+ if (vjt->make_workdir != NULL) {
+ i = vjt->make_workdir(dname);
+ if (i)
+ return (i);
+ VJ_master(JAIL_MASTER_FILE);
+ } else {
+ VJ_master(JAIL_MASTER_FILE);
+ if (mkdir(dname, 0755) < 0 && errno != EEXIST)
+ ARGV_ERR("Cannot create working directory '%s': %s\n",
+ dname, strerror(errno));
+ }
if (chdir(dname) < 0)
ARGV_ERR("Cannot change to working directory '%s': %s\n",
dname, strerror(errno));
- fd = open("_.testfile", O_RDWR|O_CREAT|O_EXCL, 0600);
- if (fd < 0)
+ i = open("_.testfile", O_RDWR|O_CREAT|O_EXCL, 0600);
+ if (i < 0)
ARGV_ERR("Cannot create test-file in %s (%s)\n"
"Check permissions (or delete old directory)\n",
dname, strerror(errno));
- closefd(&fd);
+ closefd(&i);
AZ(unlink("_.testfile"));
VJ_master(JAIL_MASTER_LOW);
return (0);
More information about the varnish-commit
mailing list