diff --git a/qrexec/qrexec-policy b/qrexec/qrexec-policy index 2922f63..501d0f4 100755 --- a/qrexec/qrexec-policy +++ b/qrexec/qrexec-policy @@ -122,6 +122,9 @@ def do_execute(domain, target, user, exec_index, process_ident): spawn_target_if_necessary(target) cmd= QREXEC_CLIENT + " -d " + target + " '" + user cmd+=":QUBESRPC "+ exec_index + " " + domain + "'" + # stderr should be logged in source/target VM + null = open(os.devnull, 'w') + os.dup2(null.fileno(), 2) os.execl(QREXEC_CLIENT, "qrexec-client", "-d", domain, "-l", cmd, "-c", process_ident) def confirm_execution(domain, target, exec_index): diff --git a/qrexec/qubes-rpc-multiplexer b/qrexec/qubes-rpc-multiplexer index 2818de5..1315c0f 100755 --- a/qrexec/qubes-rpc-multiplexer +++ b/qrexec/qubes-rpc-multiplexer @@ -1,4 +1,10 @@ #!/bin/sh + +mkfifo /tmp/qrexec-rpc-stderr.$$ +logger -t "$1-$2" -f /tmp/qrexec-rpc-stderr.$$ & +exec 2>/tmp/qrexec-rpc-stderr.$$ +rm -f /tmp/qrexec-rpc-stderr.$$ + QUBES_RPC=/etc/qubes-rpc # XXX: Backward compatibility DEPRECATED_QUBES_RPC=/etc/qubes_rpc