freedomofpress / securedrop-workstation

Qubes-based SecureDrop Journalist Workstation environment for submission handling
GNU Affero General Public License v3.0
138 stars 43 forks source link

SecureDrop Workstation 0.2.2beta QA #484

Closed eloquence closed 4 years ago

eloquence commented 4 years ago

This is an issue to track QA findings against beta release 0.2.2 (Debian packaging release 0.2.1) of the SecureDrop Workstation, dated 2020-02-03, using the provisional test plan as a starting point.

eloquence commented 4 years ago

Server: v2+v3 prod server running SecureDrop 1.2.1, using the v3 address in config.json

Login

rmol commented 4 years ago

Found numerous problems around deletion and conversation view updating.

SecureDrop Workstation test scenarios

Qubes scenarios

Verify mime handling in sd-app

Verify mime handling in sd-viewer

Packages

RPC Policies

Hardware/virtualization

Archive handling

Logging

Client scenarios

Scenario: Online mode

Prerequisites:

  • server is available and contains source test data
  • access to sd-gpg keyring has not been previously granted
  • client data directory is empty
  • the sd-devices VM is not running (shut down manually if necessary)
  • a supported printer is available, but not attached.
  • all VMs are up-to-date

Login

Sources

Replies

Submissions

Preview
Export
Print

Closing the client

Scenario: Offline mode without existing data

Prerequisites:

  • server is available and contains source test data
  • client data directory is empty
  • the sd-devices VM is not running (shut down manually if necessary)
  • a supported printer is available, but not attached.

Offline to Online

Scenario: Offline mode with existing data

Prerequisites:

  • server is available and contains source test data
  • test data includes at least one previously downloaded submission
  • test data includes at least one undownloaded submission
  • client data directory has been synced with server in a previous login
  • the sd-devices VM is not running (shut down manually if necessary)
  • a supported printer is available, but not attached.

Offline to Online

Scenario: Client and Journalist Interface both in use

Note: this scenario requires access to the Journalist Interface (JI) via Tor Browser. If the scenario is being tested on Qubes, the JI address can be found in sd-whonix in /usr/local/etc/torrc.d/50_user.conf. The sd-proxy VM includes Tor Browser, and can be used to access the JI without config changes.

Prerequisites:

  • server is available and contains source test data
  • client data directory is empty

Login

Sources, replies, submissions

eloquence commented 4 years ago

I suggest we capture the configured server environment as well in these reports to make sure we have adequate coverage on testing with both v2 and v3 configurations. Just added that to my report.

eloquence commented 4 years ago

the reply is flagged as having being read in the client :x: No, nothing changes. Replies don't have an is_read indicator.

This is in fact expected behavior, as this feature has not been implemented yet. However, I did not find an issue for it, so I added one: https://github.com/freedomofpress/securedrop-client/issues/889. I'll update the test plan on this point.

eloquence commented 4 years ago

when an individual file submission is deleted in the JI:

the submission is no longer listed in the conversation view :x: The export/print/filename widgets for the deleted submission are still visible on top of the first submission in the conversation view. This persists until the client is restarted.

Was not able to reproduce for a single submission (it was removed from the conversation view as expected). Will now try with multiple.

eloquence commented 4 years ago

^ I uploaded a new file as this source, after deleting the previous upload from the JI. That resulted in this state:

Screenshot_2020-03-06_15-56-36

Note how the "Encrypted file on server" preview snippet appears, but there is no file widget. This is the corresponding JI state:

missing-file

Submission 3 is the one that was deleted in the previous step. Will attempt a clean repro just on this behavior.

eloquence commented 4 years ago

^ This is now tracked in https://github.com/freedomofpress/securedrop-client/issues/891. As noted there, the file widget is rendered correctly after a client restart, or after switching into offline mode by signing out.

eloquence commented 4 years ago

I don't think this is due to https://github.com/freedomofpress/securedrop-client/issues/856 as I don't see any AppArmor denial in the logs. I've filed a separate issue for this in https://github.com/freedomofpress/securedrop-client/issues/892.

eloquence commented 4 years ago

Thanks again @rmol for the detailed report. There are still more issues to be uncovered from it, but I also think we're reaching the point where a new release will help us have more confidence that QA results reflect the current state of the codebase.

Big shout-out to @zenmonkeykstop for the very thorough test plan that's helping us to uncover these issues.

eloquence commented 4 years ago

Creating a new issue for QA reports about subsequent releases of RPM/Debian packages, cross-referencing this one.