From 7803026f617e3af709a52ba37d24d1bac97e6d0d Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Tue, 20 Feb 2018 09:59:15 +0200 Subject: [PATCH] gpg: allow setting passphrase from environment variable as done by TREZOR's client library --- libagent/device/trezor.py | 8 ++++++++ setup.py | 1 + 2 files changed, 9 insertions(+) diff --git a/libagent/device/trezor.py b/libagent/device/trezor.py index b0abcfe..806f455 100644 --- a/libagent/device/trezor.py +++ b/libagent/device/trezor.py @@ -6,6 +6,7 @@ import os import subprocess import sys +import mnemonic import semver from . import interface @@ -81,6 +82,13 @@ class Trezor(interface.Device): if _is_open_tty(sys.stdin): return cli_handler(msg) # CLI-based PIN handler + # Reusing environment variable from trezorlib/client.py + passphrase = os.getenv("PASSPHRASE") + if passphrase is not None: + log.info("Using PASSPHRASE environment variable.") + return self._defs.PassphraseAck( + passphrase=mnemonic.Mnemonic.normalize_string(passphrase)) + passphrase = _message_box('Please enter passphrase:') return self._defs.PassphraseAck(passphrase=passphrase) diff --git a/setup.py b/setup.py index 8c507b9..f5e72d2 100755 --- a/setup.py +++ b/setup.py @@ -20,6 +20,7 @@ setup( 'python-daemon>=2.1.2', 'ecdsa>=0.13', 'ed25519>=1.4', + 'mnemonic>=0.18', 'pymsgbox>=1.0.6', 'semver>=2.2', 'unidecode>=0.4.20',