config: switch is_ro to rw
authorRobert Swiecki <robert@swiecki.net>
Sat, 27 May 2017 23:24:55 +0000 (01:24 +0200)
committerRobert Swiecki <robert@swiecki.net>
Sat, 27 May 2017 23:24:55 +0000 (01:24 +0200)
config.c
config.pb-c.c
config.pb-c.h
config.proto
configs/bash-with-fake-geteuid.cfg
configs/firefox-with-net.cfg
configs/home-documents-with-xorg-no-net.cfg

index c5fb07710ed56168ee1116c2580339d2ddd58449..69721a08f9d32953ceeb93781e35875252f662c3 100644 (file)
--- a/config.c
+++ b/config.c
@@ -180,7 +180,7 @@ static bool configParseInternal(struct nsjconf_t *nsjconf, Nsjail__NsJailConfig
                const char *fstype = njc->mount[i]->fstype;
                const char *options = njc->mount[i]->options;
 
-               uintptr_t flags = njc->mount[i]->is_ro ? MS_RDONLY : 0;
+               uintptr_t flags = (njc->mount[i]->rw == false) ? MS_RDONLY : 0;
                flags |= njc->mount[i]->is_bind ? (MS_BIND | MS_REC) : 0;
                bool mandatory = njc->mount[i]->mandatory;
 
index 88a677f108c7e55eeff66db9e1a0c43c946a9e90..2e9cc56970c5c398528ddf357463236d36879624 100644 (file)
 #endif
 
 #include "config.pb-c.h"
-void nsjail__id_map__init(Nsjail__IdMap * message)
+void   nsjail__id_map__init
+                     (Nsjail__IdMap         *message)
 {
-       static Nsjail__IdMap init_value = NSJAIL__ID_MAP__INIT;
-       *message = init_value;
+  static Nsjail__IdMap init_value = NSJAIL__ID_MAP__INIT;
+  *message = init_value;
 }
-
-size_t nsjail__id_map__get_packed_size(const Nsjail__IdMap * message)
+size_t nsjail__id_map__get_packed_size
+                     (const Nsjail__IdMap *message)
 {
-       assert(message->base.descriptor == &nsjail__id_map__descriptor);
-       return protobuf_c_message_get_packed_size((const ProtobufCMessage *)(message));
+  assert(message->base.descriptor == &nsjail__id_map__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
 }
-
-size_t nsjail__id_map__pack(const Nsjail__IdMap * message, uint8_t * out)
+size_t nsjail__id_map__pack
+                     (const Nsjail__IdMap *message,
+                      uint8_t       *out)
 {
-       assert(message->base.descriptor == &nsjail__id_map__descriptor);
-       return protobuf_c_message_pack((const ProtobufCMessage *)message, out);
+  assert(message->base.descriptor == &nsjail__id_map__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
 }
-
-size_t nsjail__id_map__pack_to_buffer(const Nsjail__IdMap * message, ProtobufCBuffer * buffer)
+size_t nsjail__id_map__pack_to_buffer
+                     (const Nsjail__IdMap *message,
+                      ProtobufCBuffer *buffer)
 {
-       assert(message->base.descriptor == &nsjail__id_map__descriptor);
-       return protobuf_c_message_pack_to_buffer((const ProtobufCMessage *)message, buffer);
+  assert(message->base.descriptor == &nsjail__id_map__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
 }
-
-Nsjail__IdMap *nsjail__id_map__unpack
-    (ProtobufCAllocator * allocator, size_t len, const uint8_t * data) {
-       return (Nsjail__IdMap *)
-           protobuf_c_message_unpack(&nsjail__id_map__descriptor, allocator, len, data);
+Nsjail__IdMap *
+       nsjail__id_map__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (Nsjail__IdMap *)
+     protobuf_c_message_unpack (&nsjail__id_map__descriptor,
+                                allocator, len, data);
 }
-
-void nsjail__id_map__free_unpacked(Nsjail__IdMap * message, ProtobufCAllocator * allocator)
+void   nsjail__id_map__free_unpacked
+                     (Nsjail__IdMap *message,
+                      ProtobufCAllocator *allocator)
 {
-       assert(message->base.descriptor == &nsjail__id_map__descriptor);
-       protobuf_c_message_free_unpacked((ProtobufCMessage *) message, allocator);
+  assert(message->base.descriptor == &nsjail__id_map__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
 }
-
-void nsjail__mount_pt__init(Nsjail__MountPt * message)
+void   nsjail__mount_pt__init
+                     (Nsjail__MountPt         *message)
 {
-       static Nsjail__MountPt init_value = NSJAIL__MOUNT_PT__INIT;
-       *message = init_value;
+  static Nsjail__MountPt init_value = NSJAIL__MOUNT_PT__INIT;
+  *message = init_value;
 }
-
-size_t nsjail__mount_pt__get_packed_size(const Nsjail__MountPt * message)
+size_t nsjail__mount_pt__get_packed_size
+                     (const Nsjail__MountPt *message)
 {
-       assert(message->base.descriptor == &nsjail__mount_pt__descriptor);
-       return protobuf_c_message_get_packed_size((const ProtobufCMessage *)(message));
+  assert(message->base.descriptor == &nsjail__mount_pt__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
 }
-
-size_t nsjail__mount_pt__pack(const Nsjail__MountPt * message, uint8_t * out)
+size_t nsjail__mount_pt__pack
+                     (const Nsjail__MountPt *message,
+                      uint8_t       *out)
 {
-       assert(message->base.descriptor == &nsjail__mount_pt__descriptor);
-       return protobuf_c_message_pack((const ProtobufCMessage *)message, out);
+  assert(message->base.descriptor == &nsjail__mount_pt__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
 }
-
-size_t nsjail__mount_pt__pack_to_buffer(const Nsjail__MountPt * message, ProtobufCBuffer * buffer)
+size_t nsjail__mount_pt__pack_to_buffer
+                     (const Nsjail__MountPt *message,
+                      ProtobufCBuffer *buffer)
 {
-       assert(message->base.descriptor == &nsjail__mount_pt__descriptor);
-       return protobuf_c_message_pack_to_buffer((const ProtobufCMessage *)message, buffer);
+  assert(message->base.descriptor == &nsjail__mount_pt__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
 }
-
-Nsjail__MountPt *nsjail__mount_pt__unpack
-    (ProtobufCAllocator * allocator, size_t len, const uint8_t * data) {
-       return (Nsjail__MountPt *)
-           protobuf_c_message_unpack(&nsjail__mount_pt__descriptor, allocator, len, data);
+Nsjail__MountPt *
+       nsjail__mount_pt__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (Nsjail__MountPt *)
+     protobuf_c_message_unpack (&nsjail__mount_pt__descriptor,
+                                allocator, len, data);
 }
-
-void nsjail__mount_pt__free_unpacked(Nsjail__MountPt * message, ProtobufCAllocator * allocator)
+void   nsjail__mount_pt__free_unpacked
+                     (Nsjail__MountPt *message,
+                      ProtobufCAllocator *allocator)
 {
-       assert(message->base.descriptor == &nsjail__mount_pt__descriptor);
-       protobuf_c_message_free_unpacked((ProtobufCMessage *) message, allocator);
+  assert(message->base.descriptor == &nsjail__mount_pt__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
 }
-
-void nsjail__exe__init(Nsjail__Exe * message)
+void   nsjail__exe__init
+                     (Nsjail__Exe         *message)
 {
-       static Nsjail__Exe init_value = NSJAIL__EXE__INIT;
-       *message = init_value;
+  static Nsjail__Exe init_value = NSJAIL__EXE__INIT;
+  *message = init_value;
 }
-
-size_t nsjail__exe__get_packed_size(const Nsjail__Exe * message)
+size_t nsjail__exe__get_packed_size
+                     (const Nsjail__Exe *message)
 {
-       assert(message->base.descriptor == &nsjail__exe__descriptor);
-       return protobuf_c_message_get_packed_size((const ProtobufCMessage *)(message));
+  assert(message->base.descriptor == &nsjail__exe__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
 }
-
-size_t nsjail__exe__pack(const Nsjail__Exe * message, uint8_t * out)
+size_t nsjail__exe__pack
+                     (const Nsjail__Exe *message,
+                      uint8_t       *out)
 {
-       assert(message->base.descriptor == &nsjail__exe__descriptor);
-       return protobuf_c_message_pack((const ProtobufCMessage *)message, out);
+  assert(message->base.descriptor == &nsjail__exe__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
 }
-
-size_t nsjail__exe__pack_to_buffer(const Nsjail__Exe * message, ProtobufCBuffer * buffer)
+size_t nsjail__exe__pack_to_buffer
+                     (const Nsjail__Exe *message,
+                      ProtobufCBuffer *buffer)
 {
-       assert(message->base.descriptor == &nsjail__exe__descriptor);
-       return protobuf_c_message_pack_to_buffer((const ProtobufCMessage *)message, buffer);
+  assert(message->base.descriptor == &nsjail__exe__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
 }
-
-Nsjail__Exe *nsjail__exe__unpack(ProtobufCAllocator * allocator, size_t len, const uint8_t * data)
+Nsjail__Exe *
+       nsjail__exe__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
 {
-       return (Nsjail__Exe *)
-           protobuf_c_message_unpack(&nsjail__exe__descriptor, allocator, len, data);
+  return (Nsjail__Exe *)
+     protobuf_c_message_unpack (&nsjail__exe__descriptor,
+                                allocator, len, data);
 }
-
-void nsjail__exe__free_unpacked(Nsjail__Exe * message, ProtobufCAllocator * allocator)
+void   nsjail__exe__free_unpacked
+                     (Nsjail__Exe *message,
+                      ProtobufCAllocator *allocator)
 {
-       assert(message->base.descriptor == &nsjail__exe__descriptor);
-       protobuf_c_message_free_unpacked((ProtobufCMessage *) message, allocator);
+  assert(message->base.descriptor == &nsjail__exe__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
 }
-
-void nsjail__ns_jail_config__init(Nsjail__NsJailConfig * message)
+void   nsjail__ns_jail_config__init
+                     (Nsjail__NsJailConfig         *message)
 {
-       static Nsjail__NsJailConfig init_value = NSJAIL__NS_JAIL_CONFIG__INIT;
-       *message = init_value;
+  static Nsjail__NsJailConfig init_value = NSJAIL__NS_JAIL_CONFIG__INIT;
+  *message = init_value;
 }
-
-size_t nsjail__ns_jail_config__get_packed_size(const Nsjail__NsJailConfig * message)
+size_t nsjail__ns_jail_config__get_packed_size
+                     (const Nsjail__NsJailConfig *message)
 {
-       assert(message->base.descriptor == &nsjail__ns_jail_config__descriptor);
-       return protobuf_c_message_get_packed_size((const ProtobufCMessage *)(message));
+  assert(message->base.descriptor == &nsjail__ns_jail_config__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
 }
-
-size_t nsjail__ns_jail_config__pack(const Nsjail__NsJailConfig * message, uint8_t * out)
+size_t nsjail__ns_jail_config__pack
+                     (const Nsjail__NsJailConfig *message,
+                      uint8_t       *out)
 {
-       assert(message->base.descriptor == &nsjail__ns_jail_config__descriptor);
-       return protobuf_c_message_pack((const ProtobufCMessage *)message, out);
+  assert(message->base.descriptor == &nsjail__ns_jail_config__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
 }
-
 size_t nsjail__ns_jail_config__pack_to_buffer
-    (const Nsjail__NsJailConfig * message, ProtobufCBuffer * buffer) {
-       assert(message->base.descriptor == &nsjail__ns_jail_config__descriptor);
-       return protobuf_c_message_pack_to_buffer((const ProtobufCMessage *)message, buffer);
+                     (const Nsjail__NsJailConfig *message,
+                      ProtobufCBuffer *buffer)
+{
+  assert(message->base.descriptor == &nsjail__ns_jail_config__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
 }
-
-Nsjail__NsJailConfig *nsjail__ns_jail_config__unpack
-    (ProtobufCAllocator * allocator, size_t len, const uint8_t * data) {
-       return (Nsjail__NsJailConfig *)
-           protobuf_c_message_unpack(&nsjail__ns_jail_config__descriptor, allocator, len, data);
+Nsjail__NsJailConfig *
+       nsjail__ns_jail_config__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (Nsjail__NsJailConfig *)
+     protobuf_c_message_unpack (&nsjail__ns_jail_config__descriptor,
+                                allocator, len, data);
 }
-
-void nsjail__ns_jail_config__free_unpacked
-    (Nsjail__NsJailConfig * message, ProtobufCAllocator * allocator) {
-       assert(message->base.descriptor == &nsjail__ns_jail_config__descriptor);
-       protobuf_c_message_free_unpacked((ProtobufCMessage *) message, allocator);
+void   nsjail__ns_jail_config__free_unpacked
+                     (Nsjail__NsJailConfig *message,
+                      ProtobufCAllocator *allocator)
+{
+  assert(message->base.descriptor == &nsjail__ns_jail_config__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
 }
-
 char nsjail__id_map__inside_id__default_value[] = "";
 char nsjail__id_map__outside_id__default_value[] = "";
 static const uint32_t nsjail__id_map__count__default_value = 1u;
 static const protobuf_c_boolean nsjail__id_map__use_newidmap__default_value = 0;
-static const ProtobufCFieldDescriptor nsjail__id_map__field_descriptors[4] = {
-       {
-        "inside_id",
-        1,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__IdMap, inside_id),
-        NULL,
-        &nsjail__id_map__inside_id__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "outside_id",
-        2,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__IdMap, outside_id),
-        NULL,
-        &nsjail__id_map__outside_id__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "count",
-        3,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT32,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__IdMap, count),
-        NULL,
-        &nsjail__id_map__count__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "use_newidmap",
-        4,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__IdMap, use_newidmap),
-        NULL,
-        &nsjail__id_map__use_newidmap__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
+static const ProtobufCFieldDescriptor nsjail__id_map__field_descriptors[4] =
+{
+  {
+    "inside_id",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__IdMap, inside_id),
+    NULL,
+    &nsjail__id_map__inside_id__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "outside_id",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__IdMap, outside_id),
+    NULL,
+    &nsjail__id_map__outside_id__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "count",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__IdMap, count),
+    NULL,
+    &nsjail__id_map__count__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "use_newidmap",
+    4,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__IdMap, use_newidmap),
+    NULL,
+    &nsjail__id_map__use_newidmap__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
 };
-
 static const unsigned nsjail__id_map__field_indices_by_name[] = {
-       2,                      /* field[2] = count */
-       0,                      /* field[0] = inside_id */
-       1,                      /* field[1] = outside_id */
-       3,                      /* field[3] = use_newidmap */
+  2,   /* field[2] = count */
+  0,   /* field[0] = inside_id */
+  1,   /* field[1] = outside_id */
+  3,   /* field[3] = use_newidmap */
 };
-
-static const ProtobufCIntRange nsjail__id_map__number_ranges[1 + 1] = {
-       {1, 0},
-       {0, 4}
+static const ProtobufCIntRange nsjail__id_map__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 4 }
 };
-
-const ProtobufCMessageDescriptor nsjail__id_map__descriptor = {
-       PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
-       "nsjail.IdMap",
-       "IdMap",
-       "Nsjail__IdMap",
-       "nsjail",
-       sizeof(Nsjail__IdMap),
-       4,
-       nsjail__id_map__field_descriptors,
-       nsjail__id_map__field_indices_by_name,
-       1, nsjail__id_map__number_ranges,
-       (ProtobufCMessageInit) nsjail__id_map__init,
-       NULL, NULL, NULL        /* reserved[123] */
+const ProtobufCMessageDescriptor nsjail__id_map__descriptor =
+{
+  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+  "nsjail.IdMap",
+  "IdMap",
+  "Nsjail__IdMap",
+  "nsjail",
+  sizeof(Nsjail__IdMap),
+  4,
+  nsjail__id_map__field_descriptors,
+  nsjail__id_map__field_indices_by_name,
+  1,  nsjail__id_map__number_ranges,
+  (ProtobufCMessageInit) nsjail__id_map__init,
+  NULL,NULL,NULL    /* reserved[123] */
 };
-
 char nsjail__mount_pt__fstype__default_value[] = "";
 char nsjail__mount_pt__options__default_value[] = "";
 static const protobuf_c_boolean nsjail__mount_pt__is_bind__default_value = 0;
-static const protobuf_c_boolean nsjail__mount_pt__is_ro__default_value = 0;
+static const protobuf_c_boolean nsjail__mount_pt__rw__default_value = 0;
 static const protobuf_c_boolean nsjail__mount_pt__mandatory__default_value = 1;
-static const ProtobufCFieldDescriptor nsjail__mount_pt__field_descriptors[10] = {
-       {
-        "src",
-        1,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, src),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "prefix_src_env",
-        2,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, prefix_src_env),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "dst",
-        3,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, dst),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "prefix_dst_env",
-        4,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, prefix_dst_env),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "fstype",
-        5,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, fstype),
-        NULL,
-        &nsjail__mount_pt__fstype__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "options",
-        6,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, options),
-        NULL,
-        &nsjail__mount_pt__options__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "is_bind",
-        7,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, is_bind),
-        NULL,
-        &nsjail__mount_pt__is_bind__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "is_ro",
-        8,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, is_ro),
-        NULL,
-        &nsjail__mount_pt__is_ro__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "is_dir",
-        9,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_BOOL,
-        offsetof(Nsjail__MountPt, has_is_dir),
-        offsetof(Nsjail__MountPt, is_dir),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "mandatory",
-        10,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, mandatory),
-        NULL,
-        &nsjail__mount_pt__mandatory__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
+static const ProtobufCFieldDescriptor nsjail__mount_pt__field_descriptors[10] =
+{
+  {
+    "src",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__MountPt, src),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "prefix_src_env",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__MountPt, prefix_src_env),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dst",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__MountPt, dst),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "prefix_dst_env",
+    4,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__MountPt, prefix_dst_env),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "fstype",
+    5,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__MountPt, fstype),
+    NULL,
+    &nsjail__mount_pt__fstype__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "options",
+    6,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__MountPt, options),
+    NULL,
+    &nsjail__mount_pt__options__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "is_bind",
+    7,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__MountPt, is_bind),
+    NULL,
+    &nsjail__mount_pt__is_bind__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "rw",
+    8,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__MountPt, rw),
+    NULL,
+    &nsjail__mount_pt__rw__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "is_dir",
+    9,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    offsetof(Nsjail__MountPt, has_is_dir),
+    offsetof(Nsjail__MountPt, is_dir),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "mandatory",
+    10,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__MountPt, mandatory),
+    NULL,
+    &nsjail__mount_pt__mandatory__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
 };
