Skip to content

Conversation

@Guiiix
Copy link
Member

@Guiiix Guiiix commented Mar 6, 2025

Related issue: QubesOS/qubes-issues#8551

Anon AppVM like anon-whonix needs an anon-gateway like sys-whonix to provide a correct level of anonymity and privacy. This commit adds a warning when a user try to connect a VM with the tag anon-vm to a Net Qube that does not have the tag anon-gateway

For tests to pass, QubesOS/qubes-core-admin-client#343 must be merged.

@Guiiix Guiiix marked this pull request as ready for review March 16, 2025 10:21
@codecov
Copy link

codecov bot commented Mar 16, 2025

Codecov Report

Attention: Patch coverage is 55.55556% with 8 lines in your changes missing coverage. Please review.

Project coverage is 68.89%. Comparing base (6bdf5bd) to head (26e8131).
Report is 24 commits behind head on main.

Files with missing lines Patch % Lines
qubesmanager/settings.py 55.55% 8 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #411      +/-   ##
==========================================
+ Coverage   68.33%   68.89%   +0.55%     
==========================================
  Files          17       17              
  Lines        3708     3838     +130     
==========================================
+ Hits         2534     2644     +110     
- Misses       1174     1194      +20     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@qubesos-bot
Copy link

qubesos-bot commented Mar 17, 2025

OpenQA test summary

Complete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025040612-4.3&flavor=pull-requests

Test run included the following:

New failures, excluding unstable

Compared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025031804-4.3&flavor=update

  • system_tests_kde_gui_interactive

    • gui_keyboard_layout: wait_serial (wait serial expected)
      # wait_serial expected: "echo -e '[Layout]\nLayoutList=us,de' | sud...

    • gui_keyboard_layout: Failed (test died)
      # Test died: command 'test "$(cd ~user;ls e1*)" = "$(qvm-run -p wor...

  • system_tests_suspend@hw1

    • suspend: Failed (test died)
      # Test died: command 'qvm-run --no-gui -p -u root sys-net "command ...
  • system_tests_qwt_win10_seamless@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Explorer-empt...
  • system_tests_qrexec

    • TC_00_Qrexec_whonix-gateway-17: test_065_qrexec_exit_code_vm (failure)
      ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^... AssertionError: b'125\n' != b'0\n'

Failed tests

6 failures
  • system_tests_kde_gui_interactive

    • gui_keyboard_layout: wait_serial (wait serial expected)
      # wait_serial expected: "echo -e '[Layout]\nLayoutList=us,de' | sud...

    • gui_keyboard_layout: Failed (test died)
      # Test died: command 'test "$(cd ~user;ls e1*)" = "$(qvm-run -p wor...

  • system_tests_suspend@hw1

    • suspend: Failed (test died)
      # Test died: command 'qvm-run --no-gui -p -u root sys-net "command ...
  • system_tests_qwt_win10_seamless@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Explorer-empt...
  • system_tests_qrexec

    • TC_00_Qrexec_whonix-gateway-17: test_065_qrexec_exit_code_vm (failure)
      ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^... AssertionError: b'125\n' != b'0\n'

Fixed failures

Compared to: https://openqa.qubes-os.org/tests/132953#dependencies

14 fixed
  • system_tests_whonix

    • whonixcheck: fail (unknown)
      Whonixcheck for sys-whonix failed...

    • whonixcheck: unnamed test (unknown)

  • system_tests_suspend

    • suspend: unnamed test (unknown)
    • suspend: Failed (test died)
      # Test died: no candidate needle with tag(s) 'SUSPEND-FAILED' match...
  • system_tests_kde_gui_interactive

    • clipboard_and_web: unnamed test (unknown)

    • clipboard_and_web: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qubes-website' matche...

    • clipboard_and_web: wait_serial (wait serial expected)
      # wait_serial expected: "lspci; echo 2E8vz-\$?-"...

  • system_tests_guivm_vnc_gui_interactive

    • gui_filecopy: unnamed test (unknown)
    • gui_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'files-work' matched...
  • system_tests_whonix@hw7

    • whonixcheck: fail (unknown)
      Whonixcheck for sys-whonix failed...

    • whonixcheck: unnamed test (unknown)

  • system_tests_qrexec

  • system_tests_basic_vm_qrexec_gui

  • system_tests_audio

Unstable tests

Performance Tests

Performance degradation:

