mount: canonicalize paths
authorRobert Swiecki <robert@swiecki.net>
Sun, 28 May 2017 01:19:13 +0000 (03:19 +0200)
committerRobert Swiecki <robert@swiecki.net>
Sun, 28 May 2017 01:19:13 +0000 (03:19 +0200)
config.pb-c.c
config.pb-c.h
configs/firefox-with-net.cfg
mount.c

index 2e9cc56970c5c398528ddf357463236d36879624..53e5e9317d33fcadc8405116978dc19f8825f088 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__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 */
-  },
-  {
-    "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 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 */
-  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 */
+       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";
@@ -499,11 +474,14 @@ 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;
@@ -515,849 +493,851 @@ 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 1bd5b849ec29d87848b73715f27629bb502e691a..0c9e2152d62e192b291b60c2fd2c10dd94af2297 100644 (file)
@@ -7,80 +7,73 @@
 #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[];
@@ -88,52 +81,50 @@ 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 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;
+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[];
@@ -141,238 +132,234 @@ 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[];
@@ -390,111 +377,60 @@ 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 829770040a4ea9acc010ecb56e4153acce410569..d269357bb43d8257a2e1cf1f8b99989be282023a 100644 (file)
@@ -42,12 +42,6 @@ mount {
        is_bind: true
 }
 
-mount {
-       src: "/bin"
-       dst: "/bin"
-       is_bind: true
-}
-
 mount {
        src: "/usr/lib"
        dst: "/usr/lib"
@@ -88,14 +82,7 @@ mount {
 }
 
 mount {
-       src: "/run/resolvconf/resolv.conf"
-       dst: "/etc/resolv.conf"
-       is_bind: true
-       mandatory: false
-}
-
-mount {
-       src: "/run/resolv.conf"
+       src: "/etc/resolv.conf"
        dst: "/etc/resolv.conf"
        is_bind: true
        mandatory: false
diff --git a/mount.c b/mount.c
index 3a5663859550f14c962ac6a5fb6dff54c1e19a40..1dbca037190f93f90e20ee49724e588ab62ec70e 100644 (file)
--- a/mount.c
+++ b/mount.c
@@ -369,6 +369,17 @@ bool mountAddMountPt(struct nsjconf_t * nsjconf, const char *src, const char *ds
                p->dst = utilStrDup(dst);
        }
 
+       /* Try to canonicalize/realpath the source path if it's mount --bind */
+       if (p->src && (flags & MS_BIND)) {
+               const char *rp = realpath(p->src, NULL);
+               if (rp) {
+                       free((void *)p->src);
+                       p->src = rp;
+               } else {
+                       PLOG_W("realpath('%s') failed", p->src);
+               }
+       }
+
        p->fs_type = utilStrDup(fstype);
        p->options = utilStrDup(options);
        p->flags = flags;