-
 static const unsigned nsjail__mount_pt__field_indices_by_name[] = {
-       2,                      /* field[2] = dst */
-       4,                      /* field[4] = fstype */
-       6,                      /* field[6] = is_bind */
-       8,                      /* field[8] = is_dir */
-       7,                      /* field[7] = is_ro */
-       9,                      /* field[9] = mandatory */
-       5,                      /* field[5] = options */
-       3,                      /* field[3] = prefix_dst_env */
-       1,                      /* field[1] = prefix_src_env */
-       0,                      /* field[0] = src */
+  2,   /* field[2] = dst */
+  4,   /* field[4] = fstype */
+  6,   /* field[6] = is_bind */
+  8,   /* field[8] = is_dir */
+  9,   /* field[9] = mandatory */
+  5,   /* field[5] = options */
+  3,   /* field[3] = prefix_dst_env */
+  1,   /* field[1] = prefix_src_env */
+  7,   /* field[7] = rw */
+  0,   /* field[0] = src */
 };
-
-static const ProtobufCIntRange nsjail__mount_pt__number_ranges[1 + 1] = {
-       {1, 0},
-       {0, 10}
+static const ProtobufCIntRange nsjail__mount_pt__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 10 }
 };
-
-const ProtobufCMessageDescriptor nsjail__mount_pt__descriptor = {
-       PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
-       "nsjail.MountPt",
-       "MountPt",
-       "Nsjail__MountPt",
-       "nsjail",
-       sizeof(Nsjail__MountPt),
-       10,
-       nsjail__mount_pt__field_descriptors,
-       nsjail__mount_pt__field_indices_by_name,
-       1, nsjail__mount_pt__number_ranges,
-       (ProtobufCMessageInit) nsjail__mount_pt__init,
-       NULL, NULL, NULL        /* reserved[123] */
+const ProtobufCMessageDescriptor nsjail__mount_pt__descriptor =
+{
+  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+  "nsjail.MountPt",
+  "MountPt",
+  "Nsjail__MountPt",
+  "nsjail",
+  sizeof(Nsjail__MountPt),
+  10,
+  nsjail__mount_pt__field_descriptors,
+  nsjail__mount_pt__field_indices_by_name,
+  1,  nsjail__mount_pt__number_ranges,
+  (ProtobufCMessageInit) nsjail__mount_pt__init,
+  NULL,NULL,NULL    /* reserved[123] */
 };
-
-static const ProtobufCFieldDescriptor nsjail__exe__field_descriptors[2] = {
-       {
-        "path",
-        1,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__Exe, path),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "arg",
-        2,
-        PROTOBUF_C_LABEL_REPEATED,
-        PROTOBUF_C_TYPE_STRING,
-        offsetof(Nsjail__Exe, n_arg),
-        offsetof(Nsjail__Exe, arg),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
+static const ProtobufCFieldDescriptor nsjail__exe__field_descriptors[2] =
+{
+  {
+    "path",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__Exe, path),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "arg",
+    2,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_STRING,
+    offsetof(Nsjail__Exe, n_arg),
+    offsetof(Nsjail__Exe, arg),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
 };
-
 static const unsigned nsjail__exe__field_indices_by_name[] = {
-       1,                      /* field[1] = arg */
-       0,                      /* field[0] = path */
+  1,   /* field[1] = arg */
+  0,   /* field[0] = path */
 };
-
-static const ProtobufCIntRange nsjail__exe__number_ranges[1 + 1] = {
-       {1, 0},
-       {0, 2}
+static const ProtobufCIntRange nsjail__exe__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 2 }
 };
-
-const ProtobufCMessageDescriptor nsjail__exe__descriptor = {
-       PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
-       "nsjail.Exe",
-       "Exe",
-       "Nsjail__Exe",
-       "nsjail",
-       sizeof(Nsjail__Exe),
-       2,
-       nsjail__exe__field_descriptors,
-       nsjail__exe__field_indices_by_name,
-       1, nsjail__exe__number_ranges,
-       (ProtobufCMessageInit) nsjail__exe__init,
-       NULL, NULL, NULL        /* reserved[123] */
+const ProtobufCMessageDescriptor nsjail__exe__descriptor =
+{
+  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+  "nsjail.Exe",
+  "Exe",
+  "Nsjail__Exe",
+  "nsjail",
+  sizeof(Nsjail__Exe),
+  2,
+  nsjail__exe__field_descriptors,
+  nsjail__exe__field_indices_by_name,
+  1,  nsjail__exe__number_ranges,
+  (ProtobufCMessageInit) nsjail__exe__init,
+  NULL,NULL,NULL    /* reserved[123] */
 };
-
 char nsjail__ns_jail_config__name__default_value[] = "";
 char nsjail__ns_jail_config__description__default_value[] = "";
 char nsjail__ns_jail_config__hostname__default_value[] = "NSJAIL";
@@ -474,14 +499,11 @@ static const uint64_t nsjail__ns_jail_config__rlimit_core__default_value = 0ull;
 static const uint64_t nsjail__ns_jail_config__rlimit_cpu__default_value = 600ull;
 static const uint64_t nsjail__ns_jail_config__rlimit_fsize__default_value = 1ull;
 static const uint64_t nsjail__ns_jail_config__rlimit_nofile__default_value = 32ull;
-static const protobuf_c_boolean nsjail__ns_jail_config__persona_addr_compat_layout__default_value =
-    0;
+static const protobuf_c_boolean nsjail__ns_jail_config__persona_addr_compat_layout__default_value = 0;
 static const protobuf_c_boolean nsjail__ns_jail_config__persona_mmap_page_zero__default_value = 0;
-static const protobuf_c_boolean nsjail__ns_jail_config__persona_read_implies_exec__default_value =
-    0;
+static const protobuf_c_boolean nsjail__ns_jail_config__persona_read_implies_exec__default_value = 0;
 static const protobuf_c_boolean nsjail__ns_jail_config__persona_addr_limit_3gb__default_value = 0;
-static const protobuf_c_boolean nsjail__ns_jail_config__persona_addr_no_randomize__default_value =
-    0;
+static const protobuf_c_boolean nsjail__ns_jail_config__persona_addr_no_randomize__default_value = 0;
 static const protobuf_c_boolean nsjail__ns_jail_config__clone_newnet__default_value = 1;
 static const protobuf_c_boolean nsjail__ns_jail_config__clone_newuser__default_value = 1;
 static const protobuf_c_boolean nsjail__ns_jail_config__clone_newns__default_value = 1;
@@ -493,851 +515,849 @@ static const protobuf_c_boolean nsjail__ns_jail_config__mount_proc__default_valu
 static const uint64_t nsjail__ns_jail_config__cgroup_mem_max__default_value = 0ull;
 static const uint64_t nsjail__ns_jail_config__cgroup_pids_max__default_value = 0ull;
 static const protobuf_c_boolean nsjail__ns_jail_config__iface_no_lo__default_value = 0;
-static const ProtobufCFieldDescriptor nsjail__ns_jail_config__field_descriptors[58] = {
-       {
-        "name",
-        1,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, name),
-        NULL,
-        &nsjail__ns_jail_config__name__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "description",
-        2,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, description),
-        NULL,
-        &nsjail__ns_jail_config__description__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "mode",
-        3,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_ENUM,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, mode),
-        &nsjail__mode__descriptor,
-        &nsjail__ns_jail_config__mode__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "chroot_dir",
-        4,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, chroot_dir),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "is_root_rw",
-        5,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, is_root_rw),
-        NULL,
-        &nsjail__ns_jail_config__is_root_rw__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "hostname",
-        8,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, hostname),
-        NULL,
-        &nsjail__ns_jail_config__hostname__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "cwd",
-        9,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, cwd),
-        NULL,
-        &nsjail__ns_jail_config__cwd__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "port",
-        10,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT32,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, port),
-        NULL,
-        &nsjail__ns_jail_config__port__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "bindhost",
-        11,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, bindhost),
-        NULL,
-        &nsjail__ns_jail_config__bindhost__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "max_conns_per_ip",
-        12,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT32,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, max_conns_per_ip),
-        NULL,
-        &nsjail__ns_jail_config__max_conns_per_ip__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "time_limit",
-        13,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT32,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, time_limit),
-        NULL,
-        &nsjail__ns_jail_config__time_limit__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "daemon",
-        14,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, daemon),
-        NULL,
-        &nsjail__ns_jail_config__daemon__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "log_file",
-        15,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, log_file),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "log_level",
-        16,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_ENUM,
-        offsetof(Nsjail__NsJailConfig, has_log_level),
-        offsetof(Nsjail__NsJailConfig, log_level),
-        &nsjail__log_level__descriptor,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "keep_env",
-        17,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, keep_env),
-        NULL,
-        &nsjail__ns_jail_config__keep_env__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "envar",
-        18,
-        PROTOBUF_C_LABEL_REPEATED,
-        PROTOBUF_C_TYPE_STRING,
-        offsetof(Nsjail__NsJailConfig, n_envar),
-        offsetof(Nsjail__NsJailConfig, envar),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "silent",
-        19,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, silent),
-        NULL,
-        &nsjail__ns_jail_config__silent__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "skip_setsid",
-        20,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, skip_setsid),
-        NULL,
-        &nsjail__ns_jail_config__skip_setsid__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "pass_fd",
-        21,
-        PROTOBUF_C_LABEL_REPEATED,
-        PROTOBUF_C_TYPE_INT32,
-        offsetof(Nsjail__NsJailConfig, n_pass_fd),
-        offsetof(Nsjail__NsJailConfig, pass_fd),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "pivot_root_only",
-        22,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, pivot_root_only),
-        NULL,
-        &nsjail__ns_jail_config__pivot_root_only__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "disable_no_new_privs",
-        23,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, disable_no_new_privs),
-        NULL,
-        &nsjail__ns_jail_config__disable_no_new_privs__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rlimit_as",
-        24,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT64,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, rlimit_as),
-        NULL,
-        &nsjail__ns_jail_config__rlimit_as__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rlimit_core",
-        25,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT64,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, rlimit_core),
-        NULL,
-        &nsjail__ns_jail_config__rlimit_core__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rlimit_cpu",
-        26,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT64,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, rlimit_cpu),
-        NULL,
-        &nsjail__ns_jail_config__rlimit_cpu__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rlimit_fsize",
-        27,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT64,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, rlimit_fsize),
-        NULL,
-        &nsjail__ns_jail_config__rlimit_fsize__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rlimit_nofile",
-        28,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT64,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, rlimit_nofile),
-        NULL,
-        &nsjail__ns_jail_config__rlimit_nofile__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rlimit_nproc",
-        29,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_UINT64,
-        offsetof(Nsjail__NsJailConfig, has_rlimit_nproc),
-        offsetof(Nsjail__NsJailConfig, rlimit_nproc),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rlimit_stack",
-        30,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_UINT64,
-        offsetof(Nsjail__NsJailConfig, has_rlimit_stack),
-        offsetof(Nsjail__NsJailConfig, rlimit_stack),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "persona_addr_compat_layout",
-        31,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, persona_addr_compat_layout),
-        NULL,
-        &nsjail__ns_jail_config__persona_addr_compat_layout__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "persona_mmap_page_zero",
-        32,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, persona_mmap_page_zero),
-        NULL,
-        &nsjail__ns_jail_config__persona_mmap_page_zero__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "persona_read_implies_exec",
-        33,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, persona_read_implies_exec),
-        NULL,
-        &nsjail__ns_jail_config__persona_read_implies_exec__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "persona_addr_limit_3gb",
-        34,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, persona_addr_limit_3gb),
-        NULL,
-        &nsjail__ns_jail_config__persona_addr_limit_3gb__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "persona_addr_no_randomize",
-        35,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, persona_addr_no_randomize),
-        NULL,
-        &nsjail__ns_jail_config__persona_addr_no_randomize__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "clone_newnet",
-        36,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, clone_newnet),
-        NULL,
-        &nsjail__ns_jail_config__clone_newnet__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "clone_newuser",
-        37,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, clone_newuser),
-        NULL,
-        &nsjail__ns_jail_config__clone_newuser__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "clone_newns",
-        38,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, clone_newns),
-        NULL,
-        &nsjail__ns_jail_config__clone_newns__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "clone_newpid",
-        39,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, clone_newpid),
-        NULL,
-        &nsjail__ns_jail_config__clone_newpid__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "clone_newipc",
-        40,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, clone_newipc),
-        NULL,
-        &nsjail__ns_jail_config__clone_newipc__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "clone_newuts",
-        41,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, clone_newuts),
-        NULL,
-        &nsjail__ns_jail_config__clone_newuts__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "clone_newcgroup",
-        42,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, clone_newcgroup),
-        NULL,
-        &nsjail__ns_jail_config__clone_newcgroup__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "uidmap",
-        43,
-        PROTOBUF_C_LABEL_REPEATED,
-        PROTOBUF_C_TYPE_MESSAGE,
-        offsetof(Nsjail__NsJailConfig, n_uidmap),
-        offsetof(Nsjail__NsJailConfig, uidmap),
-        &nsjail__id_map__descriptor,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "gidmap",
-        44,
-        PROTOBUF_C_LABEL_REPEATED,
-        PROTOBUF_C_TYPE_MESSAGE,
-        offsetof(Nsjail__NsJailConfig, n_gidmap),
-        offsetof(Nsjail__NsJailConfig, gidmap),
-        &nsjail__id_map__descriptor,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "mount_proc",
-        45,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, mount_proc),
-        NULL,
-        &nsjail__ns_jail_config__mount_proc__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "mount",
-        46,
-        PROTOBUF_C_LABEL_REPEATED,
-        PROTOBUF_C_TYPE_MESSAGE,
-        offsetof(Nsjail__NsJailConfig, n_mount),
-        offsetof(Nsjail__NsJailConfig, mount),
-        &nsjail__mount_pt__descriptor,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "seccomp_policy_file",
-        47,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, seccomp_policy_file),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "seccomp_string",
-        48,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, seccomp_string),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "cgroup_mem_max",
-        49,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT64,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, cgroup_mem_max),
-        NULL,
-        &nsjail__ns_jail_config__cgroup_mem_max__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "cgroup_mem_mount",
-        50,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, cgroup_mem_mount),
-        NULL,
-        &nsjail__ns_jail_config__cgroup_mem_mount__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "cgroup_mem_parent",
-        51,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, cgroup_mem_parent),
-        NULL,
-        &nsjail__ns_jail_config__cgroup_mem_parent__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "cgroup_pids_max",
-        52,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT64,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, cgroup_pids_max),
-        NULL,
-        &nsjail__ns_jail_config__cgroup_pids_max__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "cgroup_pids_mount",
-        53,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, cgroup_pids_mount),
-        NULL,
-        &nsjail__ns_jail_config__cgroup_pids_mount__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "cgroup_pids_parent",
-        54,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, cgroup_pids_parent),
-        NULL,
-        &nsjail__ns_jail_config__cgroup_pids_parent__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "iface_no_lo",
-        55,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, iface_no_lo),
-        NULL,
-        &nsjail__ns_jail_config__iface_no_lo__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "macvlan_iface",
-        56,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, macvlan_iface),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "macvlan_vs_ip",
-        57,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, macvlan_vs_ip),
-        NULL,
-        &nsjail__ns_jail_config__macvlan_vs_ip__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "macvlan_vs_nm",
-        58,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, macvlan_vs_nm),
-        NULL,
-        &nsjail__ns_jail_config__macvlan_vs_nm__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "macvlan_vs_gw",
-        59,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, macvlan_vs_gw),
-        NULL,
-        &nsjail__ns_jail_config__macvlan_vs_gw__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "exec_bin",
-        60,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_MESSAGE,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, exec_bin),
-        &nsjail__exe__descriptor,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
+static const ProtobufCFieldDescriptor nsjail__ns_jail_config__field_descriptors[58] =
+{
+  {
+    "name",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, name),
+    NULL,
+    &nsjail__ns_jail_config__name__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "description",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, description),
+    NULL,
+    &nsjail__ns_jail_config__description__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "mode",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_ENUM,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, mode),
+    &nsjail__mode__descriptor,
+    &nsjail__ns_jail_config__mode__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "chroot_dir",
+    4,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, chroot_dir),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "is_root_rw",
+    5,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, is_root_rw),
+    NULL,
+    &nsjail__ns_jail_config__is_root_rw__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "hostname",
+    8,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, hostname),
+    NULL,
+    &nsjail__ns_jail_config__hostname__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "cwd",
+    9,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, cwd),
+    NULL,
+    &nsjail__ns_jail_config__cwd__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "port",
+    10,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, port),
+    NULL,
+    &nsjail__ns_jail_config__port__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "bindhost",
+    11,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, bindhost),
+    NULL,
+    &nsjail__ns_jail_config__bindhost__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "max_conns_per_ip",
+    12,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, max_conns_per_ip),
+    NULL,
+    &nsjail__ns_jail_config__max_conns_per_ip__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "time_limit",
+    13,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, time_limit),
+    NULL,
+    &nsjail__ns_jail_config__time_limit__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "daemon",
+    14,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, daemon),
+    NULL,
+    &nsjail__ns_jail_config__daemon__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "log_file",
+    15,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, log_file),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "log_level",
+    16,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_ENUM,
+    offsetof(Nsjail__NsJailConfig, has_log_level),
+    offsetof(Nsjail__NsJailConfig, log_level),
+    &nsjail__log_level__descriptor,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "keep_env",
+    17,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, keep_env),
+    NULL,
+    &nsjail__ns_jail_config__keep_env__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "envar",
+    18,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_STRING,
+    offsetof(Nsjail__NsJailConfig, n_envar),
+    offsetof(Nsjail__NsJailConfig, envar),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "silent",
+    19,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, silent),
+    NULL,
+    &nsjail__ns_jail_config__silent__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "skip_setsid",
+    20,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, skip_setsid),
+    NULL,
+    &nsjail__ns_jail_config__skip_setsid__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "pass_fd",
+    21,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_INT32,
+    offsetof(Nsjail__NsJailConfig, n_pass_fd),
+    offsetof(Nsjail__NsJailConfig, pass_fd),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "pivot_root_only",
+    22,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, pivot_root_only),
+    NULL,
+    &nsjail__ns_jail_config__pivot_root_only__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "disable_no_new_privs",
+    23,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, disable_no_new_privs),
+    NULL,
+    &nsjail__ns_jail_config__disable_no_new_privs__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "rlimit_as",
+    24,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT64,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, rlimit_as),
+    NULL,
+    &nsjail__ns_jail_config__rlimit_as__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "rlimit_core",
+    25,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT64,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, rlimit_core),
+    NULL,
+    &nsjail__ns_jail_config__rlimit_core__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "rlimit_cpu",
+    26,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT64,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, rlimit_cpu),
+    NULL,
+    &nsjail__ns_jail_config__rlimit_cpu__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "rlimit_fsize",
+    27,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT64,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, rlimit_fsize),
+    NULL,
+    &nsjail__ns_jail_config__rlimit_fsize__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "rlimit_nofile",
+    28,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT64,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, rlimit_nofile),
+    NULL,
+    &nsjail__ns_jail_config__rlimit_nofile__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "rlimit_nproc",
+    29,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT64,
+    offsetof(Nsjail__NsJailConfig, has_rlimit_nproc),
+    offsetof(Nsjail__NsJailConfig, rlimit_nproc),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "rlimit_stack",
+    30,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT64,
+    offsetof(Nsjail__NsJailConfig, has_rlimit_stack),
+    offsetof(Nsjail__NsJailConfig, rlimit_stack),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "persona_addr_compat_layout",
+    31,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, persona_addr_compat_layout),
+    NULL,
+    &nsjail__ns_jail_config__persona_addr_compat_layout__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "persona_mmap_page_zero",
+    32,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, persona_mmap_page_zero),
+    NULL,
+    &nsjail__ns_jail_config__persona_mmap_page_zero__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "persona_read_implies_exec",
+    33,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, persona_read_implies_exec),
+    NULL,
+    &nsjail__ns_jail_config__persona_read_implies_exec__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "persona_addr_limit_3gb",
+    34,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, persona_addr_limit_3gb),
+    NULL,
+    &nsjail__ns_jail_config__persona_addr_limit_3gb__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "persona_addr_no_randomize",
+    35,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, persona_addr_no_randomize),
+    NULL,
+    &nsjail__ns_jail_config__persona_addr_no_randomize__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "clone_newnet",
+    36,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, clone_newnet),
+    NULL,
+    &nsjail__ns_jail_config__clone_newnet__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "clone_newuser",
+    37,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, clone_newuser),
+    NULL,
+    &nsjail__ns_jail_config__clone_newuser__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "clone_newns",
+    38,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, clone_newns),
+    NULL,
+    &nsjail__ns_jail_config__clone_newns__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "clone_newpid",
+    39,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, clone_newpid),
+    NULL,
+    &nsjail__ns_jail_config__clone_newpid__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "clone_newipc",
+    40,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, clone_newipc),
+    NULL,
+    &nsjail__ns_jail_config__clone_newipc__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "clone_newuts",
+    41,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, clone_newuts),
+    NULL,
+    &nsjail__ns_jail_config__clone_newuts__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "clone_newcgroup",
+    42,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, clone_newcgroup),
+    NULL,
+    &nsjail__ns_jail_config__clone_newcgroup__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "uidmap",
+    43,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_MESSAGE,
+    offsetof(Nsjail__NsJailConfig, n_uidmap),
+    offsetof(Nsjail__NsJailConfig, uidmap),
+    &nsjail__id_map__descriptor,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "gidmap",
+    44,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_MESSAGE,
+    offsetof(Nsjail__NsJailConfig, n_gidmap),
+    offsetof(Nsjail__NsJailConfig, gidmap),
+    &nsjail__id_map__descriptor,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "mount_proc",
+    45,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, mount_proc),
+    NULL,
+    &nsjail__ns_jail_config__mount_proc__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "mount",
+    46,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_MESSAGE,
+    offsetof(Nsjail__NsJailConfig, n_mount),
+    offsetof(Nsjail__NsJailConfig, mount),
+    &nsjail__mount_pt__descriptor,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "seccomp_policy_file",
+    47,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, seccomp_policy_file),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "seccomp_string",
+    48,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, seccomp_string),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "cgroup_mem_max",
+    49,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT64,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, cgroup_mem_max),
+    NULL,
+    &nsjail__ns_jail_config__cgroup_mem_max__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "cgroup_mem_mount",
+    50,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, cgroup_mem_mount),
+    NULL,
+    &nsjail__ns_jail_config__cgroup_mem_mount__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "cgroup_mem_parent",
+    51,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, cgroup_mem_parent),
+    NULL,
+    &nsjail__ns_jail_config__cgroup_mem_parent__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "cgroup_pids_max",
+    52,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT64,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, cgroup_pids_max),
+    NULL,
+    &nsjail__ns_jail_config__cgroup_pids_max__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "cgroup_pids_mount",
+    53,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, cgroup_pids_mount),
+    NULL,
+    &nsjail__ns_jail_config__cgroup_pids_mount__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "cgroup_pids_parent",
+    54,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, cgroup_pids_parent),
+    NULL,
+    &nsjail__ns_jail_config__cgroup_pids_parent__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "iface_no_lo",
+    55,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, iface_no_lo),
+    NULL,
+    &nsjail__ns_jail_config__iface_no_lo__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "macvlan_iface",
+    56,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, macvlan_iface),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "macvlan_vs_ip",
+    57,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, macvlan_vs_ip),
+    NULL,
+    &nsjail__ns_jail_config__macvlan_vs_ip__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "macvlan_vs_nm",
+    58,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, macvlan_vs_nm),
+    NULL,
+    &nsjail__ns_jail_config__macvlan_vs_nm__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "macvlan_vs_gw",
+    59,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, macvlan_vs_gw),
+    NULL,
+    &nsjail__ns_jail_config__macvlan_vs_gw__default_value,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "exec_bin",
+    60,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_MESSAGE,
+    0,   /* quantifier_offset */
+    offsetof(Nsjail__NsJailConfig, exec_bin),
+    &nsjail__exe__descriptor,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
 };
