jail: don't fail unless requirejail is set
[oweals/procd.git] / service / instance.c
index c941157eda457503c58ff1f635b4f18403915f05..75fd91ff079076928b85fae1665b79bef3c60a3f 100644 (file)
@@ -289,6 +289,9 @@ jail_run(struct service_instance *in, char **argv)
                argv[argc++] = in->tmpoverlaysize;
        }
 
+       if (in->require_jail)
+               argv[argc++] = "-E";
+
        blobmsg_list_for_each(&jail->mount, var) {
                const char *type = blobmsg_data(var->data);
 
@@ -1323,12 +1326,6 @@ void instance_dump(struct blob_buf *b, struct service_instance *in, int verbose)
                        blobmsg_add_string(b, "name", in->jail.name);
                if (in->jail.hostname)
                        blobmsg_add_string(b, "hostname", in->jail.hostname);
-               if (in->extroot)
-                       blobmsg_add_string(b, "extroot", in->extroot);
-               if (in->overlaydir)
-                       blobmsg_add_string(b, "overlaydir", in->overlaydir);
-               if (in->tmpoverlaysize)
-                       blobmsg_add_string(b, "tmpoverlaysize", in->tmpoverlaysize);
 
                blobmsg_add_u8(b, "procfs", in->jail.procfs);
                blobmsg_add_u8(b, "sysfs", in->jail.sysfs);
@@ -1348,6 +1345,13 @@ void instance_dump(struct blob_buf *b, struct service_instance *in, int verbose)
                }
        }
 
+       if (in->extroot)
+               blobmsg_add_string(b, "extroot", in->extroot);
+       if (in->overlaydir)
+               blobmsg_add_string(b, "overlaydir", in->overlaydir);
+       if (in->tmpoverlaysize)
+               blobmsg_add_string(b, "tmpoverlaysize", in->tmpoverlaysize);
+
        if (verbose && in->trigger)
                blobmsg_add_blob(b, in->trigger);