14 performance degradations
  • debian-12-xfce_exec: 8.03 :small_red_triangle_up: ( previous job: 7.12, degradation: 112.86%)
  • debian-12-xfce_exec-data-duplex-root: 91.11 :small_red_triangle_up: ( previous job: 82.72, degradation: 110.15%)
  • whonix-gateway-17_exec-root: 46.40 :small_red_triangle_up: ( previous job: 40.43, degradation: 114.76%)
  • whonix-gateway-17_socket: 7.98 :small_red_triangle_up: ( previous job: 7.24, degradation: 110.33%)
  • dom0_root_seq1m_q8t1_read 3:read_bandwidth_kb: 225694.00 :small_red_triangle_up: ( previous job: 446963.00, degradation: 50.50%)
  • dom0_root_seq1m_q1t1_read 3:read_bandwidth_kb: 134321.00 :small_red_triangle_up: ( previous job: 294295.00, degradation: 45.64%)
  • dom0_root_seq1m_q1t1_write 3:write_bandwidth_kb: 68030.00 :small_red_triangle_up: ( previous job: 95454.00, degradation: 71.27%)
  • dom0_varlibqubes_rnd4k_q1t1_write 3:write_bandwidth_kb: 2745.00 :small_red_triangle_up: ( previous job: 4903.00, degradation: 55.99%)
  • fedora-41-xfce_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 1948.00 :small_red_triangle_up: ( previous job: 3599.00, degradation: 54.13%)
  • fedora-41-xfce_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 6831.00 :small_red_triangle_up: ( previous job: 8485.00, degradation: 80.51%)
  • fedora-41-xfce_volatile_rnd4k_q32t1_read 3:read_bandwidth_kb: 65941.00 :small_red_triangle_up: ( previous job: 79021.00, degradation: 83.45%)
  • fedora-41-xfce_volatile_rnd4k_q32t1_write 3:write_bandwidth_kb: 3849.00 :small_red_triangle_up: ( previous job: 5672.00, degradation: 67.86%)
  • fedora-41-xfce_volatile_rnd4k_q1t1_read 3:read_bandwidth_kb: 6793.00 :small_red_triangle_up: ( previous job: 7867.00, degradation: 86.35%)
  • fedora-41-xfce_volatile_rnd4k_q1t1_write 3:write_bandwidth_kb: 1078.00 :small_red_triangle_up: ( previous job: 1953.00, degradation: 55.20%)

Remaining performance tests:

