aboutsummaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorLibravatar Kelvin M. Klann <kmk3.code@protonmail.com>2021-04-28 01:18:46 -0300
committerLibravatar Kelvin M. Klann <kmk3.code@protonmail.com>2021-05-01 21:25:06 -0300
commit691fe4cd950536bff77a250020d2853c98a4cc2b (patch)
tree58e84d092da5228c2ede1544d192249f5c240230 /etc
parenttypo fix (diff)
downloadfirejail-691fe4cd950536bff77a250020d2853c98a4cc2b.tar.gz
firejail-691fe4cd950536bff77a250020d2853c98a4cc2b.tar.zst
firejail-691fe4cd950536bff77a250020d2853c98a4cc2b.zip
steam.profile: fix rogue legacy paths and syntax
Due to using globbing on mkdir, the current version causes this: @davidebeatrici commented on 2021-04-23[1]: > ``` > Error: "${HOME}/.local/share/RogueLegacy*" is an invalid filename: rejected character: "*" > ``` Added on commit a603d4d39 ("steam: some more games added") / PR #4170. The wildcard was used because Rogue Legacy apparently looks up multiple different paths for the config and also for the data[1][2][3]: 1. ~/.config/RogueLegacy 2. ~/.config/RogueLegacyStorageContainer 3. ~/.local/share/RogueLegacy 4. ~/.local/share/RogueLegacyStorageContainer The ones containing "RogueLegacyStorageContainer" appear to be legacy paths (i.e.: paths which are only created by older versions of Rogue Legacy)[2]. So replace all globs with the full paths because: * The paths are known a priori (unlike, say, `/var/lib/libpcre*`) * There aren't too many of them And use only the non-legacy paths on mkdir. Besides mirroring what the current version of Rogue Legacy does (and avoiding the creation of unnecessary dirs), this is also done because _if_ the following applies (i.e.: this was not tested): * legacy paths take precedence over non-legacy paths * the first path clobbers the other ones (i.e.: rather than "merge") * save data exists in a non-legacy path (i.e.: path 3 in this case) * firejail creates all 4 paths Then it would make the newly-created and empty path 4 clobber the non-legacy path 3 and thus make it seem like no save files exist. This would persist even if steam is run without firejail afterwards, as the empty directory would still be there. Losing (or appearing to lose) game saves can be very unfortunate, so create just the non-legacy paths to avoid confusion. [1] https://github.com/netblue30/firejail/pull/4170#issuecomment-825405930 [2] https://steamcommunity.com/app/241600/discussions/1/846957366713233279/ [3] https://www.pcgamingwiki.com/wiki/Rogue_Legacy#Game_data
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/disable-programs.inc4
-rw-r--r--etc/profile-m-z/steam.profile18
2 files changed, 18 insertions, 4 deletions
diff --git a/etc/inc/disable-programs.inc b/etc/inc/disable-programs.inc
index cf9ef44bf..1e1734a9e 100644
--- a/etc/inc/disable-programs.inc
+++ b/etc/inc/disable-programs.inc
@@ -138,6 +138,7 @@ blacklist ${HOME}/.config/Rambox
138blacklist ${HOME}/.config/Riot 138blacklist ${HOME}/.config/Riot
139blacklist ${HOME}/.config/Rocket.Chat 139blacklist ${HOME}/.config/Rocket.Chat
140blacklist ${HOME}/.config/RogueLegacy 140blacklist ${HOME}/.config/RogueLegacy
141blacklist ${HOME}/.config/RogueLegacyStorageContainer
141blacklist ${HOME}/.config/Signal 142blacklist ${HOME}/.config/Signal
142blacklist ${HOME}/.config/Sinew Software Systems 143blacklist ${HOME}/.config/Sinew Software Systems
143blacklist ${HOME}/.config/Slack 144blacklist ${HOME}/.config/Slack
@@ -612,7 +613,8 @@ blacklist ${HOME}/.local/share/QGIS
612blacklist ${HOME}/.local/share/QMediathekView 613blacklist ${HOME}/.local/share/QMediathekView
613blacklist ${HOME}/.local/share/QuiteRss 614blacklist ${HOME}/.local/share/QuiteRss
614blacklist ${HOME}/.local/share/Ricochet 615blacklist ${HOME}/.local/share/Ricochet
615blacklist ${HOME}/.local/share/RogueLegacy* 616blacklist ${HOME}/.local/share/RogueLegacy
617blacklist ${HOME}/.local/share/RogueLegacyStorageContainer
616blacklist ${HOME}/.local/share/Shortwave 618blacklist ${HOME}/.local/share/Shortwave
617blacklist ${HOME}/.local/share/Steam 619blacklist ${HOME}/.local/share/Steam
618blacklist ${HOME}/.local/share/SteamWorldDig 620blacklist ${HOME}/.local/share/SteamWorldDig
diff --git a/etc/profile-m-z/steam.profile b/etc/profile-m-z/steam.profile
index 0bcbe6da2..922823f98 100644
--- a/etc/profile-m-z/steam.profile
+++ b/etc/profile-m-z/steam.profile
@@ -10,6 +10,7 @@ noblacklist ${HOME}/.config/Epic
10noblacklist ${HOME}/.config/Loop_Hero 10noblacklist ${HOME}/.config/Loop_Hero
11noblacklist ${HOME}/.config/ModTheSpire 11noblacklist ${HOME}/.config/ModTheSpire
12noblacklist ${HOME}/.config/RogueLegacy 12noblacklist ${HOME}/.config/RogueLegacy
13noblacklist ${HOME}/.config/RogueLegacyStorageContainer
13noblacklist ${HOME}/.killingfloor 14noblacklist ${HOME}/.killingfloor
14noblacklist ${HOME}/.klei 15noblacklist ${HOME}/.klei
15noblacklist ${HOME}/.local/share/3909/PapersPlease 16noblacklist ${HOME}/.local/share/3909/PapersPlease
@@ -22,7 +23,8 @@ noblacklist ${HOME}/.local/share/feral-interactive
22noblacklist ${HOME}/.local/share/IntoTheBreach 23noblacklist ${HOME}/.local/share/IntoTheBreach
23noblacklist ${HOME}/.local/share/Paradox Interactive 24noblacklist ${HOME}/.local/share/Paradox Interactive
24noblacklist ${HOME}/.local/share/PillarsOfEternity 25noblacklist ${HOME}/.local/share/PillarsOfEternity
25noblacklist ${HOME}/.local/share/RogueLegacy* 26noblacklist ${HOME}/.local/share/RogueLegacy
27noblacklist ${HOME}/.local/share/RogueLegacyStorageContainer
26noblacklist ${HOME}/.local/share/Steam 28noblacklist ${HOME}/.local/share/Steam
27noblacklist ${HOME}/.local/share/SteamWorldDig 29noblacklist ${HOME}/.local/share/SteamWorldDig
28noblacklist ${HOME}/.local/share/SteamWorld Dig 2 30noblacklist ${HOME}/.local/share/SteamWorld Dig 2
@@ -69,7 +71,7 @@ mkdir ${HOME}/.local/share/feral-interactive
69mkdir ${HOME}/.local/share/IntoTheBreach 71mkdir ${HOME}/.local/share/IntoTheBreach
70mkdir ${HOME}/.local/share/Paradox Interactive 72mkdir ${HOME}/.local/share/Paradox Interactive
71mkdir ${HOME}/.local/share/PillarsOfEternity 73mkdir ${HOME}/.local/share/PillarsOfEternity
72mkdir ${HOME}/.local/share/RogueLegacy* 74mkdir ${HOME}/.local/share/RogueLegacy
73mkdir ${HOME}/.local/share/Steam 75mkdir ${HOME}/.local/share/Steam
74mkdir ${HOME}/.local/share/SteamWorldDig 76mkdir ${HOME}/.local/share/SteamWorldDig
75mkdir ${HOME}/.local/share/SteamWorld Dig 2 77mkdir ${HOME}/.local/share/SteamWorld Dig 2
@@ -86,6 +88,7 @@ whitelist ${HOME}/.config/Epic
86whitelist ${HOME}/.config/Loop_Hero 88whitelist ${HOME}/.config/Loop_Hero
87whitelist ${HOME}/.config/ModTheSpire 89whitelist ${HOME}/.config/ModTheSpire
88whitelist ${HOME}/.config/RogueLegacy 90whitelist ${HOME}/.config/RogueLegacy
91whitelist ${HOME}/.config/RogueLegacyStorageContainer
89whitelist ${HOME}/.config/unity3d 92whitelist ${HOME}/.config/unity3d
90whitelist ${HOME}/.killingfloor 93whitelist ${HOME}/.killingfloor
91whitelist ${HOME}/.klei 94whitelist ${HOME}/.klei
@@ -99,7 +102,8 @@ whitelist ${HOME}/.local/share/feral-interactive
99whitelist ${HOME}/.local/share/IntoTheBreach 102whitelist ${HOME}/.local/share/IntoTheBreach
100whitelist ${HOME}/.local/share/Paradox Interactive 103whitelist ${HOME}/.local/share/Paradox Interactive
101whitelist ${HOME}/.local/share/PillarsOfEternity 104whitelist ${HOME}/.local/share/PillarsOfEternity
102whitelist ${HOME}/.local/share/RogueLegacy* 105whitelist ${HOME}/.local/share/RogueLegacy
106whitelist ${HOME}/.local/share/RogueLegacyStorageContainer
103whitelist ${HOME}/.local/share/Steam 107whitelist ${HOME}/.local/share/Steam
104whitelist ${HOME}/.local/share/SteamWorldDig 108whitelist ${HOME}/.local/share/SteamWorldDig
105whitelist ${HOME}/.local/share/SteamWorld Dig 2 109whitelist ${HOME}/.local/share/SteamWorld Dig 2
@@ -115,6 +119,14 @@ whitelist ${HOME}/.steampid
115include whitelist-common.inc 119include whitelist-common.inc
116include whitelist-var-common.inc 120include whitelist-var-common.inc
117 121
122# Note: The following were intentionally left out as they are alternative
123# (i.e.: unnecessary and/or legacy) paths whose existence may potentially
124# clobber other paths (see #4225). If you use any, either add the entry to
125# steam.local or move the contents to a path listed above (or open an issue if
126# it's missing above).
127#mkdir ${HOME}/.config/RogueLegacyStorageContainer
128#mkdir ${HOME}/.local/share/RogueLegacyStorageContainer
129
118caps.drop all 130caps.drop all
119#ipc-namespace 131#ipc-namespace
120netfilter 132netfilter