qubes-pass/bin/qubes-pass-client
Manuel Amador (Rudd-O) 4314d40696 Initial commit.
2017-05-07 14:27:08 +00:00

53 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
set -e
if [ -s /rw/config/pass-split-domain -a -z "$QUBES_PASS_DOMAIN" ] ; then
export QUBES_PASS_DOMAIN=$( cat /rw/config/pass-split-domain )
fi
if [ -z "$QUBES_PASS_DOMAIN" ] ; then
title="Qubes pass error"
msg="The QUBES_PASS_DOMAIN variable is not defined. Either create /rw/config/pass-split-domain with the VM containing your pass setup, set the environment variable yourself, or pass -d on the command line."
echo "$title: $msg" >&2
zenity --error --text "$msg" --title "$title" &
exit 124
fi
if [ "$1" == "list" ] ; then
cmd=$(echo "$1" | base64)
echo "$cmd" | /usr/lib/qubes/qrexec-client-vm "$QUBES_PASS_DOMAIN" ruddo.PassRead
elif [ "$1" == "get" ] ; then
cmd=$(echo "$1" | base64)
key=$(echo "$2" | base64)
echo "$cmd
$key" | /usr/lib/qubes/qrexec-client-vm "$QUBES_PASS_DOMAIN" ruddo.PassRead
elif [ "$1" == "get-or-generate" ] ; then
cmd=$(echo "$1" | base64)
key=$(echo "$2" | base64)
autogen=$(echo 1 | base64)
echo "$cmd
$key
$autogen" | /usr/lib/qubes/qrexec-client-vm "$QUBES_PASS_DOMAIN" ruddo.PassManage
elif [ "$1" == "insert" ] ; then
cmd=$(echo "$1" | base64)
key=$(echo "$2" | base64)
multiline=$(echo "$3" | base64)
contents=$(echo "$4" | base64)
echo "$cmd
$key
$multiline
$contents" | /usr/lib/qubes/qrexec-client-vm "$QUBES_PASS_DOMAIN" ruddo.PassManage
elif [ "$1" == "init" ] ; then
cmd=$(echo "$1" | base64)
echo "$cmd" | /usr/lib/qubes/qrexec-client-vm "$QUBES_PASS_DOMAIN" ruddo.PassManage
fi