From 0f8cf7fc88ead8c05f490d20264e4a9529e6c976 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20=E2=80=9CAd=C3=A6dra=E2=80=9D=20Hamel?= Date: Thu, 18 Apr 2024 02:44:06 +0200 Subject: [PATCH] Handle PIN requests --- ssh-askpass | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/ssh-askpass b/ssh-askpass index ef58c0c..440202e 100644 --- a/ssh-askpass +++ b/ssh-askpass @@ -7,22 +7,33 @@ function send() { read -p } +function getpin() { + send GETPIN + test "${REPLY:0:3}" = ERR && { coproc : ; exit 1 } + echo ${REPLY:2} +} + coproc $PINENTRY PINENTRY_PID=$! trap "kill -TERM $PINENTRY_PID" INT TERM read -p send SETDESC $@ +send SETPROMPT Password: case "$@" in "Confirm user presence"*) send SETOK Hide send CONFIRM --one-button ;; + *PIN*) + send SETPROMPT PIN: + send OPTION allow-external-password-cache + send SETKEYINFO ssh-askpass-pin + getpin + ;; *) - send GETPIN - test "${REPLY:0:3}" = ERR && { coproc : ; exit 1 } - echo ${REPLY:2} + getpin ;; esac