mirror of
https://github.com/ben-grande/qusal.git
synced 2025-07-23 06:31:12 -04:00
fix: dom0 qrexec call target qube
This commit is contained in:
parent
b6c5298cb9
commit
f161fbf49f
2 changed files with 10 additions and 22 deletions
|
@ -26,8 +26,8 @@ is_git_repo(){
|
||||||
helper="${0##*/git-}"
|
helper="${0##*/git-}"
|
||||||
case "${1-}" in
|
case "${1-}" in
|
||||||
-h|--?help) usage;;
|
-h|--?help) usage;;
|
||||||
"") qube="@default";;
|
"") authority="@default";;
|
||||||
*) qube="${1}";;
|
*) authority="${1}";;
|
||||||
esac
|
esac
|
||||||
case "${2-}" in
|
case "${2-}" in
|
||||||
"") is_git_repo; repo="$(basename "$(git rev-parse --show-toplevel)")";;
|
"") is_git_repo; repo="$(basename "$(git rev-parse --show-toplevel)")";;
|
||||||
|
@ -40,18 +40,12 @@ default_qube="sys-git"
|
||||||
rpc_cmd="${vendor}.${rpc}+${repo}"
|
rpc_cmd="${vendor}.${rpc}+${repo}"
|
||||||
|
|
||||||
if command -v qrexec-client-vm >/dev/null; then
|
if command -v qrexec-client-vm >/dev/null; then
|
||||||
exec qrexec-client-vm -- "${qube}" "${rpc_cmd}"
|
exec qrexec-client-vm -- "${authority}" "${rpc_cmd}"
|
||||||
elif command -v qrexec-client >/dev/null; then
|
elif command -v qrexec-client >/dev/null; then
|
||||||
qubes_version="$(awk -F '=' '/^VERSION_ID=/{print $2}' /etc/os-release)"
|
if test "${authority}" = "@default"; then
|
||||||
if test "$(echo "${qubes_version}" | tr -d ".")" -le 41; then
|
authority="${default_qube}"
|
||||||
if test "${qube}" = "@default"; then
|
|
||||||
qube="${default_qube}"
|
|
||||||
fi
|
fi
|
||||||
else
|
exec qrexec-client -d "${authority}" -- "DEFAULT:QUBESRPC ${rpc_cmd} dom0"
|
||||||
policy="$(qrexec-policy --assume-yes-for-ask dom0 "${qube}" "${rpc_cmd}")"
|
|
||||||
qube="$(echo "${policy}" | awk -F '=' '/^target=/{print $2}')"
|
|
||||||
fi
|
fi
|
||||||
exec qrexec-client -d "${qube}" -- "DEFAULT:QUBESRPC ${rpc_cmd} dom0"
|
|
||||||
else
|
|
||||||
die "Qrexec programs not found: qrexec-client-vm, qrexec-client"
|
die "Qrexec programs not found: qrexec-client-vm, qrexec-client"
|
||||||
fi
|
|
||||||
|
|
|
@ -69,15 +69,9 @@ if command -v qrexec-client-vm >/dev/null; then
|
||||||
log "->" qrexec-client-vm -- "${authority}" "${rpc_cmd}"
|
log "->" qrexec-client-vm -- "${authority}" "${rpc_cmd}"
|
||||||
exec qrexec-client-vm -- "${authority}" "${rpc_cmd}"
|
exec qrexec-client-vm -- "${authority}" "${rpc_cmd}"
|
||||||
elif command -v qrexec-client >/dev/null; then
|
elif command -v qrexec-client >/dev/null; then
|
||||||
qubes_version="$(awk -F '=' '/^VERSION_ID=/{print $2}' /etc/os-release)"
|
|
||||||
if test "$(echo "${qubes_version}" | tr -d ".")" -le 41; then
|
|
||||||
if test "${authority}" = "@default"; then
|
if test "${authority}" = "@default"; then
|
||||||
authority="${default_qube}"
|
authority="${default_qube}"
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
policy="$(qrexec-policy --assume-yes-for-ask dom0 "${authority}" "${rpc_cmd}")"
|
|
||||||
authority="$(echo "${policy}" | awk -F '=' '/^target=/{print $2}')"
|
|
||||||
fi
|
|
||||||
log "->" qrexec-client -d "${authority}" -- "DEFAULT:QUBESRPC ${rpc_cmd} dom0"
|
log "->" qrexec-client -d "${authority}" -- "DEFAULT:QUBESRPC ${rpc_cmd} dom0"
|
||||||
exec qrexec-client -d "${authority}" -- "DEFAULT:QUBESRPC ${rpc_cmd} dom0"
|
exec qrexec-client -d "${authority}" -- "DEFAULT:QUBESRPC ${rpc_cmd} dom0"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue