-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove unnecessary permissions #20
base: master
Are you sure you want to change the base?
Conversation
Started test build 157094 |
Build 157094 failed |
I have looked at the build log, and I find it confusing. The linter recommends against
This contradicts the standard permissions listed in the Flatpak documentation. It also complains about the explicit
On my system, this does not work, and it obviously neither worked for other people (see #10 & #11). Without the I guess I'm missing something here. Some guidance would be appreciated, but I'm also totally fine with dropping this PR because my overrides work and this PR is mainly a service to other people. 🤷♂️ |
Hi and thanks for your PR. I am currently only on my mobile therefore I can neither verify nor correct anything yet. A few general remarks: "Standard permissions" according to the docs are not granted to any app unless you explicitly add them. This is why the linter complains: There is no Bluetooth access given to the app by default, therefore there is no need to disallow it in the manifest. I am happy to accept a PR that enables X-Air-Edit's config to be saved without giving access to the whole of the user's home dir, but I was not able to find another way yet. Maybe it helps to asks Behringer to use xdg-config instead of hardcoding .config as it seems to be the case right now. Then the standard flatpak sandbox config paths under .var/app/ID/config would work out of the box and no filesystem permissions were needed. |
No worries, I'm not in a rush. :) Thanks for getting back to me, but take your time.
Oh, I see. "Standard permissions" means that you can freely use them, not that they're set by default. I was misreading the documentation there.
Now I understand what's going on here. Flatpak does not magically provide Sure, we can try talking to Behringer about this. Alternatively (or additionally), we could ask for an exception to the linter rule. This still doesn't solve the problem with saving/restoring scenes and presets and stuff. I doubt Behringer will switch to a toolkit with a supported file chooser dialog to set up the necessary permissions automatically, and I equally doubt they will implement the required portal stuff themselves. Creating a shared directory with The more flexible way is having users configure a That being said, I really do not want to give a closed-source, network-enabled app access to my home dir. But as I wrote above, I can just override the default permissions. |
1ce06a7
to
9bc0e53
Compare
Started test build 157305 |
Build 157305 failed |
Updated the PR with what I've learned from jmaibaum's comment. It's now basically only one line, replacing homedir access with access to the hardcoded I'll try writing Behringer an email about the hard-coded |
Sent this support request to Behringer via their customer support form:
|
Thanks for taking the time to write to Behringer! I hope they consider it. Regarding the linter exception, did you already take any steps here? I think we need to open an issue at github.com/flathub/flathub. |
Behringer support asked me to submit the request to their "feedback platform" instead, which I did: X AIR Edit Linux version does not respect $XDG_CONFIG_HOME.
I didn't. Mainly because I didn't feel that it's my place as a new contributor without getting explicit approval first.
Not quite, they want a PR against the JSON-based exception file. The process is outlined in the Flathub docs. I can open a pull request, if you like. |
Thanks for the link to the documentation. I might have time (and access to my Behringer mixer) again by the weekend to test your proposed change. If you have time open the PR against the linter exception file in the meantime, please feel free to do so. Though I understand that if Behringer reacts to your requests and updates X-Air-Edit, the exception would not be needed anymore. So let's see what happens first. FWIW I have upvoted your message at Behringer's feedback platform. 😊 Thanks for pushing this forward! |
Thanks for getting back to me. :) Created a linter PR at flathub-infra/flatpak-builder-lint#526. |
This makes the application perfectly usable (including being able to save and load its own config), but without giving it access to the whole home directory. And yes, the config directory it's expecting is really ~/.config/.X-AIR-Edit, with that exact capitalization, and with the leading dot.
9bc0e53
to
9e4e966
Compare
The linter maintainers told me that we could just use |
Started test build 158298 |
Build 158298 successful
|
Thanks for this. I will hopefully find time to take a look at this over the weekend. |
Hi, the changes to allow config to be stored in I am reluctant in removing FWIW, GNOME Software (and also flatpak CLI) does report and warn about the home dir permissions the app asks for by default, thus the privacy-aware user can do something about it. Yet, the average user will likely be lost if we merge this PR. I am not yet completely convinced that this is the way to go. I understand and acknowledge your concerns about a proprietary closed source tool like X-Air-Edit, but unless I see a more easier (discoverable!) way for the average user who just wants to use their mixer and save/load presets, I am going to leave this PR open. |
This makes the application perfectly usable (including being able to save and load its own config), but without giving it access to the whole home directory.
In other words, it is an alternative to #14, while fixing #10 and #11 nevertheless.
And yes, the config directory it's expecting is really
~/.config/.X-AIR-Edit
, with that exact capitalization, and with the leading dot.Since X AIR Edit does not use normal GTK or Qt file pickers, users will need to share directories manually in order to save and restore scenes, or use
--persist=.
to avoid them being lost when closing the application. I think this is a valid tradeoff instead of giving a proprietary piece of software with internet connectivity access to all my files.In case this PR is not accepted, or if you'd like to take advantage of the added security right away without building the Flatpak yourself, you can also use something like
flatpak override --user --disallow=bluetooth --disallow=canbus --nosocket=cups --nosocket=gpg-agent --nosocket=pcsc --nosocket=pulseaudio --nosocket=ssh-auth --nofilesystem=host:reset --filesystem=xdg-config/.X-AIR-Edit:create --persist=shared com.behringer.XAirEdit
to get basically the same effect. Note that I have included--persist=shared
here, so that the application will see a directory~/shared
inside the sandbox, which maps to~/.var/app/com.behringer.XAirEdit/shared
on the host.