Skip to content

Commit 51d9880

Browse files
committed
Merge remote-tracking branch 'origin/pr/198' into pr-198-merge
* origin/pr/198: Remove internal qubes from being target of ask
2 parents 6fd3696 + a85fac4 commit 51d9880

File tree

2 files changed

+39
-5
lines changed

2 files changed

+39
-5
lines changed

qrexec/policy/parser.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1899,6 +1899,14 @@ def collect_targets_for_ask(self, request):
18991899
if source_uuid in targets:
19001900
targets.remove(source_uuid)
19011901

1902+
for unwanted_target in targets.copy():
1903+
if unwanted_target.startswith("@dispvm:"):
1904+
unwanted_target_name = unwanted_target[len("@dispvm:") :]
1905+
else:
1906+
unwanted_target_name = unwanted_target
1907+
if info[unwanted_target_name].get("internal", False):
1908+
targets.remove(unwanted_target)
1909+
19021910
return targets
19031911

19041912

qrexec/tests/policy_parser.py

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,24 @@
8787
"power_state": "Halted",
8888
"uuid": "f3e538bd-4427-4697-bed7-45ef3270df21",
8989
},
90+
"default-mgmt-dvm": {
91+
"internal": True,
92+
"tags": [],
93+
"type": "AppVM",
94+
"default_dispvm": "default-dvm",
95+
"template_for_dispvms": True,
96+
"power_state": "Halted",
97+
"uuid": "f3e538bd-4427-4697-bed7-45ef3270df22",
98+
},
99+
"internal-vm": {
100+
"internal": True,
101+
"tags": [],
102+
"type": "AppVM",
103+
"default_dispvm": "default-dvm",
104+
"template_for_dispvms": False,
105+
"power_state": "Halted",
106+
"uuid": "f3e538bd-4427-4697-bed7-45ef3270df23",
107+
},
90108
"test-invalid-dvm": {
91109
"tags": ["tag1", "tag2"],
92110
"type": "AppVM",
@@ -328,9 +346,12 @@ def test_021_Target_expand(self):
328346
[
329347
"@dispvm",
330348
"@dispvm:default-dvm",
349+
"@dispvm:default-mgmt-dvm",
331350
"@dispvm:test-vm3",
332351
"@dispvm:test-vm4",
333352
"default-dvm",
353+
"default-mgmt-dvm",
354+
"internal-vm",
334355
"test-invalid-dvm",
335356
"test-no-dvm",
336357
"test-relayvm1",
@@ -356,10 +377,13 @@ def test_021_Target_expand(self):
356377
[
357378
"@dispvm",
358379
"@dispvm:default-dvm",
380+
"@dispvm:default-mgmt-dvm",
359381
"@dispvm:test-vm3",
360382
"@dispvm:test-vm4",
361383
"default-dvm",
362384
"dom0",
385+
"default-mgmt-dvm",
386+
"internal-vm",
363387
"test-invalid-dvm",
364388
"test-no-dvm",
365389
"test-relayvm1",
@@ -383,17 +407,19 @@ def test_021_Target_expand(self):
383407
self.assertCountEqual(
384408
parser.Target("@type:AppVM").expand(system_info=self.system_info),
385409
[
410+
"default-dvm",
411+
"default-mgmt-dvm",
412+
"internal-vm",
413+
"test-invalid-dvm",
414+
"test-no-dvm",
415+
"test-relayvm1",
386416
"test-vm1",
387417
"test-vm2",
388418
"test-vm3",
389419
"test-vm4",
390-
"default-dvm",
391-
"test2-vm1",
392420
"test2-relayvm1",
393421
"test2-relayvm2",
394-
"test-invalid-dvm",
395-
"test-no-dvm",
396-
"test-relayvm1",
422+
"test2-vm1",
397423
],
398424
)
399425
self.assertCountEqual(

0 commit comments

Comments
 (0)