Skip to content

Commit 10cf1e5

Browse files
committed
Test that services can be symbolic links to executables
qubes.ReceiveUpdates is such a service, so this is necessary to install updates in dom0.
1 parent 31e412f commit 10cf1e5

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

qrexec/tests/socket/agent.py

+16
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,22 @@ def execute_qubesrpc(self, service: str, src_domain_name: str):
352352
target.handshake()
353353
return target, dom0
354354

355+
def test_exec_symlink(self):
356+
util.make_executable_service(
357+
self.tempdir,
358+
"rpc",
359+
".qubes.Service",
360+
"""\
361+
#!/bin/sh
362+
echo "arg: $1, remote domain: $QREXEC_REMOTE_DOMAIN"
363+
""",
364+
)
365+
os.symlink(".qubes.Service", os.path.join(self.tempdir, "rpc/qubes.Service"))
366+
target, dom0 = self.execute_qubesrpc("qubes.Service+arg", "domX")
367+
target.send_message(qrexec.MSG_DATA_STDIN, b"")
368+
self.assertExpectedStdout(target, b"arg: arg, remote domain: domX\n")
369+
self.check_dom0(dom0)
370+
355371
def test_exec_service(self):
356372
util.make_executable_service(
357373
self.tempdir,

0 commit comments

Comments
 (0)