-
 static const unsigned nsjail__ns_jail_config__field_indices_by_name[] = {
-       8,                      /* field[8] = bindhost */
-       46,                     /* field[46] = cgroup_mem_max */
-       47,                     /* field[47] = cgroup_mem_mount */
-       48,                     /* field[48] = cgroup_mem_parent */
-       49,                     /* field[49] = cgroup_pids_max */
-       50,                     /* field[50] = cgroup_pids_mount */
-       51,                     /* field[51] = cgroup_pids_parent */
-       3,                      /* field[3] = chroot_dir */
-       39,                     /* field[39] = clone_newcgroup */
-       37,                     /* field[37] = clone_newipc */
-       33,                     /* field[33] = clone_newnet */
-       35,                     /* field[35] = clone_newns */
-       36,                     /* field[36] = clone_newpid */
-       34,                     /* field[34] = clone_newuser */
-       38,                     /* field[38] = clone_newuts */
-       6,                      /* field[6] = cwd */
-       11,                     /* field[11] = daemon */
-       1,                      /* field[1] = description */
-       20,                     /* field[20] = disable_no_new_privs */
-       15,                     /* field[15] = envar */
-       57,                     /* field[57] = exec_bin */
-       41,                     /* field[41] = gidmap */
-       5,                      /* field[5] = hostname */
-       52,                     /* field[52] = iface_no_lo */
-       4,                      /* field[4] = is_root_rw */
-       14,                     /* field[14] = keep_env */
-       12,                     /* field[12] = log_file */
-       13,                     /* field[13] = log_level */
-       53,                     /* field[53] = macvlan_iface */
-       56,                     /* field[56] = macvlan_vs_gw */
-       54,                     /* field[54] = macvlan_vs_ip */
-       55,                     /* field[55] = macvlan_vs_nm */
-       9,                      /* field[9] = max_conns_per_ip */
-       2,                      /* field[2] = mode */
-       43,                     /* field[43] = mount */
-       42,                     /* field[42] = mount_proc */
-       0,                      /* field[0] = name */
-       18,                     /* field[18] = pass_fd */
-       28,                     /* field[28] = persona_addr_compat_layout */
-       31,                     /* field[31] = persona_addr_limit_3gb */
-       32,                     /* field[32] = persona_addr_no_randomize */
-       29,                     /* field[29] = persona_mmap_page_zero */
-       30,                     /* field[30] = persona_read_implies_exec */
-       19,                     /* field[19] = pivot_root_only */
-       7,                      /* field[7] = port */
-       21,                     /* field[21] = rlimit_as */
-       22,                     /* field[22] = rlimit_core */
-       23,                     /* field[23] = rlimit_cpu */
-       24,                     /* field[24] = rlimit_fsize */
-       25,                     /* field[25] = rlimit_nofile */
-       26,                     /* field[26] = rlimit_nproc */
-       27,                     /* field[27] = rlimit_stack */
-       44,                     /* field[44] = seccomp_policy_file */
-       45,                     /* field[45] = seccomp_string */
-       16,                     /* field[16] = silent */
-       17,                     /* field[17] = skip_setsid */
-       10,                     /* field[10] = time_limit */
-       40,                     /* field[40] = uidmap */
+  8,   /* field[8] = bindhost */
+  46,   /* field[46] = cgroup_mem_max */
+  47,   /* field[47] = cgroup_mem_mount */
+  48,   /* field[48] = cgroup_mem_parent */
+  49,   /* field[49] = cgroup_pids_max */
+  50,   /* field[50] = cgroup_pids_mount */
+  51,   /* field[51] = cgroup_pids_parent */
+  3,   /* field[3] = chroot_dir */
+  39,   /* field[39] = clone_newcgroup */
+  37,   /* field[37] = clone_newipc */
+  33,   /* field[33] = clone_newnet */
+  35,   /* field[35] = clone_newns */
+  36,   /* field[36] = clone_newpid */
+  34,   /* field[34] = clone_newuser */
+  38,   /* field[38] = clone_newuts */
+  6,   /* field[6] = cwd */
+  11,   /* field[11] = daemon */
+  1,   /* field[1] = description */
+  20,   /* field[20] = disable_no_new_privs */
+  15,   /* field[15] = envar */
+  57,   /* field[57] = exec_bin */
+  41,   /* field[41] = gidmap */
+  5,   /* field[5] = hostname */
+  52,   /* field[52] = iface_no_lo */
+  4,   /* field[4] = is_root_rw */
+  14,   /* field[14] = keep_env */
+  12,   /* field[12] = log_file */
+  13,   /* field[13] = log_level */
+  53,   /* field[53] = macvlan_iface */
+  56,   /* field[56] = macvlan_vs_gw */
+  54,   /* field[54] = macvlan_vs_ip */
+  55,   /* field[55] = macvlan_vs_nm */
+  9,   /* field[9] = max_conns_per_ip */
+  2,   /* field[2] = mode */
+  43,   /* field[43] = mount */
+  42,   /* field[42] = mount_proc */
+  0,   /* field[0] = name */
+  18,   /* field[18] = pass_fd */
+  28,   /* field[28] = persona_addr_compat_layout */
+  31,   /* field[31] = persona_addr_limit_3gb */
+  32,   /* field[32] = persona_addr_no_randomize */
+  29,   /* field[29] = persona_mmap_page_zero */
+  30,   /* field[30] = persona_read_implies_exec */
+  19,   /* field[19] = pivot_root_only */
+  7,   /* field[7] = port */
+  21,   /* field[21] = rlimit_as */
+  22,   /* field[22] = rlimit_core */
+  23,   /* field[23] = rlimit_cpu */
+  24,   /* field[24] = rlimit_fsize */
+  25,   /* field[25] = rlimit_nofile */
+  26,   /* field[26] = rlimit_nproc */
+  27,   /* field[27] = rlimit_stack */
+  44,   /* field[44] = seccomp_policy_file */
+  45,   /* field[45] = seccomp_string */
+  16,   /* field[16] = silent */
+  17,   /* field[17] = skip_setsid */
+  10,   /* field[10] = time_limit */
+  40,   /* field[40] = uidmap */
 };
