diff --git a/bin/qubes-pass-client b/bin/qubes-pass-client index b373297..6af5107 100755 --- a/bin/qubes-pass-client +++ b/bin/qubes-pass-client @@ -28,11 +28,9 @@ $key" | /usr/lib/qubes/qrexec-client-vm "$QUBES_PASS_DOMAIN" ruddo.PassRead elif [ "$1" == "get-or-generate" ] ; then cmd=$(echo "$1" | base64 -w 0) key=$(echo "$2" | base64 -w 0) - autogen=$(echo 1 | base64 -w 0) nosymbols=$(echo "$3" | base64 -w 0) echo "$cmd $key -$autogen $nosymbols" | /usr/lib/qubes/qrexec-client-vm "$QUBES_PASS_DOMAIN" ruddo.PassManage elif [ "$1" == "rm" ] ; then diff --git a/etc/qubes-rpc/ruddo.PassManage b/etc/qubes-rpc/ruddo.PassManage index 1884562..f5cc461 100644 --- a/etc/qubes-rpc/ruddo.PassManage +++ b/etc/qubes-rpc/ruddo.PassManage @@ -37,34 +37,29 @@ EOF elif [ "$cmd" == "get-or-generate" ] ; then read -n 4096 entry - read -n 4096 autogen read -n 4096 nosymbols entry=$(echo "$entry" | base64 -d) - nosymbols=$(echo "nosymbols" | base64 -d) - - if [ "$autogen" == "1" ] ; then - ret=0 ; out=$(pass -- "$entry" 2>&1) || ret=$? - if [ "$ret" == "1" ] && echo "$out" | grep -q "not in the password store" ; then - logger -t ruddo.PassManage "creating password entry $entry" - ret=0 - if [ "$nosymbols" != "" ] ; then - out=$(pass generate -n "$nosymbols" -- "$entry" 32) || ret=$? - else - out=$(pass generate -- "$entry" 32) || ret=$? - fi - if [ "$ret" == "1" ] ; then - echo "Password generation failed: $out" - exit "$ret" - fi - elif [ "$ret" != "0" ] ; then - echo "$out" >&2 - exit "$ret" - fi - logger -t ruddo.PassManage "requested password entry $entry" - exec pass -- "$entry" - else - exit 23 + nosymbols=$(echo "$nosymbols" | base64 -d) + + ret=0 ; out=$(pass -- "$entry" 2>&1) || ret=$? + if [ "$ret" == "1" ] && echo "$out" | grep -q "not in the password store" ; then + logger -t ruddo.PassManage "creating password entry $entry" + ret=0 + if [ "$nosymbols" != "" ] ; then + out=$(pass generate -n "$nosymbols" -- "$entry" 32) || ret=$? + else + out=$(pass generate -- "$entry" 32) || ret=$? + fi + if [ "$ret" == "1" ] ; then + echo "Password generation failed: $out" + exit "$ret" + fi + elif [ "$ret" != "0" ] ; then + echo "$out" >&2 + exit "$ret" fi + logger -t ruddo.PassManage "requested password entry $entry" + exec pass -- "$entry" elif [ "$cmd" == "insert" ] ; then diff --git a/qubes-pass.spec b/qubes-pass.spec index dcd4b6c..dc3e447 100644 --- a/qubes-pass.spec +++ b/qubes-pass.spec @@ -3,7 +3,7 @@ %define mybuildnumber %{?build_number}%{?!build_number:1} Name: qubes-pass -Version: 0.0.8 +Version: 0.0.9 Release: %{mybuildnumber}%{?dist} Summary: Inter-VM pass password management for Qubes OS AppVMs and StandaloneVMs BuildArch: noarch