mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #4017] new protocol list behaviour needs to be announced somewhere so users can adjust their local overrides #2504
Labels
No labels
LTS merge
LTS merge
bug
bug
converted-to-discussion
doc-todo
documentation
duplicate
enhancement
file-transfer
firecfg
firejail-in-firejail
firetools
graphics
help wanted
information_old
installation
invalid
modif
moved
needinfo
networking
notabug
notourbug
old-version
overlayfs
packaging
profile-request
pull-request
question
question_old
removal
runtime-permissions
sandbox-ipc
security
stale
wiki
wiki
wontfix
wordpress
workaround
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/firejail#2504
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ghost on GitHub (Feb 28, 2021).
Original GitHub issue: https://github.com/netblue30/firejail/issues/4017
After one of the Sailfish commits a basic
protocoloverride (in .local or via command-line) no longer works as expected. By this I mean the sandbox is no longer running with the intended protocol list, which was the behaviour prior to5d88ee8957.It would be nice if someone could try to reproduce this so - if it's indeed a regression - we can work with the Sailfish people to work things out. To this end I've made a tiny test-case using wget. The current wget.profile has
protocol unix,inet,inet6. Using it with--protocol=unix(on the command-line) orprotocol unix(in wget.local) should break it, as wget obviously needs internet access.5d88ee8957protocol works as expected
5d88ee8957protocol does NOT work as expected
According to this comment there is a
new syntaxfor handling protocol lists:/* Comma separated list is processed so that:
* "item" -> adds item to list
* "-item" -> removes item from list
* "+item" -> adds item to list
* "=item" -> clear list, add item
*
* For example:
* ,a,,,b,,,c, -> a,b,c
* a,,b,,,c,a -> a,b,c
* a,b,c,-a -> b,c
* a,b,c,-a,a -> b,c,a
* a,+b,c -> a,b,c
* a,b,=c,d -> c,d
* a,b,c,= ->
*/
I've tried these variations with mixed results. According to my observations only the --protocol=+ syntax seems to be working as advertised. I wonder if it is wise to revert the Sailfish commit until this is tested more extensively.
@rusty-snake commented on GitHub (Feb 28, 2021):
That's exactly the expected behaviour if you "Allow changing protocol list after initial set". Because of this behaviour change I already added a note to RELNOTES (but don't pushed it yet). The new behaviour is the same that we have for
seccomp,private-bin,private-etc,private-opt,caps.keep, ... plus the+,-and=extras (which would be quite nice to have for the others too).protocolwas always special. If you want to add an entry to e.g.private-bin, you could simply writeprivate-bin fooin your .local, while forprotocol(and this was the only one) you need to copy the list and addfoo. If you wanted to remove a protocol, you had to copy the list and removefoo. Now you need same as for all other lists. Copy it, removefooand addignore bar.@ghost commented on GitHub (Mar 1, 2021):
@rusty-snake Thanks for the explanation, this change got me really confused. Changing the title, as this is obviously not a regression but new behaviour. In the mean time I've gone over our profiles and the only changes IMO are in
transmission-daemon.profile(due to the redirect) and inchromium-common-hardened.inc. I'll prepare a PR for that shortly.