aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAge
...
* | | src/firejail/profile.c: fix trailing whitespaceLibravatar Kelvin M. Klann2022-08-23
| | | | | | | | | | | | | | | This amends commit 7f3b6c19a ("Add support for custom AppArmor profiles (--apparmor=)", 2022-07-25) / PR #5274.
* | | docs: set vim filetype on the other man pagesLibravatar Kelvin M. Klann2022-08-20
| |/ |/| | | | | | | | | | | Some man pages are missing it. This amends commit aacd2e7d8 ("docs: set vim filetype on man pages for syntax highlighting", 2022-08-04) / PR #5296.
* | Merge pull request #5296 from kmk3/docs-man-vim-ftLibravatar netblue302022-08-14
|\ \ | | | | | | docs: set vim filetype on man pages for syntax highlighting
| * | docs: set vim filetype on man pages for syntax highlightingLibravatar Kelvin M. Klann2022-08-05
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the man pages in src/man use a ".txt" file extension (rather than ".1" or ".5"), their filetype is detected by (neo)vim as "text". So at the bottom of every man page, add a vim modeline in a comment and set the filetype to "groff", to enable syntax highlighting. Note: All of the generated ".man", ".1" and ".5" files are currently being detected as "nroff". Note2: Set the filetype to "groff" rather than "nroff" because at least .UR and .UE are groff extensions. These macros look the same with either filetype, but there may be more extensions being used and the nroff.vim syntax file (which is included by groff.vim) does things differently based on which filetype is used. Based on the following example from (neo)vim's filetype.txt: or add this modeline to the file: /* vim: set filetype=idl : */ See `:help groff.vim` and `:help filetype.txt` in (neo)vim. See also groff_man(7) for the man page macros (including extensions). Environment: neovim 0.7.2-3 on Artix Linux. Misc: I noticed this on #5290.
* | Merge pull request #5290 from kmk3/docs-suid-firejail-usersLibravatar netblue302022-08-14
|\ \ | | | | | | docs: mention risk of SUID binaries and also firejail-users(5)
| * | docs: mention risk of SUID binaries and also firejail-users(5)Libravatar Kelvin M. Klann2022-08-05
| |/ | | | | | | | | | | | | | | | | | | | | | | | | On the introduction of firejail(1), mention the main risk of SUID binaries and that by default, only trusted users should be allowed to run firejail (and how to accomplish that). Note: The added comment line is completely discarded (so there is no extraneous blank line); see groff_man(7) for details. Suggested by @emerajid on #5288. Relates to #4601.
* | Merge pull request #5274 from ChrysoliteAzalea/masterLibravatar netblue302022-08-14
|\ \ | | | | | | Add support for custom AppArmor profiles (--apparmor=)
| * | Add support for custom AppArmor profiles (--apparmor=)Libravatar Азалия Смарагдова2022-08-05
| |/
* / new profile: gdu (#5289)Libravatar glitsj162022-08-09
|/ | | | | | | | | | | | | | | * add gdu to 'new profiles' section * Create gdu.profile * add gdu to firecfg * harden gdu sandbox * fix protocol * simulate empty protocol in gdu * more user-friendly gdu sandboxing
* Merge pull request #5259 from smitsohu/nsLibravatar smitsohu2022-07-31
|\ | | | | introduce new option restrict-namespaces
| * introduce new option restrict-namespacesLibravatar smitsohu2022-07-23
| |
| * protocol filter: add x32 ABI handlingLibravatar smitsohu2022-07-19
| |
* | Merge pull request #5271 from smitsohu/nnpLibravatar smitsohu2022-07-31
|\ \ | | | | | | improve force-nonewprivs security guarantees
| * | improve force-nonewprivs security guaranteesLibravatar smitsohu2022-07-24
| | |
* | | Make list of paths const to fix a false positive of gcc analyzerLibravatar Reiner Herrmann2022-07-30
| | |
* | | zero-initialize two variablesLibravatar Reiner Herrmann2022-07-30
|/ /
* / apparmor cleanupLibravatar smitsohu2022-07-20
|/
* refresh syscall groups (#5188)Libravatar smitsohu2022-07-17
| | | | | | | | | | | | now covers syscalls up to including process_madvise (440) group assignment was blindly copied from systemd: https://github.com/systemd/systemd/blob/729d2df8065ac90ac606e1fff91dc2d588b2795d/src/shared/seccomp-util.c#L305 the only exception is close_range, which was added to both @basic-io and @file-system this commit adds the following syscalls to the default blacklist: pidfd_getfd,fsconfig,fsmount,fsopen,fspick,move_mount,open_tree
* refresh and sort syscall tablesLibravatar smitsohu2022-07-15
| | | | | | produced using commands documented in src/lib/syscall.c: awk '/__NR_/ { print "{ \"" gensub("__NR_", "", "g", $2) "\", " $3 " },"; }' < /usr/include/x86_64-linux-gnu/asm/unistd_64.h awk '/__NR_/ { print "{ \"" gensub("__NR_", "", "g", $2) "\", " $3 " },"; }' < /usr/include/x86_64-linux-gnu/asm/unistd_32.h
* tweaksLibravatar smitsohu2022-07-12
|
* always assert runfile mode and ownershipLibravatar smitsohu2022-07-12
|
* minor sandbox lock improvementsLibravatar smitsohu2022-07-11
|
* cleanupLibravatar smitsohu2022-07-11
|
* remove dependency on sendfile syscallLibravatar smitsohu2022-07-11
|
* simplify put optionLibravatar smitsohu2022-07-11
| | | | | copy using file descriptors, similar to implementation of get option
* Warn when encountering EIO during remountLibravatar Albert Kim2022-07-07
| | | | | | Instead of simply erroring out, just warn the user that a filesystem was unable to be remounted due to EIO. This is helpful for FUSE filesystems which might be buggy or having issues.
* Merge pull request #5219 from kmk3/build-reduce-config-filesLibravatar netblue302022-06-30
|\ | | | | build: reduce autoconf input files from 32 to 2
| * makefiles: add generated files as dependenciesLibravatar Kelvin M. Klann2022-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the previous commit ("makefiles: stop failing when config.mk does not exist", 2022-06-23), make will not immediately fail when trying to build a target without having the proper compile-time flags (which are defined on common.mk). For example, when running the command below: make distclean && make It will throw an error only after (mis-)compiling multiple objects. So add a dependency on config.mk on every target that uses output variables (such as @NAME@ / $(NAME)) on its recipe. And add a dependency on config.sh on targets that call shell scripts that use output variables (such as @NAME@ / $NAME). Also, add a recipe for config.mk / config.sh telling to run ./configure, to make it a bit more obvious just in case. With this commit, make will abort earlier, by detecting that the config.mk / config.sh dependency does not exist. This happens before trying to execute the recipe. This also makes the dependencies more accurate, since if config.mk (which defines some CFLAGS) is changed, the CFLAGS may also have changed, so a target that uses CFLAGS should probably be considered out of date in this case anyway. Relates to #5140.
| * makefiles: stop failing when config.mk does not existLibravatar Kelvin M. Klann2022-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows running `make clean` and `make distclean` (and possibly others) without having to run ./configure beforehand. Note that some packaging-related targets still depend on the existence of generated files. For example: * dist: config.mk * deb: config.sh Commands used to search and replace: $ git grep -Elz 'include *([^ ]*/)?config.mk' | xargs -0 -I '{}' \ sh -c "printf '%s\n' \ \"\$(sed -E 's|^include *(([^ ]*/)?config.mk)|-include \1|' '{}')\" >'{}'" Relates to #5140.
| * build: reduce autoconf input files from 32 to 2Libravatar Kelvin M. Klann2022-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configure summary: autoconf essentially only parses configure.ac and generates the configure script (that is, the "./configure" shell script). The latter is what actually checks what is available on the system and internally sets the value of the output variables. It then, for every filename foo in AC_CONFIG_FILES (and for every output variable name BAR in AC_SUBST), reads foo.in, replaces every occurrence of `@BAR@` with the value of the shell variable `$BAR` and generates the file foo from the result. After this, configure is finished and `make` could be executed to start the build. Now that (as of #5140) all output variables are only defined on config.mk.in and on config.sh.in, there is no need to generate any makefile nor any other mkfile or shell script at configure time. So rename every "Makefile.in" to "Makefile", mkdeb.sh.in to mkdeb.sh, src/common.mk.in to src/common.mk and leave just config.mk and config.sh as the files to be generated at configure time. This allows editing and committing all makefiles directly, without potentially having to run ./configure in between. Commands used to rename the makefiles: $ git ls-files -z -- '*Makefile.in' | xargs -0 -I '{}' sh -c \ "git mv '{}' \"\$(dirname '{}')/Makefile\"" Additionally, from my (rudimentary) testing, this commit reduces the time it takes to run ./configure by about 20~25% compared to commit 72ece92ea ("Transmission fixes: drop private-lib (#5213)", 2022-06-22). Environment: dash 0.5.11.5-1, gcc 12.1.0-2, Artix Linux, ext4 on an HDD. Commands used for benchmarking each commit: $ : >time_configure && ./configure && make distclean && for i in $(seq 1 10); do { time -p ./configure; } 2>>time_configure; done $ grep real time_configure | awk '{ total += $2 } END { print total/NR }'
* | fix disabled private-lib in /etc/firejail/firejail.configLibravatar netblue302022-06-23
| |
* | disabled private-lib in /etc/firejail/firejail.configLibravatar netblue302022-06-23
| |
* | nettrace dixesLibravatar netblue302022-06-23
|/
* deprecating --shell (3) (#5196)Libravatar netblue302022-06-21
|
* deprecating --shell (2) (#5196)Libravatar netblue302022-06-20
|
* compile fixLibravatar netblue302022-06-20
|
* deprecating --shell (#5196)Libravatar netblue302022-06-20
|
* shell none set as default (4)Libravatar netblue302022-06-19
|
* shell none set as default (3)Libravatar netblue302022-06-19
|
* shell none set as default (2)Libravatar netblue302022-06-19
|
* shell none set as defaultLibravatar netblue302022-06-19
|
* removing guess_shell() function and using instead the shell configured in ↵Libravatar netblue302022-06-19
| | | | the password database (/etc/passwd file)
* Merge branch 'master' of ssh://github.com/netblue30/firejailLibravatar netblue302022-06-18
|\
| * errno.c: fix reference to extract_errnos.sh in commentLibravatar Kelvin M. Klann2022-06-18
| | | | | | | | | | | | | | See src/tools/extract_errnos.sh. Added on commit 081d1fbf2 ("Add seccomp errno filter support", 2015-09-23) / PR #66.
* | seccomp-log support in firejail.configLibravatar netblue302022-06-18
|/
* remving src/fgitLibravatar netblue302022-06-17
|
* build: fix file mode of shell scripts (644 -> 755)Libravatar Kelvin M. Klann2022-06-16
| | | | | | | | | | | | | | | | | | | | | Some shell scripts are not executable, so fix their file modes: $ git grep -Elz '^#!/bin/(ba)?sh' | xargs -0 -I '{}' \ chmod +x '{}' Files changed: * src/fgit/fgit-uninstall.sh * src/tools/extract_errnos.sh Note: I have manually checked that the files above are indeed intended to be executable directly and not just sourced, as a script of the latter kind could also contain a shebang (for example, to help ensure proper syntax highlighting). Misc: The affected files were added on commit e46dd3e95 ("git-install", 2017-02-04) and on commit 081d1fbf2 ("Add seccomp errno filter support", 2015-09-23) / PR #66, respectively.
* more on removing cgroups (#5200)Libravatar netblue302022-06-16
|
* disable chroot by default in /etc/firejail/firejail.configLibravatar netblue302022-06-13
|
* more on disable cgroupsLibravatar netblue302022-06-13
|