-
-static const ProtobufCIntRange nsjail__ns_jail_config__number_ranges[2 + 1] = {
-       {1, 0},
-       {8, 5},
-       {0, 58}
+static const ProtobufCIntRange nsjail__ns_jail_config__number_ranges[2 + 1] =
+{
+  { 1, 0 },
+  { 8, 5 },
+  { 0, 58 }
 };
-
-const ProtobufCMessageDescriptor nsjail__ns_jail_config__descriptor = {
-       PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
-       "nsjail.NsJailConfig",
-       "NsJailConfig",
-       "Nsjail__NsJailConfig",
-       "nsjail",
-       sizeof(Nsjail__NsJailConfig),
-       58,
-       nsjail__ns_jail_config__field_descriptors,
-       nsjail__ns_jail_config__field_indices_by_name,
-       2, nsjail__ns_jail_config__number_ranges,
-       (ProtobufCMessageInit) nsjail__ns_jail_config__init,
-       NULL, NULL, NULL        /* reserved[123] */
+const ProtobufCMessageDescriptor nsjail__ns_jail_config__descriptor =
+{
+  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+  "nsjail.NsJailConfig",
+  "NsJailConfig",
+  "Nsjail__NsJailConfig",
+  "nsjail",
+  sizeof(Nsjail__NsJailConfig),
+  58,
+  nsjail__ns_jail_config__field_descriptors,
+  nsjail__ns_jail_config__field_indices_by_name,
+  2,  nsjail__ns_jail_config__number_ranges,
+  (ProtobufCMessageInit) nsjail__ns_jail_config__init,
+  NULL,NULL,NULL    /* reserved[123] */
 };
-
-static const ProtobufCEnumValue nsjail__mode__enum_values_by_number[4] = {
-       {"LISTEN", "NSJAIL__MODE__LISTEN", 0},
-       {"ONCE", "NSJAIL__MODE__ONCE", 1},
-       {"RERUN", "NSJAIL__MODE__RERUN", 2},
-       {"EXECVE", "NSJAIL__MODE__EXECVE", 3},
+static const ProtobufCEnumValue nsjail__mode__enum_values_by_number[4] =
+{
+  { "LISTEN", "NSJAIL__MODE__LISTEN", 0 },
+  { "ONCE", "NSJAIL__MODE__ONCE", 1 },
+  { "RERUN", "NSJAIL__MODE__RERUN", 2 },
+  { "EXECVE", "NSJAIL__MODE__EXECVE", 3 },
 };
-
 static const ProtobufCIntRange nsjail__mode__value_ranges[] = {
-       {0, 0}, {0, 4}
+{0, 0},{0, 4}
 };
-
-static const ProtobufCEnumValueIndex nsjail__mode__enum_values_by_name[4] = {
-       {"EXECVE", 3},
-       {"LISTEN", 0},
-       {"ONCE", 1},
-       {"RERUN", 2},
+static const ProtobufCEnumValueIndex nsjail__mode__enum_values_by_name[4] =
+{
+  { "EXECVE", 3 },
+  { "LISTEN", 0 },
+  { "ONCE", 1 },
+  { "RERUN", 2 },
 };
-
-const ProtobufCEnumDescriptor nsjail__mode__descriptor = {
-       PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
-       "nsjail.Mode",
-       "Mode",
-       "Nsjail__Mode",
-       "nsjail",
-       4,
-       nsjail__mode__enum_values_by_number,
-       4,
-       nsjail__mode__enum_values_by_name,
-       1,
-       nsjail__mode__value_ranges,
-       NULL, NULL, NULL, NULL  /* reserved[1234] */
+const ProtobufCEnumDescriptor nsjail__mode__descriptor =
+{
+  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+  "nsjail.Mode",
+  "Mode",
+  "Nsjail__Mode",
+  "nsjail",
+  4,
+  nsjail__mode__enum_values_by_number,
+  4,
+  nsjail__mode__enum_values_by_name,
+  1,
+  nsjail__mode__value_ranges,
+  NULL,NULL,NULL,NULL   /* reserved[1234] */
 };
-
-static const ProtobufCEnumValue nsjail__log_level__enum_values_by_number[5] = {
-       {"DEBUG", "NSJAIL__LOG_LEVEL__DEBUG", 0},
-       {"INFO", "NSJAIL__LOG_LEVEL__INFO", 1},
-       {"WARNING", "NSJAIL__LOG_LEVEL__WARNING", 2},
-       {"ERROR", "NSJAIL__LOG_LEVEL__ERROR", 3},
-       {"FATAL", "NSJAIL__LOG_LEVEL__FATAL", 4},
+static const ProtobufCEnumValue nsjail__log_level__enum_values_by_number[5] =
+{
+  { "DEBUG", "NSJAIL__LOG_LEVEL__DEBUG", 0 },
+  { "INFO", "NSJAIL__LOG_LEVEL__INFO", 1 },
+  { "WARNING", "NSJAIL__LOG_LEVEL__WARNING", 2 },
+  { "ERROR", "NSJAIL__LOG_LEVEL__ERROR", 3 },
+  { "FATAL", "NSJAIL__LOG_LEVEL__FATAL", 4 },
 };
-
 static const ProtobufCIntRange nsjail__log_level__value_ranges[] = {
-       {0, 0}, {0, 5}
+{0, 0},{0, 5}
 };
-
-static const ProtobufCEnumValueIndex nsjail__log_level__enum_values_by_name[5] = {
-       {"DEBUG", 0},
-       {"ERROR", 3},
-       {"FATAL", 4},
-       {"INFO", 1},
-       {"WARNING", 2},
+static const ProtobufCEnumValueIndex nsjail__log_level__enum_values_by_name[5] =
+{
+  { "DEBUG", 0 },
+  { "ERROR", 3 },
+  { "FATAL", 4 },
+  { "INFO", 1 },
+  { "WARNING", 2 },
 };
-
-const ProtobufCEnumDescriptor nsjail__log_level__descriptor = {
-       PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
-       "nsjail.LogLevel",
-       "LogLevel",
-       "Nsjail__LogLevel",
-       "nsjail",
-       5,
-       nsjail__log_level__enum_values_by_number,
-       5,
-       nsjail__log_level__enum_values_by_name,
-       1,
-       nsjail__log_level__value_ranges,
-       NULL, NULL, NULL, NULL  /* reserved[1234] */
+const ProtobufCEnumDescriptor nsjail__log_level__descriptor =
+{
+  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+  "nsjail.LogLevel",
+  "LogLevel",
+  "Nsjail__LogLevel",
+  "nsjail",
+  5,
+  nsjail__log_level__enum_values_by_number,
+  5,
+  nsjail__log_level__enum_values_by_name,
+  1,
+  nsjail__log_level__value_ranges,
+  NULL,NULL,NULL,NULL   /* reserved[1234] */
 };
index 808e283b4a51f7b9d06718fb8fd11fb83a71827d..1bd5b849ec29d87848b73715f27629bb502e691a 100644 (file)
@@ -7,73 +7,80 @@
 #include <protobuf-c/protobuf-c.h>
 
 PROTOBUF_C__BEGIN_DECLS
+
 #if PROTOBUF_C_VERSION_NUMBER < 1000000
-#error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
 #elif 1002001 < PROTOBUF_C_MIN_COMPILER_VERSION
-#error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
 #endif
+
+
 typedef struct _Nsjail__IdMap Nsjail__IdMap;
 typedef struct _Nsjail__MountPt Nsjail__MountPt;
 typedef struct _Nsjail__Exe Nsjail__Exe;
 typedef struct _Nsjail__NsJailConfig Nsjail__NsJailConfig;
 
+
 /* --- enums --- */
 
 typedef enum _Nsjail__Mode {
-       /*
-        * Listening on a TCP port 
-        */
-       NSJAIL__MODE__LISTEN = 0,
-       /*
-        * Running the command once only 
-        */
-       NSJAIL__MODE__ONCE = 1,
-       /*
-        * Re-executing the command (forever) 
-        */
-       NSJAIL__MODE__RERUN = 2,
-       /*
-        * Executing command w/o the supervisor 
-        */
-       NSJAIL__MODE__EXECVE = 3 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(NSJAIL__MODE)
+  /*
+   * Listening on a TCP port 
+   */
+  NSJAIL__MODE__LISTEN = 0,
+  /*
+   * Running the command once only 
+   */
+  NSJAIL__MODE__ONCE = 1,
+  /*
+   * Re-executing the command (forever) 
+   */
+  NSJAIL__MODE__RERUN = 2,
+  /*
+   * Executing command w/o the supervisor 
+   */
+  NSJAIL__MODE__EXECVE = 3
+    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(NSJAIL__MODE)
 } Nsjail__Mode;
 /*
  * Should be self explanatory 
  */
 typedef enum _Nsjail__LogLevel {
-       /*
-        * Equivalent to the '-v' cmd-line option 
-        */
-       NSJAIL__LOG_LEVEL__DEBUG = 0,
-       /*
-        * Default level 
-        */
-       NSJAIL__LOG_LEVEL__INFO = 1,
-       /*
-        * Equivalent to the '-q' cmd-line option 
-        */
-       NSJAIL__LOG_LEVEL__WARNING = 2,
-       NSJAIL__LOG_LEVEL__ERROR = 3,
-       NSJAIL__LOG_LEVEL__FATAL = 4 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(NSJAIL__LOG_LEVEL)
+  /*
+   * Equivalent to the '-v' cmd-line option 
+   */
+  NSJAIL__LOG_LEVEL__DEBUG = 0,
+  /*
+   * Default level 
+   */
+  NSJAIL__LOG_LEVEL__INFO = 1,
+  /*
+   * Equivalent to the '-q' cmd-line option 
+   */
+  NSJAIL__LOG_LEVEL__WARNING = 2,
+  NSJAIL__LOG_LEVEL__ERROR = 3,
+  NSJAIL__LOG_LEVEL__FATAL = 4
+    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(NSJAIL__LOG_LEVEL)
 } Nsjail__LogLevel;
 
 /* --- messages --- */
 
-struct _Nsjail__IdMap {
-       ProtobufCMessage base;
-       /*
-        * Empty string means "current uid/gid" 
-        */
-       char *inside_id;
-       char *outside_id;
-       /*
-        * See 'man user_namespaces' for the meaning of count 
-        */
-       uint32_t count;
-       /*
-        * Does this map use /usr/bin/new[u|g]idmap binary? 
-        */
-       protobuf_c_boolean use_newidmap;
+struct  _Nsjail__IdMap
+{
+  ProtobufCMessage base;
+  /*
+   * Empty string means "current uid/gid" 
+   */
+  char *inside_id;
+  char *outside_id;
+  /*
+   * See 'man user_namespaces' for the meaning of count 
+   */
+  uint32_t count;
+  /*
+   * Does this map use /usr/bin/new[u|g]idmap binary? 
+   */
+  protobuf_c_boolean use_newidmap;
 };
 extern char nsjail__id_map__inside_id__default_value[];
 extern char nsjail__id_map__outside_id__default_value[];
@@ -81,50 +88,52 @@ extern char nsjail__id_map__outside_id__default_value[];
  { PROTOBUF_C_MESSAGE_INIT (&nsjail__id_map__descriptor) \
     , nsjail__id_map__inside_id__default_value, nsjail__id_map__outside_id__default_value, 1u, 0 }
 
-struct _Nsjail__MountPt {
-       ProtobufCMessage base;
-       /*
-        * Can be skipped for filesystems like 'proc' 
-        */
-       char *src;
-       /*
-        * Should 'src' path be prefixed with this envvar? 
-        */
-       char *prefix_src_env;
-       /*
-        * Mount point inside jail 
-        */
-       char *dst;
-       /*
-        * Should 'dst' path be prefixed with this envvar? 
-        */
-       char *prefix_dst_env;
-       /*
-        * Can be empty for mount --bind mounts 
-        */
-       char *fstype;
-       /*
-        * E.g. size=5000000 for 'tmpfs' 
-        */
-       char *options;
-       /*
-        * Is it 'mount --bind src dst' type of mount 
-        */
-       protobuf_c_boolean is_bind;
-       /*
-        * It it RO mount 
-        */
-       protobuf_c_boolean is_ro;
-       /*
-        * Is it directory? If not specified an internal
-        *heuristics will be used to determine that 
-        */
-       protobuf_c_boolean has_is_dir;
-       protobuf_c_boolean is_dir;
-       /*
-        * Should the sandboxing fail if we cannot mount this resource? 
-        */
-       protobuf_c_boolean mandatory;
+
+struct  _Nsjail__MountPt
+{
+  ProtobufCMessage base;
+  /*
+   * Can be skipped for filesystems like 'proc' 
+   */
+  char *src;
+  /*
+   * Should 'src' path be prefixed with this envvar? 
+   */
+  char *prefix_src_env;
+  /*
+   * Mount point inside jail 
+   */
+  char *dst;
+  /*
+   * Should 'dst' path be prefixed with this envvar? 
+   */
+  char *prefix_dst_env;
+  /*
+   * Can be empty for mount --bind mounts 
+   */
+  char *fstype;
+  /*
+   * E.g. size=5000000 for 'tmpfs' 
+   */
+  char *options;
+  /*
+   * Is it 'mount --bind src dst' type of mount 
+   */
+  protobuf_c_boolean is_bind;
+  /*
+   * It it R/W mount 
+   */
+  protobuf_c_boolean rw;
+  /*
+   * Is it directory? If not specified an internal
+   *heuristics will be used to determine that 
+   */
+  protobuf_c_boolean has_is_dir;
+  protobuf_c_boolean is_dir;
+  /*
+   * Should the sandboxing fail if we cannot mount this resource? 
+   */
+  protobuf_c_boolean mandatory;
 };
 extern char nsjail__mount_pt__fstype__default_value[];
 extern char nsjail__mount_pt__options__default_value[];
@@ -132,234 +141,238 @@ extern char nsjail__mount_pt__options__default_value[];
  { PROTOBUF_C_MESSAGE_INIT (&nsjail__mount_pt__descriptor) \
     , NULL, NULL, NULL, NULL, nsjail__mount_pt__fstype__default_value, nsjail__mount_pt__options__default_value, 0, 0, 0,0, 1 }
 
-struct _Nsjail__Exe {
-       ProtobufCMessage base;
-       /*
-        * Will be used both as execv's path and as argv[0] 
-        */
-       char *path;
-       /*
-        * This will be argv[1] and so on.. 
-        */
-       size_t n_arg;
-       char **arg;
+
+struct  _Nsjail__Exe
+{
+  ProtobufCMessage base;
+  /*
+   * Will be used both as execv's path and as argv[0] 
+   */
+  char *path;
+  /*
+   * This will be argv[1] and so on.. 
+   */
+  size_t n_arg;
+  char **arg;
 };
 #define NSJAIL__EXE__INIT \
  { PROTOBUF_C_MESSAGE_INIT (&nsjail__exe__descriptor) \
     , NULL, 0,NULL }
 
-struct _Nsjail__NsJailConfig {
-       ProtobufCMessage base;
-       /*
-        * Optional name and description for this config 
-        */
-       char *name;
-       char *description;
-       /*
-        * Execution mode: see 'msg Mode' description for more 
-        */
-       Nsjail__Mode mode;
-       /*
-        * Equivalent to a bind mount with dst='/' 
-        */
-       char *chroot_dir;
-       /*
-        * Applies both to the chroot_dir and to /proc mounts 
-        */
-       protobuf_c_boolean is_root_rw;
-       /*
-        * Hostname inside jail 
-        */
-       char *hostname;
-       /*
-        * Initial current working directory for the binary 
-        */
-       char *cwd;
-       /*
-        * TCP port to listen to. Valid with mode=LISTEN only 
-        */
-       uint32_t port;
-       /*
-        * Host to bind to for mode=LISTEN. Must be in IPv6 format 
-        */
-       char *bindhost;
-       /*
-        * For mode=LISTEN, maximum number of connections from a single IP 
-        */
-       uint32_t max_conns_per_ip;
-       /*
-        * Wall-time time limit for commands 
-        */
-       uint32_t time_limit;
-       /*
-        * Should nsjail go into background? 
-        */
-       protobuf_c_boolean daemon;
-       /*
-        * File to save lofs to 
-        */
-       char *log_file;
-       /*
-        * Minimum log level displayed.
-        *See 'msg LogLevel' description for more 
-        */
-       protobuf_c_boolean has_log_level;
-       Nsjail__LogLevel log_level;
-       /*
-        * Should the current environment variables be kept
-        *when executing the binary 
-        */
-       protobuf_c_boolean keep_env;
-       /*
-        * EnvVars to be set before executing binaries 
-        */
-       size_t n_envar;
-       char **envar;
-       /*
-        * Should nsjail close FD=0,1,2 before executing the process 
-        */
-       protobuf_c_boolean silent;
-       /*
-        * Should the child process have control over terminal?
-        *Can be useful to allow /bin/sh to provide
-        *job control / signals 
-        */
-       protobuf_c_boolean skip_setsid;
-       /*
-        * Which FDs should be passed to the newly executed process
-        *By default only FD=0,1,2 are passed 
-        */
-       size_t n_pass_fd;
-       int32_t *pass_fd;
-       /*
-        * Should pivot_root be used instead of chroot?
-        *Using pivot_root allows to have subnamespaces 
-        */
-       protobuf_c_boolean pivot_root_only;
-       /*
-        * Setting it to true will allow to have set-uid binaries
-        *inside the jail 
-        */
-       protobuf_c_boolean disable_no_new_privs;
-       /*
-        * In MiB 
-        */
-       uint64_t rlimit_as;
-       /*
-        * In MiB 
-        */
-       uint64_t rlimit_core;
-       /*
-        * In seconds 
-        */
-       uint64_t rlimit_cpu;
-       /*
-        * In MiB 
-        */
-       uint64_t rlimit_fsize;
-       uint64_t rlimit_nofile;
-       /*
-        * This is system-wide: tricky to use 
-        */
-       protobuf_c_boolean has_rlimit_nproc;
-       uint64_t rlimit_nproc;
-       /*
-        * In MiB 
-        */
-       protobuf_c_boolean has_rlimit_stack;
-       uint64_t rlimit_stack;
-       /*
-        * See 'man personality' for more 
-        */
-       protobuf_c_boolean persona_addr_compat_layout;
-       protobuf_c_boolean persona_mmap_page_zero;
-       protobuf_c_boolean persona_read_implies_exec;
-       protobuf_c_boolean persona_addr_limit_3gb;
-       protobuf_c_boolean persona_addr_no_randomize;
-       /*
-        * Which name-spaces should be used? 
-        */
-       protobuf_c_boolean clone_newnet;
-       protobuf_c_boolean clone_newuser;
-       protobuf_c_boolean clone_newns;
-       protobuf_c_boolean clone_newpid;
-       protobuf_c_boolean clone_newipc;
-       protobuf_c_boolean clone_newuts;
-       /*
-        * It's only supported in newer kernels, hence disabled by default 
-        */
-       protobuf_c_boolean clone_newcgroup;
-       /*
-        * Mappings for UIDs and GIDs. See the description for 'msg IdMap'
-        *for more 
-        */
-       size_t n_uidmap;
-       Nsjail__IdMap **uidmap;
-       size_t n_gidmap;
-       Nsjail__IdMap **gidmap;
-       /*
-        * Should /proc be mounted (R/O)? This can also be added in the 'mount'
-        *section below 
-        */
-       protobuf_c_boolean mount_proc;
-       /*
-        * Mount points inside the jail. See the description for 'msg MountPt'
-        *for more 
-        */
-       size_t n_mount;
-       Nsjail__MountPt **mount;
-       /*
-        * Kafel seccomp-bpf policy file or a string:
-        *Homepage of the project: https://github.com/google/kafel 
-        */
-       char *seccomp_policy_file;
-       char *seccomp_string;
-       /*
-        * If > 0, maximum cumulative size of RAM used inside any jail 
-        */
-       /*
-        * In MiB 
-        */
-       uint64_t cgroup_mem_max;
-       /*
-        * Mount point for cgroups-memory in your system 
-        */
-       char *cgroup_mem_mount;
-       /*
-        * Writeable directory (for the nsjail user) under cgroup_mem_mount 
-        */
-       char *cgroup_mem_parent;
-       /*
-        * If > 0, maximum number of PIDs (threads/processes) inside jail 
-        */
-       uint64_t cgroup_pids_max;
-       /*
-        * Mount point for cgroups-pids in your system 
-        */
-       char *cgroup_pids_mount;
-       /*
-        * Writeable directory (for the nsjail user) under cgroup_pids_mount 
-        */
-       char *cgroup_pids_parent;
-       /*
-        * Should the 'lo' interface be brought up (active) inside this jail? 
-        */
-       protobuf_c_boolean iface_no_lo;
-       /*
-        * Parameters for the cloned MACVLAN interface inside jail 
-        */
-       /*
-        * Interface to be cloned, eg 'eth0' 
-        */
-       char *macvlan_iface;
-       char *macvlan_vs_ip;
-       char *macvlan_vs_nm;
-       char *macvlan_vs_gw;
-       /*
-        * Binary path (with arguments) to be executed. If not specified here, it
-        *can be specified with cmd-line as "-- /path/to/command arg1 arg2" 
-        */
-       Nsjail__Exe *exec_bin;
+
+struct  _Nsjail__NsJailConfig
+{
+  ProtobufCMessage base;
+  /*
+   * Optional name and description for this config 
+   */
+  char *name;
+  char *description;
+  /*
+   * Execution mode: see 'msg Mode' description for more 
+   */
+  Nsjail__Mode mode;
+  /*
+   * Equivalent to a bind mount with dst='/' 
+   */
+  char *chroot_dir;
+  /*
+   * Applies both to the chroot_dir and to /proc mounts 
+   */
+  protobuf_c_boolean is_root_rw;
+  /*
+   * Hostname inside jail 
+   */
+  char *hostname;
+  /*
+   * Initial current working directory for the binary 
+   */
+  char *cwd;
+  /*
+   * TCP port to listen to. Valid with mode=LISTEN only 
+   */
+  uint32_t port;
+  /*
+   * Host to bind to for mode=LISTEN. Must be in IPv6 format 
+   */
+  char *bindhost;
+  /*
+   * For mode=LISTEN, maximum number of connections from a single IP 
+   */
+  uint32_t max_conns_per_ip;
+  /*
+   * Wall-time time limit for commands 
+   */
+  uint32_t time_limit;
+  /*
+   * Should nsjail go into background? 
+   */
+  protobuf_c_boolean daemon;
+  /*
+   * File to save lofs to 
+   */
+  char *log_file;
+  /*
+   * Minimum log level displayed.
+   *See 'msg LogLevel' description for more 
+   */
+  protobuf_c_boolean has_log_level;
+  Nsjail__LogLevel log_level;
+  /*
+   * Should the current environment variables be kept
+   *when executing the binary 
+   */
+  protobuf_c_boolean keep_env;
+  /*
+   * EnvVars to be set before executing binaries 
+   */
+  size_t n_envar;
+  char **envar;
+  /*
+   * Should nsjail close FD=0,1,2 before executing the process 
+   */
+  protobuf_c_boolean silent;
+  /*
+   * Should the child process have control over terminal?
+   *Can be useful to allow /bin/sh to provide
+   *job control / signals 
+   */
+  protobuf_c_boolean skip_setsid;
+  /*
+   * Which FDs should be passed to the newly executed process
+   *By default only FD=0,1,2 are passed 
+   */
+  size_t n_pass_fd;
+  int32_t *pass_fd;
+  /*
+   * Should pivot_root be used instead of chroot?
+   *Using pivot_root allows to have subnamespaces 
+   */
+  protobuf_c_boolean pivot_root_only;
+  /*
+   * Setting it to true will allow to have set-uid binaries
+   *inside the jail 
+   */
+  protobuf_c_boolean disable_no_new_privs;
+  /*
+   * In MiB 
+   */
+  uint64_t rlimit_as;
+  /*
+   * In MiB 
+   */
+  uint64_t rlimit_core;
+  /*
+   * In seconds 
+   */
+  uint64_t rlimit_cpu;
+  /*
+   * In MiB 
+   */
+  uint64_t rlimit_fsize;
+  uint64_t rlimit_nofile;
+  /*
+   * This is system-wide: tricky to use 
+   */
+  protobuf_c_boolean has_rlimit_nproc;
+  uint64_t rlimit_nproc;
+  /*
+   * In MiB 
+   */
+  protobuf_c_boolean has_rlimit_stack;
+  uint64_t rlimit_stack;
+  /*
+   * See 'man personality' for more 
+   */
+  protobuf_c_boolean persona_addr_compat_layout;
+  protobuf_c_boolean persona_mmap_page_zero;
+  protobuf_c_boolean persona_read_implies_exec;
+  protobuf_c_boolean persona_addr_limit_3gb;
+  protobuf_c_boolean persona_addr_no_randomize;
+  /*
+   * Which name-spaces should be used? 
+   */
+  protobuf_c_boolean clone_newnet;
+  protobuf_c_boolean clone_newuser;
+  protobuf_c_boolean clone_newns;
+  protobuf_c_boolean clone_newpid;
+  protobuf_c_boolean clone_newipc;
+  protobuf_c_boolean clone_newuts;
+  /*
+   * It's only supported in newer kernels, hence disabled by default 
+   */
+  protobuf_c_boolean clone_newcgroup;
+  /*
+   * Mappings for UIDs and GIDs. See the description for 'msg IdMap'
+   *for more 
+   */
+  size_t n_uidmap;
+  Nsjail__IdMap **uidmap;
+  size_t n_gidmap;
+  Nsjail__IdMap **gidmap;
+  /*
+   * Should /proc be mounted (R/O)? This can also be added in the 'mount'
+   *section below 
+   */
+  protobuf_c_boolean mount_proc;
+  /*
+   * Mount points inside the jail. See the description for 'msg MountPt'
+   *for more 
+   */
+  size_t n_mount;
+  Nsjail__MountPt **mount;
+  /*
+   * Kafel seccomp-bpf policy file or a string:
+   *Homepage of the project: https://github.com/google/kafel 
+   */
+  char *seccomp_policy_file;
+  char *seccomp_string;
+  /*
+   * If > 0, maximum cumulative size of RAM used inside any jail 
+   */
+  /*
+   * In MiB 
+   */
+  uint64_t cgroup_mem_max;
+  /*
+   * Mount point for cgroups-memory in your system 
+   */
+  char *cgroup_mem_mount;
+  /*
+   * Writeable directory (for the nsjail user) under cgroup_mem_mount 
+   */
+  char *cgroup_mem_parent;
+  /*
+   * If > 0, maximum number of PIDs (threads/processes) inside jail 
+   */
+  uint64_t cgroup_pids_max;
+  /*
+   * Mount point for cgroups-pids in your system 
+   */
+  char *cgroup_pids_mount;
+  /*
+   * Writeable directory (for the nsjail user) under cgroup_pids_mount 
+   */
+  char *cgroup_pids_parent;
+  /*
+   * Should the 'lo' interface be brought up (active) inside this jail? 
+   */
+  protobuf_c_boolean iface_no_lo;
+  /*
+   * Parameters for the cloned MACVLAN interface inside jail 
+   */
+  /*
+   * Interface to be cloned, eg 'eth0' 
+   */
+  char *macvlan_iface;
+  char *macvlan_vs_ip;
+  char *macvlan_vs_nm;
+  char *macvlan_vs_gw;
+  /*
+   * Binary path (with arguments) to be executed. If not specified here, it
+   *can be specified with cmd-line as "-- /path/to/command arg1 arg2" 
+   */
+  Nsjail__Exe *exec_bin;
 };
 extern char nsjail__ns_jail_config__name__default_value[];
 extern char nsjail__ns_jail_config__description__default_value[];
@@ -377,60 +390,111 @@ extern char nsjail__ns_jail_config__macvlan_vs_gw__default_value[];
  { PROTOBUF_C_MESSAGE_INIT (&nsjail__ns_jail_config__descriptor) \
     , nsjail__ns_jail_config__name__default_value, nsjail__ns_jail_config__description__default_value, NSJAIL__MODE__ONCE, NULL, 0, nsjail__ns_jail_config__hostname__default_value, nsjail__ns_jail_config__cwd__default_value, 0u, nsjail__ns_jail_config__bindhost__default_value, 0u, 600u, 0, NULL, 0,0, 0, 0,NULL, 0, 0, 0,NULL, 0, 0, 512ull, 0ull, 600ull, 1ull, 32ull, 0,0, 0,0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,NULL, 0,NULL, 0, 0,NULL, NULL, NULL, 0ull, nsjail__ns_jail_config__cgroup_mem_mount__default_value, nsjail__ns_jail_config__cgroup_mem_parent__default_value, 0ull, nsjail__ns_jail_config__cgroup_pids_mount__default_value, nsjail__ns_jail_config__cgroup_pids_parent__default_value, 0, NULL, nsjail__ns_jail_config__macvlan_vs_ip__default_value, nsjail__ns_jail_config__macvlan_vs_nm__default_value, nsjail__ns_jail_config__macvlan_vs_gw__default_value, NULL }
 
+
 /* Nsjail__IdMap methods */
-void nsjail__id_map__init(Nsjail__IdMap * message);
-size_t nsjail__id_map__get_packed_size(const Nsjail__IdMap * message);
-size_t nsjail__id_map__pack(const Nsjail__IdMap * message, uint8_t * out);
-size_t nsjail__id_map__pack_to_buffer(const Nsjail__IdMap * message, ProtobufCBuffer * buffer);
-Nsjail__IdMap *nsjail__id_map__unpack
-    (ProtobufCAllocator * allocator, size_t len, const uint8_t * data);
-void nsjail__id_map__free_unpacked(Nsjail__IdMap * message, ProtobufCAllocator * allocator);
+void   nsjail__id_map__init
+                     (Nsjail__IdMap         *message);
+size_t nsjail__id_map__get_packed_size
+                     (const Nsjail__IdMap   *message);
+size_t nsjail__id_map__pack
+                     (const Nsjail__IdMap   *message,
+                      uint8_t             *out);
+size_t nsjail__id_map__pack_to_buffer
+                     (const Nsjail__IdMap   *message,
+                      ProtobufCBuffer     *buffer);
+Nsjail__IdMap *
+       nsjail__id_map__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data);
+void   nsjail__id_map__free_unpacked
+                     (Nsjail__IdMap *message,
+                      ProtobufCAllocator *allocator);
 /* Nsjail__MountPt methods */
-void nsjail__mount_pt__init(Nsjail__MountPt * message);
-size_t nsjail__mount_pt__get_packed_size(const Nsjail__MountPt * message);
-size_t nsjail__mount_pt__pack(const Nsjail__MountPt * message, uint8_t * out);
-size_t nsjail__mount_pt__pack_to_buffer(const Nsjail__MountPt * message, ProtobufCBuffer * buffer);
-Nsjail__MountPt *nsjail__mount_pt__unpack
-    (ProtobufCAllocator * allocator, size_t len, const uint8_t * data);
-void nsjail__mount_pt__free_unpacked(Nsjail__MountPt * message, ProtobufCAllocator * allocator);
+void   nsjail__mount_pt__init
+                     (Nsjail__MountPt         *message);
+size_t nsjail__mount_pt__get_packed_size
+                     (const Nsjail__MountPt   *message);
+size_t nsjail__mount_pt__pack
+                     (const Nsjail__MountPt   *message,
+                      uint8_t             *out);
+size_t nsjail__mount_pt__pack_to_buffer
+                     (const Nsjail__MountPt   *message,
+                      ProtobufCBuffer     *buffer);
+Nsjail__MountPt *
+       nsjail__mount_pt__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data);
+void   nsjail__mount_pt__free_unpacked
+                     (Nsjail__MountPt *message,
+                      ProtobufCAllocator *allocator);
 /* Nsjail__Exe methods */
-void nsjail__exe__init(Nsjail__Exe * message);
-size_t nsjail__exe__get_packed_size(const Nsjail__Exe * message);
-size_t nsjail__exe__pack(const Nsjail__Exe * message, uint8_t * out);
-size_t nsjail__exe__pack_to_buffer(const Nsjail__Exe * message, ProtobufCBuffer * buffer);
-Nsjail__Exe *nsjail__exe__unpack(ProtobufCAllocator * allocator, size_t len, const uint8_t * data);
-void nsjail__exe__free_unpacked(Nsjail__Exe * message, ProtobufCAllocator * allocator);
+void   nsjail__exe__init
+                     (Nsjail__Exe         *message);
+size_t nsjail__exe__get_packed_size
+                     (const Nsjail__Exe   *message);
+size_t nsjail__exe__pack
+                     (const Nsjail__Exe   *message,
+                      uint8_t             *out);
+size_t nsjail__exe__pack_to_buffer
+                     (const Nsjail__Exe   *message,
+                      ProtobufCBuffer     *buffer);
+Nsjail__Exe *
+       nsjail__exe__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data);
+void   nsjail__exe__free_unpacked
+                     (Nsjail__Exe *message,
+                      ProtobufCAllocator *allocator);
 /* Nsjail__NsJailConfig methods */
-void nsjail__ns_jail_config__init(Nsjail__NsJailConfig * message);
-size_t nsjail__ns_jail_config__get_packed_size(const Nsjail__NsJailConfig * message);
-size_t nsjail__ns_jail_config__pack(const Nsjail__NsJailConfig * message, uint8_t * out);
+void   nsjail__ns_jail_config__init
+                     (Nsjail__NsJailConfig         *message);
+size_t nsjail__ns_jail_config__get_packed_size
+                     (const Nsjail__NsJailConfig   *message);
+size_t nsjail__ns_jail_config__pack
+                     (const Nsjail__NsJailConfig   *message,
+                      uint8_t             *out);
 size_t nsjail__ns_jail_config__pack_to_buffer
-    (const Nsjail__NsJailConfig * message, ProtobufCBuffer * buffer);
-Nsjail__NsJailConfig *nsjail__ns_jail_config__unpack
-    (ProtobufCAllocator * allocator, size_t len, const uint8_t * data);
-void nsjail__ns_jail_config__free_unpacked
-    (Nsjail__NsJailConfig * message, ProtobufCAllocator * allocator);
+                     (const Nsjail__NsJailConfig   *message,
+                      ProtobufCBuffer     *buffer);
+Nsjail__NsJailConfig *
+       nsjail__ns_jail_config__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data);
+void   nsjail__ns_jail_config__free_unpacked
+                     (Nsjail__NsJailConfig *message,
+                      ProtobufCAllocator *allocator);
 /* --- per-message closures --- */
 
 typedef void (*Nsjail__IdMap_Closure)
- (const Nsjail__IdMap * message, void *closure_data);
+                 (const Nsjail__IdMap *message,
+                  void *closure_data);
 typedef void (*Nsjail__MountPt_Closure)
- (const Nsjail__MountPt * message, void *closure_data);
+                 (const Nsjail__MountPt *message,
+                  void *closure_data);
 typedef void (*Nsjail__Exe_Closure)
- (const Nsjail__Exe * message, void *closure_data);
+                 (const Nsjail__Exe *message,
+                  void *closure_data);
 typedef void (*Nsjail__NsJailConfig_Closure)
- (const Nsjail__NsJailConfig * message, void *closure_data);
+                 (const Nsjail__NsJailConfig *message,
+                  void *closure_data);
 
 /* --- services --- */
 
+
 /* --- descriptors --- */
 
-extern const ProtobufCEnumDescriptor nsjail__mode__descriptor;
-extern const ProtobufCEnumDescriptor nsjail__log_level__descriptor;
+extern const ProtobufCEnumDescriptor    nsjail__mode__descriptor;
+extern const ProtobufCEnumDescriptor    nsjail__log_level__descriptor;
 extern const ProtobufCMessageDescriptor nsjail__id_map__descriptor;
 extern const ProtobufCMessageDescriptor nsjail__mount_pt__descriptor;
 extern const ProtobufCMessageDescriptor nsjail__exe__descriptor;
 extern const ProtobufCMessageDescriptor nsjail__ns_jail_config__descriptor;
 
 PROTOBUF_C__END_DECLS
-#endif                         /* PROTOBUF_C_config_2eproto__INCLUDED */
+
+
+#endif  /* PROTOBUF_C_config_2eproto__INCLUDED */
index d04abe5417905572e929621a50748b5668358b0d..29e4aa8191cc0a8d5bef235c6394a240ea784223 100644 (file)
@@ -42,8 +42,8 @@ message MountPt
     required string options = 6 [ default = "" ];
     /* Is it 'mount --bind src dst' type of mount */
     required bool is_bind = 7 [ default = false ];
-    /* It it RO mount */
-    required bool is_ro = 8 [ default = false ];
+    /* It it R/W mount */
+    required bool rw = 8 [ default = false ];
     /* Is it directory? If not specified an internal
        heuristics will be used to determine that */
     optional bool is_dir = 9;
index 01e72486440807722d0d484bd101fad5c0aa2afc..1203144cc2acf0d376bd8e6762047e6e92a92c37 100644 (file)
@@ -70,35 +70,35 @@ mount {
        src: "/lib"
        dst: "/lib"
        is_bind: true
-       is_ro: true
+       rw: false
 }
 
 mount {
        src: "/bin"
        dst: "/bin"
        is_bind: true
-       is_ro: true
+       rw: false
 }
 
 mount {
        src: "/sbin"
        dst: "/sbin"
        is_bind: true
-       is_ro: true
+       rw: false
 }
 
 mount {
        src: "/usr"
        dst: "/usr"
        is_bind: true
-       is_ro: true
+       rw: false
 }
 
 mount {
        src: "/lib64"
        dst: "/lib64"
        is_bind: true
-       is_ro: true
+       rw: false
        mandatory: false
 }
 
@@ -106,14 +106,14 @@ mount {
        src: "/lib32"
        dst: "/lib32"
        is_bind: true
-       is_ro: true
+       rw: false
        mandatory: false
 }
 
 mount {
        dst: "/tmp"
        fstype: "tmpfs"
-       is_ro: false
+       rw: true
        is_bind: false
 }
 
@@ -121,21 +121,21 @@ mount {
        dst: "/dev"
        fstype: "tmpfs"
        options: "size=8388608"
-       is_ro: false
+       rw: true
        is_bind: false
 }
 
 mount {
        src: "/dev/null"
        dst: "/dev/null"
-       is_ro: false
+       rw: true
        is_bind: true
 }
 
 mount {
        dst: "/proc"
        fstype: "proc"
-       is_ro: true
+       rw: false
 }
 
 mount {
index 429a20d7713bea9780369de47710d946ebf48e75..709e0ab993898c7fc46e78b90eebcb9a0b3dd1e8 100644 (file)
@@ -83,7 +83,7 @@ mount {
        src: "/dev/urandom"
        dst: "/dev/urandom"
        is_bind: true
-       is_ro: false
+       rw: true
 }
 
 mount {
@@ -103,21 +103,21 @@ mount {
 mount {
        dst: "/tmp"
        fstype: "tmpfs"
-       is_ro: false
+       rw: true
        is_bind: false
 }
 
 mount {
        dst: "/user"
        fstype: "tmpfs"
-       is_ro: false
+       rw: true
 }
 
 mount {
        prefix_src_env: "HOME"
        src: "/Documents"
        dst: "/user/Documents"
-       is_ro: false
+       rw: true
        is_bind: true
        mandatory: false
 }
@@ -127,20 +127,19 @@ mount {
        src: "/.mozilla"
        dst: "/user/.mozilla"
        is_bind: true
-       is_ro: false
+       rw: true
        mandatory: false
 }
 
 mount {
        dst: "/user/.cache"
        fstype: "tmpfs"
-       is_ro: false
+       rw: true
 }
 
 mount {
        src: "/tmp/.X11-unix/X0"
        dst: "/tmp/.X11-unix/X0"
-       is_ro: false
        is_bind: true
 }
 
index 39a5b1d1899f1fbe4c7dbe972f2f2bab64497754..9753c41a65f4146803819f8d5cf52b9358908dc9 100644 (file)
@@ -64,13 +64,13 @@ mount {
 mount {
        dst: "/tmp"
        fstype: "tmpfs"
-       is_ro: false
+       rw: true
 }
 
 mount {
        dst: "/user"
        fstype: "tmpfs"
-       is_ro: false
+       rw: true
 }
 
 mount {
@@ -83,7 +83,6 @@ mount {
 mount {
        src: "/tmp/.X11-unix/X0"
        dst: "/tmp/.X11-unix/X0"
-       is_ro: false
        is_bind: true
 }