From 0b829636e1427f39d5cdb6a6f00963ee9333046d Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Thu, 31 Aug 2017 17:00:27 +0300 Subject: [PATCH] ssh: close stdin when running subshell --- libagent/device/trezor.py | 2 +- libagent/ssh/__init__.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/libagent/device/trezor.py b/libagent/device/trezor.py index 95bf951..50ace4a 100644 --- a/libagent/device/trezor.py +++ b/libagent/device/trezor.py @@ -35,7 +35,7 @@ class Trezor(interface.Device): return self._defs.PassphraseAck(passphrase=self.passphrase) def create_pin_handler(conn): - if os.isatty(sys.stdin.fileno()): + if not sys.stdin.closed and os.isatty(sys.stdin.fileno()): return conn.callback_PinMatrixRequest # CLI-based PIN handler def qt_handler(_): diff --git a/libagent/ssh/__init__.py b/libagent/ssh/__init__.py index 5772d4d..75cf03c 100644 --- a/libagent/ssh/__init__.py +++ b/libagent/ssh/__init__.py @@ -210,6 +210,7 @@ def main(device_type): use_shell = bool(args.shell) if use_shell: command = os.environ['SHELL'] + sys.stdin.close() conn = JustInTimeConnection( conn_factory=lambda: client.Client(device_type()),