Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Run dhclient inside the sandbox | 2019-12-30 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * In order to ensure that network interfaces are already configured when the sandboxed launches, we run dhclient in forking mode (no -d switch), which makes the dhclient command exit when it successfully acquired a lease. The dhclient daemon process keeps running in the background. * We read the pid file for dhclient to find out the pid of the daemon process. Because dhclient only writes the pid file in the child process potentially after the forking parent process exits, there is some handling for possible race conditions. * All lease files and pid files are under /run/firejail/dhclient/ * The v4 and v6 dhclient has a separate lease as recommended. * The v4 client is set to generate a DUID, which is also used by the v6 client so that the server can associate the two leases if needed. * /etc/resolv.conf is created in the sandbox just like with the --dns option, by mirroring /etc. When DHCP is used, /etc/resolv.conf is normally empty so that dhclient can overwrite it the nameservers from the DHCP server. Current limitations: * The dhclient processes in the background are not terminated properly (by SIGTERM or dhclient -x), nor is the DHCP lease released (by dclient -r). The reason for this is that firejail drops all capabilities and privileges before the application in the sandbox is launched, which makes it impossible to launch dhclient to release the lease or kill the dhclient processes still running with the effective user id of root. Instead the dhclient daemons die with the sandbox. According to the dhclient man page, releasing the lease is not required by the DHCP specification, so this is not a problem, however some ISPs may require releasing leases. A possible workaround would be to fork another process upon sandbox initialization that invokes dhclient -r when the sandbox is ready to exit. This would require communication with the main firejail process through a pipe, while keeping and required privileges. As this would add some complexity but the benefits have limited applicability (compatibility with esoteric DHCP server configurations), I chose not to implement this. * When only an IPv6 address is requested, the interface may possible not have a link-local address when we run dhclient. This causes dhclient -6 fail, since DHCPv6 uses link-local addressing instead of layer 2 addressing, see e.g., https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=783387 In a future commit, waiting for a link-local address will be added. | ||
* | Allow libtrace preload library to use for trace output a logfile specified ↵ | 2019-08-29 | |
| | | | | by the environment variable FIREJAIL_TRACEFILE or as the RUN_TRACE_FILE if it exists ortherwise use the console as before. | ||
* | reduce redundancy in paths | 2019-06-21 | |
| | |||
* | rundefs.h: housekeeping | 2019-05-28 | |
| | |||
* | fix previous commit, more seccomp testing | 2019-04-09 | |
| | |||
* | Housekeeping | 2019-02-17 | |
| | | | | | Make sure all files end with a newline Strip extra newlines and trailing whitespace from files | ||
* | move copyright statement to 2019 | 2019-02-07 | |
| | |||
* | fix and harden overlay options | 2018-08-28 | |
| | |||
* | Replace all possible HTTP links with HTTPS | 2018-08-08 | |
| | |||
* | evaluate UID_MIN/GID_MID at runtime, remove compile time evaluation - fixes ↵ | 2018-06-04 | |
| | | | | #1964 | ||
* | user access database in /etc/firejail/firejail.users - more to come | 2018-04-05 | |
| | |||
* | fix seccomp compile problem on Debian wheezy 32bit | 2018-03-22 | |
| | |||
* | fix seccomp compile on Debian wheezy | 2018-03-22 | |
| | |||
* | private-lib bug: 32 bit libraries being copied instead of 64 bit versions; ↵ | 2018-03-12 | |
| | | | | splitting common code for firejail and fldd in a common static library | ||
* | add new syscalls from glibc 2.26-10 | 2018-01-18 | |
| | | | | File generated by ../tools/extract_syscall, as per instructions | ||
* | move copyright statement to 2018 | 2018-01-14 | |
| | |||
* | replacing seccomp printing with a seccomp disassembler | 2017-12-28 | |
| | |||
* | added a tool to measure time spent in various functions | 2017-10-09 | |
| | |||
* | merge fixes from 0.9.50-bugfixes branch | 2017-09-11 | |
| | |||
* | Improve seccomp architecture support | 2017-09-10 | |
| | |||
* | fix #1522 | 2017-09-03 | |
| | |||
* | Improve seccomp support for non-x86 architectures | 2017-09-02 | |
| | |||
* | Feature: switch/config option to block secondary architectures | 2017-08-19 | |
| | | | | | | | | | Add a feature for a new (opt-in) command line switch and config file option to block secondary architectures entirely. Also block changing Linux execution domain with personality() system call for the primary architecture. Closes #1479 | ||
* | fix copyright statement | 2017-08-05 | |
| | |||
* | Improve seccomp printing | 2017-07-28 | |
| | |||
* | Remove trailing whitespace from src/ | 2017-05-24 | |
| | |||
* | 32bit plaform fixes | 2017-05-10 | |
| | |||
* | measure start time | 2017-05-09 | |
| | |||
* | syscall list update (kernel 4.9.4, Arch Linux) | 2017-03-22 | |
| | |||
* | copyright 2017 | 2017-02-11 | |
| | |||
* | hidepid part 4 | 2016-11-11 | |
| | |||
* | moving --profile to sbox | 2016-10-28 | |
| | |||
* | sbox | 2016-10-27 | |
| | |||
* | testing | 2016-10-13 | |
| | |||
* | Arch Linux fix: setegid error | 2016-08-30 | |
| | |||
* | change errExit message to include filename | 2016-08-30 | |
| | |||
* | tighten secutiry | 2016-08-24 | |
| | |||
* | firemon fixes | 2016-08-17 | |
| | |||
* | support to disable enforcing firejail.config | 2016-06-12 | |
| | |||
* | euid switching | 2016-02-19 | |
| | |||
* | euid switching | 2016-02-18 | |
| | |||
* | Include <sys/socket.h> for sa_family_t (RHEL 6.6) | 2016-01-29 | |
| | |||
* | copyright 2016 | 2016-01-13 | |
| | |||
* | Simple implementation of noblacklist command. | 2015-09-01 | |
| | |||
* | Baseline firejail 0.9.28 | 2015-08-08 | |