core-admin/qubes
Marek Marczykowski-Górecki 3f96c72ee3
api/admin: (ext/admin) limit listing VMs based on qrexec policy
Various Admin API calls, when directed at dom0, retrieve global system
view instead of a specific VM. This applies to admin.vm.List (called at
dom0 retrieve full VM list) and admin.Events (called at dom0 listen for
events of all the VMs). This makes it tricky to configure a management
VM with access to limited set of VMs only, because many tools require
ability to list VMs, and that would return full list.

Fix this issue by adding a filter to admin.vm.List and admin.Events
calls (using event handlers in AdminExtension) that filters the output
using qrexec policy. This version evaluates policy for each VM or event
(but loads only once). If the performance will be an issue, it can be
optimized later.

Fixes QubesOS/qubes-issues#5509
2020-03-28 03:23:28 +01:00
..
api api/internal: extract get_system_info() function 2020-03-09 19:25:10 +01:00
ext api/admin: (ext/admin) limit listing VMs based on qrexec policy 2020-03-28 03:23:28 +01:00
qmemman qmemmand: separate SystemState init xc and xs to a 'init' method 2019-11-22 21:38:27 +01:00
storage Merge remote-tracking branch 'origin/pr/320' 2020-03-09 18:34:49 +01:00
tests api/admin: (ext/admin) limit listing VMs based on qrexec policy 2020-03-28 03:23:28 +01:00
tools Remove python2 compat __future__ imports 2020-02-15 17:33:34 +00:00
vm qubesvm: Let HVMs enter 'Running' state 2020-03-08 22:39:16 -04:00
__init__.py qubes module: Typo fix 2020-03-08 22:39:16 -04:00
app.py Support for AudioVM 2020-03-08 17:05:33 +01:00
backup.py Remove python2 compat __future__ imports 2020-02-15 17:33:34 +00:00
config.py config: fix mistake in path for services 2020-03-08 09:47:09 +01:00
devices.py Make pylint happy 2019-09-27 16:29:20 +02:00
dochelpers.py Fix Sphinx 2 new API for Fedora 31+ 2019-11-22 21:39:31 +01:00
events.py Fix issues found by pylint 2.0 2018-07-15 23:51:15 +02:00
exc.py Fixed Exceptions inferiting from KeyError 2019-12-09 21:02:24 +01:00
features.py qubes/features: check_with_(template_and_)adminvm 2018-12-20 18:28:33 +01:00
firewall.py Make pylint happy 2019-09-27 16:29:20 +02:00
log.py Change license to LGPL v2.1+ 2017-10-12 00:11:50 +02:00
rngdoc.py Remove python2 compat __future__ imports 2020-02-15 17:33:34 +00:00
tarwriter.py Change license to LGPL v2.1+ 2017-10-12 00:11:50 +02:00
utils.py Fix invalid timezone 2019-08-06 18:23:00 -03:00