58 tests
  • debian-12-xfce_exec-root: 29.20 :small_red_triangle_up: ( previous job: 28.65, degradation: 101.89%)
  • debian-12-xfce_socket: 8.87 :small_red_triangle_up: ( previous job: 8.60, degradation: 103.13%)
  • debian-12-xfce_socket-root: 8.18 🟢 ( previous job: 8.52, improvement: 95.96%)
  • debian-12-xfce_exec-data-simplex: 61.04 🟢 ( previous job: 71.62, improvement: 85.23%)
  • debian-12-xfce_exec-data-duplex: 72.15 :small_red_triangle_up: ( previous job: 70.34, degradation: 102.57%)
  • debian-12-xfce_socket-data-duplex: 157.92 :small_red_triangle_up: ( previous job: 156.96, degradation: 100.61%)
  • fedora-41-xfce_exec: 9.20 🟢 ( previous job: 9.27, improvement: 99.30%)
  • fedora-41-xfce_exec-root: 62.14 :small_red_triangle_up: ( previous job: 61.51, degradation: 101.03%)
  • fedora-41-xfce_socket: 8.61 🟢 ( previous job: 8.63, improvement: 99.76%)
  • fedora-41-xfce_socket-root: 9.03 :small_red_triangle_up: ( previous job: 8.71, degradation: 103.74%)
  • fedora-41-xfce_exec-data-simplex: 69.28 🟢 ( previous job: 75.53, improvement: 91.71%)
  • fedora-41-xfce_exec-data-duplex: 73.35 :small_red_triangle_up: ( previous job: 71.56, degradation: 102.50%)
  • fedora-41-xfce_exec-data-duplex-root: 93.44 🟢 ( previous job: 109.13, improvement: 85.63%)
  • fedora-41-xfce_socket-data-duplex: 163.31 :small_red_triangle_up: ( previous job: 150.61, degradation: 108.43%)
  • whonix-gateway-17_exec: 7.21 :small_red_triangle_up: ( previous job: 6.82, degradation: 105.78%)
  • whonix-gateway-17_socket-root: 8.14 :small_red_triangle_up: ( previous job: 7.65, degradation: 106.35%)
  • whonix-gateway-17_exec-data-simplex: 74.28 🟢 ( previous job: 78.32, improvement: 94.85%)
  • whonix-gateway-17_exec-data-duplex: 69.45 🟢 ( previous job: 76.65, improvement: 90.60%)
  • whonix-gateway-17_exec-data-duplex-root: 96.26 :small_red_triangle_up: ( previous job: 88.52, degradation: 108.74%)
  • whonix-gateway-17_socket-data-duplex: 163.33 🟢 ( previous job: 171.76, improvement: 95.09%)
  • whonix-workstation-17_exec: 7.87 :small_red_triangle_up: ( previous job: 7.67, degradation: 102.65%)
  • whonix-workstation-17_exec-root: 53.69 🟢 ( previous job: 58.26, improvement: 92.15%)
  • whonix-workstation-17_socket: 8.53 :small_red_triangle_up: ( previous job: 8.19, degradation: 104.13%)
  • whonix-workstation-17_socket-root: 8.31 :small_red_triangle_up: ( previous job: 8.13, degradation: 102.22%)
  • whonix-workstation-17_exec-data-simplex: 78.11 :small_red_triangle_up: ( previous job: 74.99, degradation: 104.16%)
  • whonix-workstation-17_exec-data-duplex: 73.07 :small_red_triangle_up: ( previous job: 72.71, degradation: 100.50%)
  • whonix-workstation-17_exec-data-duplex-root: 104.61 :small_red_triangle_up: ( previous job: 99.82, degradation: 104.80%)
  • whonix-workstation-17_socket-data-duplex: 165.89 🟢 ( previous job: 169.50, improvement: 97.87%)
  • dom0_root_seq1m_q8t1_write 3:write_bandwidth_kb: 185281.00 :green_circle: ( previous job: 129298.00, improvement: 143.30%)
  • dom0_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 103933.00 :green_circle: ( previous job: 79803.00, improvement: 130.24%)
  • dom0_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 6963.00 :green_circle: ( previous job: 6149.00, improvement: 113.24%)
  • dom0_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 11775.00 :green_circle: ( previous job: 10795.00, improvement: 109.08%)
  • dom0_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 5257.00 :green_circle: ( previous job: 4826.00, improvement: 108.93%)
  • dom0_varlibqubes_seq1m_q8t1_read 3:read_bandwidth_kb: 446582.00 :green_circle: ( previous job: 382273.00, improvement: 116.82%)
  • dom0_varlibqubes_seq1m_q8t1_write 3:write_bandwidth_kb: 231780.00 :small_red_triangle_up: ( previous job: 250795.00, degradation: 92.42%)
  • dom0_varlibqubes_seq1m_q1t1_read 3:read_bandwidth_kb: 431335.00 :small_red_triangle_up: ( previous job: 437636.00, degradation: 98.56%)
  • dom0_varlibqubes_seq1m_q1t1_write 3:write_bandwidth_kb: 173358.00 :small_red_triangle_up: ( previous job: 184752.00, degradation: 93.83%)
  • dom0_varlibqubes_rnd4k_q32t1_read 3:read_bandwidth_kb: 105654.00 :green_circle: ( previous job: 62195.00, improvement: 169.88%)
  • dom0_varlibqubes_rnd4k_q32t1_write 3:write_bandwidth_kb: 8805.00 :green_circle: ( previous job: 6479.00, improvement: 135.90%)
  • dom0_varlibqubes_rnd4k_q1t1_read 3:read_bandwidth_kb: 7477.00 :small_red_triangle_up: ( previous job: 7669.00, degradation: 97.50%)
  • fedora-41-xfce_root_seq1m_q8t1_read 3:read_bandwidth_kb: 367019.00 :small_red_triangle_up: ( previous job: 368309.00, degradation: 99.65%)
  • fedora-41-xfce_root_seq1m_q8t1_write 3:write_bandwidth_kb: 283398.00 :green_circle: ( previous job: 162081.00, improvement: 174.85%)
  • fedora-41-xfce_root_seq1m_q1t1_read 3:read_bandwidth_kb: 290867.00 :small_red_triangle_up: ( previous job: 318716.00, degradation: 91.26%)
  • fedora-41-xfce_root_seq1m_q1t1_write 3:write_bandwidth_kb: 128025.00 :green_circle: ( previous job: 87940.00, improvement: 145.58%)
  • fedora-41-xfce_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 87239.00 :green_circle: ( previous job: 82694.00, improvement: 105.50%)
  • fedora-41-xfce_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 1327.00 :green_circle: ( previous job: 542.00, improvement: 244.83%)
  • fedora-41-xfce_private_seq1m_q8t1_read 3:read_bandwidth_kb: 399305.00 :green_circle: ( previous job: 373957.00, improvement: 106.78%)
  • fedora-41-xfce_private_seq1m_q8t1_write 3:write_bandwidth_kb: 265596.00 :green_circle: ( previous job: 170062.00, improvement: 156.18%)
  • fedora-41-xfce_private_seq1m_q1t1_read 3:read_bandwidth_kb: 304199.00 :small_red_triangle_up: ( previous job: 334687.00, degradation: 90.89%)
  • fedora-41-xfce_private_seq1m_q1t1_write 3:write_bandwidth_kb: 74617.00 :green_circle: ( previous job: 61534.00, improvement: 121.26%)
  • fedora-41-xfce_private_rnd4k_q32t1_read 3:read_bandwidth_kb: 89694.00 :green_circle: ( previous job: 80283.00, improvement: 111.72%)
  • fedora-41-xfce_private_rnd4k_q32t1_write 3:write_bandwidth_kb: 3753.00 :green_circle: ( previous job: 2215.00, improvement: 169.44%)
  • fedora-41-xfce_private_rnd4k_q1t1_read 3:read_bandwidth_kb: 7386.00 :small_red_triangle_up: ( previous job: 7540.00, degradation: 97.96%)
  • fedora-41-xfce_private_rnd4k_q1t1_write 3:write_bandwidth_kb: 1295.00 :green_circle: ( previous job: 1130.00, improvement: 114.60%)
  • fedora-41-xfce_volatile_seq1m_q8t1_read 3:read_bandwidth_kb: 343345.00 :small_red_triangle_up: ( previous job: 369868.00, degradation: 92.83%)
  • fedora-41-xfce_volatile_seq1m_q8t1_write 3:write_bandwidth_kb: 164476.00 :small_red_triangle_up: ( previous job: 179949.00, degradation: 91.40%)
  • fedora-41-xfce_volatile_seq1m_q1t1_read 3:read_bandwidth_kb: 342896.00 :green_circle: ( previous job: 324737.00, improvement: 105.59%)
  • fedora-41-xfce_volatile_seq1m_q1t1_write 3:write_bandwidth_kb: 45197.00 :green_circle: ( previous job: 17567.00, improvement: 257.28%)

