1
0
Fork 0
mirror of https://github.com/nishiki/manage-password.git synced 2024-10-27 02:33:19 +00:00

fix pinentry mode with gpg 1.4

This commit is contained in:
Adrien Waksberg 2017-04-02 23:44:36 +02:00
parent 92cb89ad33
commit d1adfd24c1

View file

@ -337,9 +337,18 @@ module MPW
def decrypt(data)
return nil if data.to_s.empty?
crypto = GPGME::Crypto.new(armor: true)
password =
if /^1\.[0-9.]+$/ =~ GPGME::Engine.info.first.version
{ password: @gpg_pass }
else
{ password: @gpg_pass,
pinentry_mode: GPGME::PINENTRY_MODE_LOOPBACK }
end
crypto.decrypt(data, password: @gpg_pass, pinentry_mode: GPGME::PINENTRY_MODE_LOOPBACK).read.force_encoding('utf-8')
crypto = GPGME::Crypto.new(armor: true)
crypto
.decrypt(data, password)
.read.force_encoding('utf-8')
rescue => e
raise "#{I18n.t('error.gpg_file.decrypt')}\n#{e}"
end