minijail: Support multiple range uid/gid mappings.
Now minijail accept multiple ranges of contiguous uid/gid mappings that
is seperated by commas. The commas are replaced by newlines before
writing to map files.
BUG=chromium:517387
TEST=security_Minijail0 pass
Change-Id: I27d45480010b38e71b80837cc2299f180d77c4a1
Reviewed-on: https://chromium-review.googlesource.com/296270
Commit-Ready: Yu-hsi Chiang <yuhsi@google.com>
Tested-by: Yu-hsi Chiang <yuhsi@google.com>
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
diff --git a/libminijail.c b/libminijail.c
index 0a429c9..5378d84 100644
--- a/libminijail.c
+++ b/libminijail.c
@@ -311,6 +311,11 @@
j->uidmap = strdup(uidmap);
if (!j->uidmap)
return -ENOMEM;
+ char *ch;
+ for (ch = j->uidmap; *ch; ch++) {
+ if (*ch == ',')
+ *ch = '\n';
+ }
return 0;
}
@@ -319,6 +324,11 @@
j->gidmap = strdup(gidmap);
if (!j->gidmap)
return -ENOMEM;
+ char *ch;
+ for (ch = j->gidmap; *ch; ch++) {
+ if (*ch == ',')
+ *ch = '\n';
+ }
return 0;
}