aboutsummaryrefslogtreecommitdiffstats
path: root/etc/inc/disable-interpreters.inc
diff options
context:
space:
mode:
authorLibravatar Kelvin M. Klann <kmk3.code@protonmail.com>2021-07-18 20:39:14 -0300
committerLibravatar Kelvin M. Klann <kmk3.code@protonmail.com>2021-07-18 20:39:14 -0300
commitf43382f1e9707b4fd5e63c7bfe881912aa4ee994 (patch)
tree499639bb962c8b071b153dcdad1b42af8286521d /etc/inc/disable-interpreters.inc
parentAdd MS Edge Beta profile (diff)
downloadfirejail-f43382f1e9707b4fd5e63c7bfe881912aa4ee994.tar.gz
firejail-f43382f1e9707b4fd5e63c7bfe881912aa4ee994.tar.zst
firejail-f43382f1e9707b4fd5e63c7bfe881912aa4ee994.zip
Revert "move whitelist/blacklist to allow/deny"
This reverts commit fe0f975f447d59977d90c3226cc8c623b31b20b3. Note: This only reverts the changes from etc. The 4 aliases introduced on commit 45f2ba544 are mere, well, aliases. That is, they fail to address the different usability problems discussed on [#3447][3447] and in fact only make things more confusing (as has already been mentioned on [this][4379] and later comments). The main reason is that the aliases do not meaningfully map to the original commands. For example, the commands from each pair below seem like they would do the exact same thing: * `allow` and `nodeny` * `deny` and `noallow` Additionally, if these aliases are not the final commands, but only a test/work-in-progress, then keeping the wide-scale search/replace changes made on commit fe0f975f4 would only serve to cause confusion, as users of firejail-git, contributors and downstream projects might start changing the commands used on their profiles, only to later have to change them again, potentially to completely different commands. The sooner this is undone the better, as (besides the above reasons) the more profile changes there are between the original commit and the revert, the harder it is to e.g.: `git diff` versions of files across the following revision ranges: before the commit, after the commit but before the revert and after the revert. Note: This is still the case even if a commit is [ignored by `git blame`][4390]. So let us revert fe0f975f4 and only reapply similar large-scale changes once we have discussed and settled on better commands. How the revert was applied: Despite using the auto-generated message from `git revert`, to ensure correctness and to avoid conflicts the changes were reverted in different steps: Firstly, revert the files which can be safely reverted directly ("filestorevert"): # Find out which files have been changed on fe0f975f44, but have not # been changed afterwards and list them on "filestorevert" git show --pretty='' --name-only fe0f975f44 -- etc | LC_ALL=C sort >allfiles git diff --name-only fe0f975f44..master -- etc | LC_ALL=C sort >filestoignore comm -2 -3 allfiles filestoignore >filestorevert # Note: There are 3 extra files on filestoignore because they were # added after commit fe0f975f44 wc -l allfiles filestoignore filestorevert | head -n 3 # 797 allfiles # 8 filestoignore # 792 filestorevert # Automatically revert files in "filestorevert" # See https://stackoverflow.com/a/23401018/10095231 tr '\n' '\000' <filestorevert | xargs -0 git show fe0f975f44 -- | git apply --reverse printf 'Total files reverted:\n' git diff --name-only | wc -l # 792 Secondly, do some search/replace on the rest: tr '\n' '\000' <filestoignore | xargs -0 sed -i.bak \ -e 's/allow /whitelist /' -e 's/noallow /nowhitelist /' \ -e 's/deny /blacklist /' -e 's/nodeny /noblacklist /' \ -e 's/deny-nolog /blacklist-nolog /' find etc -name '*.bak' -print0 | xargs -0 rm Thirdly, verify the result. The following command shows the difference between all the changes in etc from before fe0f975f44 and this commit (inclusive): git diff fe0f975f44~1 -- etc From the output, it looks like all alias changes are fully reverted and that the other changes to etc (from after fe0f975f44) remain, so the revert seems to be done correctly. [3447]: https://github.com/netblue30/firejail/issues/3447 [4379]: https://github.com/netblue30/firejail/issues/4379#issuecomment-876460222 [4390]: https://github.com/netblue30/firejail/issues/4390
Diffstat (limited to 'etc/inc/disable-interpreters.inc')
-rw-r--r--etc/inc/disable-interpreters.inc84
1 files changed, 42 insertions, 42 deletions
diff --git a/etc/inc/disable-interpreters.inc b/etc/inc/disable-interpreters.inc
index c77d9a490..5d8a236fb 100644
--- a/etc/inc/disable-interpreters.inc
+++ b/etc/inc/disable-interpreters.inc
@@ -3,66 +3,66 @@
3include disable-interpreters.local 3include disable-interpreters.local
4 4
5# gjs 5# gjs
6deny ${PATH}/gjs 6blacklist ${PATH}/gjs
7deny ${PATH}/gjs-console 7blacklist ${PATH}/gjs-console
8deny /usr/lib/gjs 8blacklist /usr/lib/gjs
9deny /usr/lib/libgjs* 9blacklist /usr/lib/libgjs*
10deny /usr/lib64/gjs 10blacklist /usr/lib64/gjs
11deny /usr/lib64/libgjs* 11blacklist /usr/lib64/libgjs*
12 12
13# Lua 13# Lua
14deny ${PATH}/lua* 14blacklist ${PATH}/lua*
15deny /usr/include/lua* 15blacklist /usr/include/lua*
16deny /usr/lib/liblua* 16blacklist /usr/lib/liblua*
17deny /usr/lib/lua 17blacklist /usr/lib/lua
18deny /usr/lib64/liblua* 18blacklist /usr/lib64/liblua*
19deny /usr/lib64/lua 19blacklist /usr/lib64/lua
20deny /usr/share/lua* 20blacklist /usr/share/lua*
21 21
22# mozjs 22# mozjs
23deny /usr/lib/libmozjs-* 23blacklist /usr/lib/libmozjs-*
24deny /usr/lib64/libmozjs-* 24blacklist /usr/lib64/libmozjs-*
25 25
26# Node.js 26# Node.js
27deny ${PATH}/node 27blacklist ${PATH}/node
28deny /usr/include/node 28blacklist /usr/include/node
29 29
30# nvm 30# nvm
31deny ${HOME}/.nvm 31blacklist ${HOME}/.nvm
32 32
33# Perl 33# Perl
34deny ${PATH}/core_perl 34blacklist ${PATH}/core_perl
35deny ${PATH}/cpan* 35blacklist ${PATH}/cpan*
36deny ${PATH}/perl 36blacklist ${PATH}/perl
37deny ${PATH}/site_perl 37blacklist ${PATH}/site_perl
38deny ${PATH}/vendor_perl 38blacklist ${PATH}/vendor_perl
39deny /usr/lib/perl* 39blacklist /usr/lib/perl*
40deny /usr/lib64/perl* 40blacklist /usr/lib64/perl*
41deny /usr/share/perl* 41blacklist /usr/share/perl*
42 42
43# PHP 43# PHP
44deny ${PATH}/php* 44blacklist ${PATH}/php*
45deny /usr/lib/php* 45blacklist /usr/lib/php*
46deny /usr/share/php* 46blacklist /usr/share/php*
47 47
48# Ruby 48# Ruby
49deny ${PATH}/ruby 49blacklist ${PATH}/ruby
50deny /usr/lib/ruby 50blacklist /usr/lib/ruby
51 51
52# Programs using python: deluge, firefox addons, filezilla, cherrytree, xchat, hexchat, libreoffice, scribus 52# Programs using python: deluge, firefox addons, filezilla, cherrytree, xchat, hexchat, libreoffice, scribus
53# Python 2 53# Python 2
54deny ${PATH}/python2* 54blacklist ${PATH}/python2*
55deny /usr/include/python2* 55blacklist /usr/include/python2*
56deny /usr/lib/python2* 56blacklist /usr/lib/python2*
57deny /usr/local/lib/python2* 57blacklist /usr/local/lib/python2*
58deny /usr/share/python2* 58blacklist /usr/share/python2*
59 59
60# You will want to add noblacklist for python3 stuff in the firefox and/or chromium profiles if you use the Gnome connector (see Issue #2026) 60# You will want to add noblacklist for python3 stuff in the firefox and/or chromium profiles if you use the Gnome connector (see Issue #2026)
61 61
62# Python 3 62# Python 3
63deny ${PATH}/python3* 63blacklist ${PATH}/python3*
64deny /usr/include/python3* 64blacklist /usr/include/python3*
65deny /usr/lib/python3* 65blacklist /usr/lib/python3*
66deny /usr/lib64/python3* 66blacklist /usr/lib64/python3*
67deny /usr/local/lib/python3* 67blacklist /usr/local/lib/python3*
68deny /usr/share/python3* 68blacklist /usr/share/python3*