-
Notifications
You must be signed in to change notification settings - Fork 42
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
Fix AppArmor rules for Qubes 4.1; update dispVM syntax #1485
Conversation
Works for me in 4.1, haven't tested in 4.0 |
I've added a test plan for 4.0 and 4.1. @eaon, can you confirm that your test procedure matches the test plan for 4.1? If so I think we can consider that part tested. I've omitted a test case for "4.1 with 4.0 repos" on the assumption that this is not a state we'll ship to production users. |
Ah, because of the AppArmor rules living in |
Updated test plan (best to actually build a package from this branch). |
Yes, test plan for 4.1 pretty much aligns with my experience, the core difference though:
This failed for me because After that, the rest worked as expected:
|
@eaon are you able to test this on a 4.0 system and approve if all works as expected? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test Plan
For all test cases:
- Build a package based on this branch and install it in
sd-small-buster-template
(this is necessary because the AppArmor change is installed in/etc/apparmor.d
in the template); then restart the TemplateVM and the AppVM to pick up the changes - Ensure that downloadable files are present on the server
Test case 1: No breakage on Qubes 4.0
- Run the client you installed via the custom package
- Download a file
- Observe that you are able to open files in disposable VMs by clicking on them in SecureDrop Client
- Observe no AppArmor-related messages in
/var/log/syslog
onsd-app
Test case 2: Fixes regression on Qubes 4.1 with Qubes 4.1 packages in AppmVM
@eaon confirmed this test case
This PR in particular seems to be stuck in a state that gives me no option to merge, so I'll try a rebase push to see if I can kick it.... |
cab1bba
to
095dbda
Compare
looks like the rebase empty push trick worked |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
I'm seeing an actual error 500 from GitHub so hopefully intermittent issues, but will shoot off a note to their support just in case. |
@eloquence it's only happening with this PR, so could you try opening another PR for now? |
Due to GitHub's borked status, I force-pushed a |
I did this last week and, after approval, the issue occurred again. But let's give another try! |
Description
/usr/bin/expr
to the AppArmor profile forsecuredrop-client
because it is now called byqvm-open-in-vm
(see https://github.com/QubesOS/qubes-core-agent-linux/blame/master/qubes-rpc/qvm-open-in-vm). This causes attempts to open files in disposable VMs to fail. See Cannot open files in disposable VM using SecureDrop Client securedrop-workstation#766 (comment) for details.@
instead of$
syntax forqvm-open-in-vm
call per https://github.com/QubesOS/qubes-secpack/blob/master/QSBs/qsb-038-2018.txtResolves freedomofpress/securedrop-workstation#766
Test Plan
For all test cases:
sd-small-buster-template
(this is necessary because the AppArmor change is installed in/etc/apparmor.d
in the template); then restart the TemplateVM and the AppVM to pick up the changesTest case 1: No breakage on Qubes 4.0
/var/log/syslog
onsd-app
Test case 2: Fixes regression on Qubes 4.1 with Qubes 4.1 packages in AppmVM
sd-small-buster-template
uses the Qubes 4.1 packages. On my system,/etc/apt/sources.list.d/qubes-r4.list
contains only the following uncommented line:sudo apt update
andsudo apt dist-upgrade
onsd-small-buster-template
to switch to 4.1 packages, and restartsd-small-buster-template
andsd-app
.qvm-open-in-vm
in/usr/bin/qvm-open-in-vm
onsd-app
calls out toexpr
as you see here: https://github.com/QubesOS/qubes-core-agent-linux/blob/3a5afc2525d5e01122e28aeb6f9192ea28751537/qubes-rpc/qvm-open-in-vm#L67/var/log/syslog
onsd-app