From: LinkTed Date: Mon, 21 Jun 2021 17:15:01 +0000 (+0200) Subject: fix(crypt-gpg): execute --card-status on each try X-Git-Tag: 056~141 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6610093698db25fda1d584b9771da1e2c2330095;p=thirdparty%2Fdracut.git fix(crypt-gpg): execute --card-status on each try If the gpg card is not inserted before the --card-status command is executed then the public key is not linked with the card. Therefore, the LUKS partition cannot be decrypted. To solve this, the --card--status command is executed on each try. --- diff --git a/modules.d/91crypt-gpg/crypt-gpg-lib.sh b/modules.d/91crypt-gpg/crypt-gpg-lib.sh index 0613803a6..88ce16e27 100755 --- a/modules.d/91crypt-gpg/crypt-gpg-lib.sh +++ b/modules.d/91crypt-gpg/crypt-gpg-lib.sh @@ -51,7 +51,7 @@ gpg_decrypt() { fi ask_for_password \ - --cmd "gpg $opts --decrypt $mntp/$keypath" \ + --cmd "GNUPGHOME=$gpghome gpg --card-status --no-tty > /dev/null 2>&1; gpg $opts --decrypt $mntp/$keypath" \ --prompt "${inputPrompt:-Password ($keypath on $keydev for $device)}" \ --tries 3 --tty-echo-off