These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)
Commit: | 86679ca | |
---|---|---|
Author: | Robert Swiecki |
config.proto: reflow field numbering
The documentation is generated from this commit.
Commit: | 29f0a5b | |
---|---|---|
Author: | Robert Swiecki |
Makefile: indent .proto with the same cmd as *.cc *.h
Commit: | c7c0adf | |
---|---|---|
Author: | Robert Swiecki |
config.prot: document disable_tsc
Commit: | 12df56b | |
---|---|---|
Author: | Andrew Haberlandt | |
Committer: | Andrew Haberlandt |
Setup cgroup.subtree_control controllers when necessary in cgroupsv2 This commit adds extra setup when cgroupsv2 is enabled. In particular, we make sure that the root namespace has setup cgroup.subtree_control with the controllers we need. If the necessary controller are not listed, we have to move all processes out of the root namespace before we can change this (the 'no internal processes' rule: https://unix.stackexchange.com/a/713343). Currently we only handle the case where the nsjail process is the only process in the cgroup. It seems like this would be relatively rare, but since nsjail is frequently the root process in a Docker container (e.g. for hosting CTF challenges), I think this case is common enough to make it worth implementing. This also adds `--detect_cgroupv2`, which will attempt to detect whether `--cgroupv2_mount` is a valid cgroupv2 mount, and if so it will set `use_cgroupv2`. This is useful in containerized environments where you may not know the kernel version ahead of time. References: https://github.com/redpwn/jail/blob/master/internal/cgroup/cgroup2.go
Commit: | df21a97 | |
---|---|---|
Author: | Patrick Steinhardt | |
Committer: | Patrick Steinhardt |
nsjail: Optionally forward fatal signals Currently, we always kill children by sending them a SIGKILL signal in case we've got a fatal signal. This is rather inflexible and forbids some usecases where e.g. child process listen for specific signals to shut down gracefully. Add a new command configuration `--forward_signals` that allows the user to opt-in to forwarding fatal signals to the child process.
Commit: | 16b4416 | |
---|---|---|
Author: | MichaĆ Kowalczyk |
Add `disable_tsc` option Implemented via prctl(PR_SET_TSC, PR_TSC_SIGSEGV, ...).
Commit: | bf93e8a | |
---|---|---|
Author: | Philip | |
Committer: | happyCoder92 |
cgroup2: use cgroup_mem_swap_max and cgroup_mem_memsw_max
Commit: | 29a5560 | |
---|---|---|
Author: | Johan Kartiwa | |
Committer: | happyCoder92 |
Add support for setting cgroup memory.memsw.limit_in_bytes
Commit: | d6b9357 | |
---|---|---|
Author: | Robert Swiecki |
config.proto: renumerate fields
Commit: | 8e13a76 | |
---|---|---|
Author: | Wiktor Garbacz |
Fix duplicate field number
Commit: | 95e112c | |
---|---|---|
Author: | Wiktor Garbacz |
Fix formatting
Commit: | 4136dd5 | |
---|---|---|
Author: | Wiktor Garbacz |
Merge branch 'use_switchroot'
Commit: | 7aace9b | |
---|---|---|
Author: | Eli Zrihen |
rtprio, msgqueue - defaulting to 'soft'
Commit: | b83d6f7 | |
---|---|---|
Author: | Eli Zrihen |
Renaming use_switchroot option with no_pivotroot
Commit: | 9f4b4f4 | |
---|---|---|
Author: | Eli Zrihen |
Consistentency with RLIMIT_* constant name
Commit: | 0f903ba | |
---|---|---|
Author: | Eli Zrihen |
Added rt, memlock & msgq limits
Commit: | dab1713 | |
---|---|---|
Author: | Eli Zrihen |
Added use_switchroot option
Commit: | 5c8b383 | |
---|---|---|
Author: | Eli Zrihen |
MACVLAN modes support
Commit: | d1f332b | |
---|---|---|
Author: | Robert Swiecki |
Enable support for clone3() and for CLONE_NEWTIME
Commit: | 056809e | |
---|---|---|
Author: | Robert Swiecki |
Initial support for CLONE_NEWTIME
Commit: | 32f2287 | |
---|---|---|
Author: | Philip Papurt |
net: add support for max_conns
Commit: | 7ca0657 | |
---|---|---|
Author: | Robert Swiecki |
config.proto: make indent
Commit: | 0a5a529 | |
---|---|---|
Author: | Robert Swiecki |
config.proto: renumerate config fields
Commit: | 5d103e5 | |
---|---|---|
Author: | Disconnect3d | |
Committer: | GitHub |
Fixes #146: cgroups_mem_max unit in config.proto This commit fixes the incorrect cgroups_mem_max unit described in a config.proto comment. We do not perform any calculations on this value and we don't specify the values unit (k/M/G) when writing to memory cgroup controller files, so the value is specified in bytes.
Commit: | a2d5b07 | |
---|---|---|
Author: | Robert Swiecki |
config: remove deprecated config options
Commit: | 7f9ed1b | |
---|---|---|
Author: | Disconnect3d | |
Committer: | GitHub |
Fix default rlimit_stack value The default `rlimit_stack` value was set to 1048576. However, this value is in MiB and so is later multiplied by 1024*1024 in https://github.com/google/nsjail/blob/b3d544d155f5d1543dce1bd3e5327ef41583815a/config.cc#L161-L162 and it ends up as a limit of 1 TB for the stack size. This PR changes it to 8 MB which is a more sane default or, at least I took it from my virtual machine's ulimits: ``` $ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 31175 max locked memory (kbytes, -l) 16384 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 31175 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited ```
Commit: | b3d544d | |
---|---|---|
Author: | Robert Swiecki |
config: simplify log/logfd setting
Commit: | 0bc5750 | |
---|---|---|
Author: | Lukasz Milewski |
Fix typo in config.proto: s/lofs/logs/
Commit: | e2c5c59 | |
---|---|---|
Author: | Robert Swiecki |
standardize on envar vs envvar
Commit: | fe762a3 | |
---|---|---|
Author: | Robert Swiecki |
config.proto: move disable_rl higher
Commit: | 86293b0 | |
---|---|---|
Author: | Jay Lees |
Add flag to disable rlimits
Commit: | b120acd | |
---|---|---|
Author: | Robert Swiecki |
make indent depend
Commit: | 08f62b6 | |
---|---|---|
Author: | Jay Lees |
[cgroup-v2] support cgroup v2 for mem, cpu and pids
Commit: | 494a5f6 | |
---|---|---|
Author: | Robert Swiecki |
Add nice_level to cmd-line/config options
Commit: | 317555b | |
---|---|---|
Author: | Robert Swiecki |
user: don't fail on setgroup() if not groups were specified
Commit: | 1f022a2 | |
---|---|---|
Author: | Robert Swiecki |
config.proto: Exe.path is required
Commit: | 2b1bad6 | |
---|---|---|
Author: | Robert Swiecki |
cmdline: allow to override config cmdline with cmdline cmdline
Commit: | 9fe225d | |
---|---|---|
Author: | Robert Swiecki |
mnt: use /run/usr/<uid> first when mounting dirs
Commit: | 8059747 | |
---|---|---|
Author: | Robert Swiecki |
subproc: save/restore errno when printing error message twice
Commit: | 9b8d91b | |
---|---|---|
Author: | Robert Swiecki |
incrase the default RLIMIT_AS limit to 4GiB. 512MiB is not enough for many payloas, and cgroups should be used for memory limiting anyway
Commit: | 432c38a | |
---|---|---|
Author: | Robert Swiecki |
cmdline: clarify cgroup_cpu_ms_per_sec
Commit: | ddd515e | |
---|---|---|
Author: | Robert Swiecki |
config.proto: renumber the fields
Commit: | 625e36f | |
---|---|---|
Author: | Robert Swiecki |
config.proto: comments
Commit: | c7dd18c | |
---|---|---|
Author: | Robert Swiecki |
cmdline: add ability to passthrough current envvars
Commit: | 7fe87b4 | |
---|---|---|
Author: | Wiktor Garbacz |
code formatting
Commit: | 303f7ab | |
---|---|---|
Author: | Micky Del Favero |
Remove duplicate code Signed-off-by: Micky Del Favero <micky@BeeCloudy.net>
Commit: | 233a729 | |
---|---|---|
Author: | Micky Del Favero |
Added --macvlan_vs_ma switch to be able to set macvlan's mac-address. Signed-off-by: Micky Del Favero <micky@BeeCloudy.net>
Commit: | 760350d | |
---|---|---|
Author: | Disconnect3d | |
Committer: | GitHub |
Update config.proto
Commit: | 755626f | |
---|---|---|
Author: | Disconnect3d | |
Committer: | GitHub |
Update config.proto
Commit: | ba14675 | |
---|---|---|
Author: | Wiktor Garbacz | |
Committer: | Wiktor Garbacz |
mnt: added nosuid/nodev/noexec flags to config Closes #70
Commit: | 272a854 | |
---|---|---|
Author: | Robert Swiecki |
config: Implement --stderr_to_null
Commit: | 1114815 | |
---|---|---|
Author: | Robert Swiecki |
config: add --iface_own to the proto config
Commit: | 48e8634 | |
---|---|---|
Author: | Robert Swiecki |
config: add support for seccomp_log
Commit: | 0e4f623 | |
---|---|---|
Author: | Robert Swiecki |
config.proto: deprecated --chroot and friends
Commit: | 5a35f00 | |
---|---|---|
Author: | Robert Swiecki |
mnt: move mnt_t to std::string
Commit: | 3ee825c | |
---|---|---|
Author: | Robert Swiecki |
cgroups: add support for CPU cgroup
Commit: | e2f96f6 | |
---|---|---|
Author: | Robert Swiecki |
config.proto: comment on skip_setsid
Commit: | 3734b88 | |
---|---|---|
Author: | Robert Swiecki |
cmdline/config: make --enable_clone_newcgroup obsolete by enabling CLONE_NEWCGROUP by default. This can be disabled by flags/config
Commit: | 659bbd1 | |
---|---|---|
Author: | Robert Swiecki |
config.proto: reflow field numbering
Commit: | 082b382 | |
---|---|---|
Author: | Robert Swiecki |
Makefile/indent: add clang-format for proto
Commit: | 315b383 | |
---|---|---|
Author: | YAMAMOTO Masaya |
Support cgroup net_cls subsystem
Commit: | 9c2f19b | |
---|---|---|
Author: | Robert Swiecki |
cmdline: add option --execute_fd and support for it, in order to use execveat()
Commit: | c56ec49 | |
---|---|---|
Author: | Robert Swiecki |
config.proto: reflow numbering of fields
Commit: | a5c3a18 | |
---|---|---|
Author: | Robert Swiecki |
config.proto: comments
Commit: | 25c6272 | |
---|---|---|
Author: | Robert Swiecki |
config: indent
Commit: | dbc6fab | |
---|---|---|
Author: | Robert Swiecki |
config: allow to use soft/hard/inf limits for rlimits
Commit: | 88703c9 | |
---|---|---|
Author: | Robert Swiecki |
config: make defaults work correctly
Commit: | 374f6cc | |
---|---|---|
Author: | Robert Swiecki | |
Committer: | Robert Swiecki |
config: Initial work on converting config.c to c++ protobuf lib config: Initial work on converting config.c to c++ protobuf lib #2 config: Initial work on converting config.c to c++ protobuf lib #3 config: Initial work on converting config.c to c++ protobuf lib #4 config: Initial work on converting config.c to c++ protobuf lib #5 config: Initial work on converting config.c to c++ protobuf lib #6
Commit: | 7226893 | |
---|---|---|
Author: | Robert Swiecki |
config: bind caps
Commit: | 39ce9d2 | |
---|---|---|
Author: | Robert Swiecki |
caps: just local caps
Commit: | 54a5223 | |
---|---|---|
Author: | Robert Swiecki |
caps: simplify capability operations
Commit: | e86598c | |
---|---|---|
Author: | Robert Swiecki |
config.proto: reflow field numbering to make it sequential
Commit: | e4aba73 | |
---|---|---|
Author: | Robert Swiecki |
Allow to create symlinks
Commit: | 69783dc | |
---|---|---|
Author: | Robert Swiecki |
config: max_cpu_num -> max_cpus
Commit: | ceaed43 | |
---|---|---|
Author: | Robert Swiecki |
config: implement max_cpu_num in PB
Commit: | f203669 | |
---|---|---|
Author: | Robert Swiecki |
config: give ability to override argv[0]
Commit: | 3e30c8e | |
---|---|---|
Author: | Robert Swiecki |
config.proto: clang-format
Commit: | 63e4059 | |
---|---|---|
Author: | Robert Swiecki |
Slight fixes to log_fd
Commit: | c55dc8c | |
---|---|---|
Author: | Tony Young | |
Committer: | Tony Young |
Add an extra log_fd argument to specify an FD to log to. In some situations, setting --log to /proc/self/fd/# is not sufficient to log out to a different FD. For instance, if a master process passes its stderr to the child nsjail process as fd 3, the nsjail child may not always be able to log to /proc/self/fd/3, e.g. if the master process is running under systemd, whose /proc/self/fd/2 is actually a socket and not a pipe. However, having nsjail write to fd 3 directly is fine and there's no other good way to handle this situation.
Commit: | 0271586 | |
---|---|---|
Author: | Robert Swiecki |
Get rid of pivot_root_only - achieve the same in different way
Commit: | 9db01ec | |
---|---|---|
Author: | Robert Swiecki |
config: implement keep caps
Commit: | 7b2fc9c | |
---|---|---|
Author: | Robert Swiecki |
add configs/firefox-with-cloned-net.cfg
Commit: | a2bbe66 | |
---|---|---|
Author: | Robert Swiecki |
config: switch is_ro to rw
Commit: | e68acd6 | |
---|---|---|
Author: | Robert Swiecki |
Support envvars on mount path definitions
Commit: | b712afa | |
---|---|---|
Author: | Robert Swiecki |
config: add name and description
Commit: | 7158819 | |
---|---|---|
Author: | Robert Swiecki |
config: smaller fixes (logging/comments)
Commit: | 840f39b | |
---|---|---|
Author: | Robert Swiecki |
config: indent
Commit: | ec50c13 | |
---|---|---|
Author: | Robert Swiecki |
mount: nonmandatory mounts
Commit: | f0cb243 | |
---|---|---|
Author: | Robert Swiecki |
config: allow skipping arguments in mount points
Commit: | d7a805e | |
---|---|---|
Author: | Robert Swiecki |
config: support for envvars
Commit: | fc6680d | |
---|---|---|
Author: | Robert Swiecki |
clang-format on config.proto
Commit: | 1788ac7 | |
---|---|---|
Author: | Robert Swiecki |
config: description
Commit: | 4dadc15 | |
---|---|---|
Author: | Robert Swiecki |
config: description
Commit: | 33f597a | |
---|---|---|
Author: | Robert Swiecki |
config: description
Commit: | e11548b | |
---|---|---|
Author: | Robert Swiecki |
config: description
Commit: | 03e8578 | |
---|---|---|
Author: | Robert Swiecki |
config: executable in config
Commit: | 4ba9555 | |
---|---|---|
Author: | Robert Swiecki |
config: presumably all options
Commit: | 0acd615 | |
---|---|---|
Author: | Robert Swiecki |
config: support seccomp filters
Commit: | b5e37a6 | |
---|---|---|
Author: | Robert Swiecki |
config: support mounts
Commit: | 20633b1 | |
---|---|---|
Author: | Robert Swiecki |
config: compact-ize uid/gid map options