|author||Stéphane Lesimple <email@example.com>||Fri Feb 14 20:33:34 2020 +0100|
|committer||Treehugger Robot <firstname.lastname@example.org>||Fri Mar 13 18:19:51 2020 +0000|
fix lookup_group/lookup_user for ERANGE cases lookup_group uses getgrnam_r to lookup a group's gid, and lookup_user uses getpwnam_r to lookup a user's uid. Those 2 functions can return ERANGE if the passed buffer is too small to hold the group (or user) information. Fix the code logic by using sysconf(_SC_GETGR_R_SIZE_MAX) and sysconf(_SC_GETPW_R_SIZE_MAX) only as hints for the minimal buffer size to use instead of the max size. When ERANGE is returned, retry with a buffer twice as big, until we get valid data, up to 1 MiB. Change-Id: Id91232e0faffa47356d80d487442d73bc907af98
The Minijail homepage and main repo is https://android.googlesource.com/platform/external/minijail/.
There might be other copies floating around, but this is the official one!
Minijail is a sandboxing and containment tool used in Chrome OS and Android. It provides an executable that can be used to launch and sandbox other programs, and a library that can be used by code to sandbox itself.
git clone away from happiness.
$ git clone https://android.googlesource.com/platform/external/minijail $ cd minijail
Releases are tagged as
See the HACKING.md document for more details.
See the RELEASE.md document for more details.
See the tools/README.md document for more details.
We've got a couple of contact points.
The following talk serves as a good introduction to Minijail and how it can be used.
The Chromium OS project has a comprehensive sandboxing document that is largely based on Minijail.
After you play with the simple examples below, you should check that out.
# id uid=0(root) gid=0(root) groups=0(root),128(pkcs11) # minijail0 -u jorgelo -g 5000 /usr/bin/id uid=72178(jorgelo) gid=5000(eng) groups=5000(eng)
# minijail0 -u jorgelo -c 3000 -- /bin/cat /proc/self/status Name: cat ... CapInh: 0000000000003000 CapPrm: 0000000000003000 CapEff: 0000000000003000 CapBnd: 0000000000003000