Comment on lines 766 to 769
"Anon AppVM must be connected to an anon gateway to "
"ensure your privacy and anonymity. By changing the NetVM "
"to a clear gateway, your IP address will be LEAKED on the "
"Internet. Continue at your own risk.")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@marmarta is the message okay?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't love it. The all-caps LEAKED doesn't really fit the style we try to use. Also, we try to move away from VM and towards qube. Also I'm not sure if "clear gateway" is understandable (yes, I can figure this out, but error messages should not need figuring out); I don't have ideas for a short and understandable phrasing here.

Maybe something like:
"Anonymous qubes must be connected to an anonymous gateway to ensure privacy and anonymity. By changing the net qube to a ???? gateway, your IP address will be leaked to the Internet. Continue at your own risk"

@Guiiix
Copy link
Member Author

Guiiix commented Mar 30, 2025

Is it better?

@marmarta
Copy link
Member

Much better!

@marmarek
Copy link
Member

marmarek commented Apr 6, 2025

pylint complains about too long lines...

Guiiix added 2 commits April 6, 2025 08:41
Anon AppVM like anon-whonix needs an anon-gateway like sys-whonix
to provide a correct level of anonymity and privacy.
This commit adds a warning when a user try to connect a
VM with the tag anon-vm to a Net Qube that does not have the tag
anon-gateway
@Guiiix Guiiix force-pushed the anon_warning_main branch from 03a8461 to 26e8131 Compare April 6, 2025 06:41
@Guiiix
Copy link
Member Author

Guiiix commented Apr 6, 2025

pylint complains about too long lines...

sorry, fixed

@marmarek marmarek merged commit 6d7ac61 into QubesOS:main Apr 7, 2025
3 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants