LOG_E("Uknown running mode: %d", njc->mode);
return false;
}
- if (njc->has_chroot_dir) {
- nsjconf->chroot = utilStrDupLen((char *)njc->chroot_dir.data, njc->chroot_dir.len);
+ if (njc->chroot_dir) {
+ nsjconf->chroot = utilStrDup(njc->chroot_dir);
}
- nsjconf->hostname = utilStrDupLen((char *)njc->hostname.data, njc->hostname.len);
- nsjconf->cwd = utilStrDupLen((char *)njc->cwd.data, njc->cwd.len);
- nsjconf->bindhost = utilStrDupLen((char *)njc->bindhost.data, njc->bindhost.len);
+ nsjconf->hostname = utilStrDup(njc->hostname);
+ nsjconf->cwd = utilStrDup(njc->cwd);
+ nsjconf->bindhost = utilStrDup(njc->bindhost);
nsjconf->max_conns_per_ip = njc->max_conns_per_ip;
nsjconf->tlimit = njc->time_limit;
nsjconf->daemonize = njc->daemon;
- if (njc->has_log_file) {
- nsjconf->logfile = utilStrDupLen((char *)njc->log_file.data, njc->log_file.len);
+ if (njc->log_file) {
+ nsjconf->logfile = utilStrDup(njc->log_file);
}
if (njc->has_log_level) {
switch (njc->log_level) {
}
- if (njc->has_log_file || njc->has_log_level) {
+ if (njc->log_file || njc->has_log_level) {
if (logInitLogFile(nsjconf) == false) {
return false;
}
nsjconf->clone_newcgroup = njc->clone_newcgroup;
for (size_t i = 0; i < njc->n_uidmap; i++) {
- const char *i_id =
- utilStrDupLen((char *)njc->uidmap[i]->inside_id.data,
- njc->uidmap[i]->inside_id.len);
- const char *o_id =
- utilStrDupLen((char *)njc->uidmap[i]->outside_id.data,
- njc->uidmap[i]->outside_id.len);
struct idmap_t *p =
- userParseId(i_id, o_id, njc->uidmap[i]->count, false /* is_gid */ );
+ userParseId(njc->uidmap[i]->inside_id, njc->uidmap[i]->outside_id,
+ njc->uidmap[i]->count, false /* is_gid */ );
if (p == NULL) {
return false;
}
TAILQ_INSERT_TAIL(&nsjconf->uids, p, pointers);
}
for (size_t i = 0; i < njc->n_gidmap; i++) {
- const char *i_id =
- utilStrDupLen((char *)njc->gidmap[i]->inside_id.data,
- njc->uidmap[i]->inside_id.len);
- const char *o_id =
- utilStrDupLen((char *)njc->gidmap[i]->outside_id.data,
- njc->uidmap[i]->outside_id.len);
struct idmap_t *p =
- userParseId(i_id, o_id, njc->gidmap[i]->count, true /* is_gid */ );
+ userParseId(njc->gidmap[i]->inside_id, njc->gidmap[i]->outside_id,
+ njc->gidmap[i]->count, true /* is_gid */ );
if (p == NULL) {
return false;
}
TAILQ_INSERT_TAIL(&nsjconf->gids, p, pointers);
}
for (size_t i = 0; i < njc->n_newuidmap; i++) {
- const char *i_id =
- utilStrDupLen((char *)njc->newuidmap[i]->inside_id.data,
- njc->uidmap[i]->inside_id.len);
- const char *o_id =
- utilStrDupLen((char *)njc->newuidmap[i]->outside_id.data,
- njc->uidmap[i]->outside_id.len);
struct idmap_t *p =
- userParseId(i_id, o_id, njc->newuidmap[i]->count, false /* is_gid */ );
+ userParseId(njc->newuidmap[i]->inside_id, njc->newuidmap[i]->outside_id,
+ njc->newuidmap[i]->count, false /* is_gid */ );
if (p == NULL) {
return false;
}
TAILQ_INSERT_TAIL(&nsjconf->newuidmap, p, pointers);
}
-
for (size_t i = 0; i < njc->n_newgidmap; i++) {
- const char *i_id =
- utilStrDupLen((char *)njc->newgidmap[i]->inside_id.data,
- njc->uidmap[i]->inside_id.len);
- const char *o_id =
- utilStrDupLen((char *)njc->newgidmap[i]->outside_id.data,
- njc->uidmap[i]->outside_id.len);
struct idmap_t *p =
- userParseId(i_id, o_id, njc->newgidmap[i]->count, true /* is_gid */ );
+ userParseId(njc->newgidmap[i]->inside_id, njc->newgidmap[i]->outside_id,
+ njc->newgidmap[i]->count, true /* is_gid */ );
if (p == NULL) {
return false;
}
"inside_id",
1,
PROTOBUF_C_LABEL_REQUIRED,
- PROTOBUF_C_TYPE_BYTES,
+ PROTOBUF_C_TYPE_STRING,
0, /* quantifier_offset */
offsetof(Nsjail__IdMap, inside_id),
NULL,
"outside_id",
2,
PROTOBUF_C_LABEL_REQUIRED,
- PROTOBUF_C_TYPE_BYTES,
+ PROTOBUF_C_TYPE_STRING,
0, /* quantifier_offset */
offsetof(Nsjail__IdMap, outside_id),
NULL,
NULL, NULL, NULL /* reserved[123] */
};
-uint8_t nsjail__ns_jail_config__hostname__default_value_data[] = "NSJAIL";
-uint8_t nsjail__ns_jail_config__cwd__default_value_data[] = "/";
-uint8_t nsjail__ns_jail_config__bindhost__default_value_data[] = "::";
+char nsjail__ns_jail_config__hostname__default_value[] = "NSJAIL";
+char nsjail__ns_jail_config__cwd__default_value[] = "/";
+char nsjail__ns_jail_config__bindhost__default_value[] = "::";
static const Nsjail__Mode nsjail__ns_jail_config__mode__default_value = NSJAIL__MODE__ONCE;
static const protobuf_c_boolean nsjail__ns_jail_config__is_root_rw__default_value = 0;
-static const ProtobufCBinaryData nsjail__ns_jail_config__hostname__default_value =
- { 6, nsjail__ns_jail_config__hostname__default_value_data };
-static const ProtobufCBinaryData nsjail__ns_jail_config__cwd__default_value =
- { 1, nsjail__ns_jail_config__cwd__default_value_data };
static const uint32_t nsjail__ns_jail_config__port__default_value = 0u;
-static const ProtobufCBinaryData nsjail__ns_jail_config__bindhost__default_value =
- { 2, nsjail__ns_jail_config__bindhost__default_value_data };
static const uint32_t nsjail__ns_jail_config__max_conns_per_ip__default_value = 0u;
static const uint32_t nsjail__ns_jail_config__time_limit__default_value = 600u;
static const protobuf_c_boolean nsjail__ns_jail_config__daemon__default_value = 0;
"chroot_dir",
2,
PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_BYTES,
- offsetof(Nsjail__NsJailConfig, has_chroot_dir),
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
offsetof(Nsjail__NsJailConfig, chroot_dir),
NULL,
NULL,
"hostname",
6,
PROTOBUF_C_LABEL_REQUIRED,
- PROTOBUF_C_TYPE_BYTES,
+ PROTOBUF_C_TYPE_STRING,
0, /* quantifier_offset */
offsetof(Nsjail__NsJailConfig, hostname),
NULL,
"cwd",
7,
PROTOBUF_C_LABEL_REQUIRED,
- PROTOBUF_C_TYPE_BYTES,
+ PROTOBUF_C_TYPE_STRING,
0, /* quantifier_offset */
offsetof(Nsjail__NsJailConfig, cwd),
NULL,
"bindhost",
9,
PROTOBUF_C_LABEL_REQUIRED,
- PROTOBUF_C_TYPE_BYTES,
+ PROTOBUF_C_TYPE_STRING,
0, /* quantifier_offset */
offsetof(Nsjail__NsJailConfig, bindhost),
NULL,
"log_file",
13,
PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_BYTES,
- offsetof(Nsjail__NsJailConfig, has_log_file),
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
offsetof(Nsjail__NsJailConfig, log_file),
NULL,
NULL,
struct _Nsjail__IdMap {
ProtobufCMessage base;
- ProtobufCBinaryData inside_id;
- ProtobufCBinaryData outside_id;
+ char *inside_id;
+ char *outside_id;
uint32_t count;
};
#define NSJAIL__ID_MAP__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&nsjail__id_map__descriptor) \
- , {0,NULL}, {0,NULL}, 1u }
+ , NULL, NULL, 1u }
struct _Nsjail__NsJailConfig {
ProtobufCMessage base;
Nsjail__Mode mode;
- protobuf_c_boolean has_chroot_dir;
- ProtobufCBinaryData chroot_dir;
+ char *chroot_dir;
protobuf_c_boolean is_root_rw;
- ProtobufCBinaryData hostname;
- ProtobufCBinaryData cwd;
+ char *hostname;
+ char *cwd;
uint32_t port;
- ProtobufCBinaryData bindhost;
+ char *bindhost;
uint32_t max_conns_per_ip;
uint32_t time_limit;
protobuf_c_boolean daemon;
- protobuf_c_boolean has_log_file;
- ProtobufCBinaryData log_file;
+ char *log_file;
protobuf_c_boolean has_log_level;
Nsjail__LogLevel log_level;
protobuf_c_boolean keep_env;
size_t n_newgidmap;
Nsjail__IdMap **newgidmap;
};
-extern uint8_t nsjail__ns_jail_config__hostname__default_value_data[];
-extern uint8_t nsjail__ns_jail_config__cwd__default_value_data[];
-extern uint8_t nsjail__ns_jail_config__bindhost__default_value_data[];
+extern char nsjail__ns_jail_config__hostname__default_value[];
+extern char nsjail__ns_jail_config__cwd__default_value[];
+extern char nsjail__ns_jail_config__bindhost__default_value[];
#define NSJAIL__NS_JAIL_CONFIG__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&nsjail__ns_jail_config__descriptor) \
- , NSJAIL__MODE__ONCE, 0,{0,NULL}, 0, { 6, nsjail__ns_jail_config__hostname__default_value_data }, { 1, nsjail__ns_jail_config__cwd__default_value_data }, 0u, { 2, nsjail__ns_jail_config__bindhost__default_value_data }, 0u, 600u, 0, 0,{0,NULL}, 0,0, 0, 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,NULL, 0,NULL }
+ , 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, 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,NULL, 0,NULL }
/* Nsjail__IdMap methods */
void nsjail__id_map__init(Nsjail__IdMap * message);
}
message IdMap {
- required bytes inside_id = 1;
- required bytes outside_id = 2;
+ required string inside_id = 1;
+ required string outside_id = 2;
required uint32 count = 3 [default = 1];
}
message NsJailConfig {
required Mode mode = 1 [default = ONCE];
- optional bytes chroot_dir = 2;
+ optional string chroot_dir = 2;
required bool is_root_rw = 3 [default = false];
- required bytes hostname = 6 [default = "NSJAIL"];
- required bytes cwd = 7 [default = "/"];
+ required string hostname = 6 [default = "NSJAIL"];
+ required string cwd = 7 [default = "/"];
required uint32 port = 8 [default = 0];
- required bytes bindhost = 9 [default = "::"];
+ required string bindhost = 9 [default = "::"];
required uint32 max_conns_per_ip = 10 [default = 0];
required uint32 time_limit = 11 [default = 600];
required bool daemon = 12 [default = false];
- optional bytes log_file = 13;
+ optional string log_file = 13;
optional LogLevel log_level = 14;
required bool keep_env = 15 [default = false];
required bool silent = 16 [default = false];