Merge pull request #270 from Zotil/encoding_timeout

timeout on exec_command
pull/273/head
Shengdun Hua 2022-02-20 21:18:18 +08:00 committed by GitHub
commit cd3c747747
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 6 deletions

View File

@ -427,15 +427,20 @@ class IndexHandler(MixinHandler, tornado.web.RequestHandler):
for command in commands:
try:
_, stdout, _ = ssh.exec_command(command, get_pty=True)
_, stdout, _ = ssh.exec_command(command,
get_pty=True,
timeout=1)
except paramiko.SSHException as exc:
logging.info(str(exc))
else:
data = stdout.read()
logging.debug('{!r} => {!r}'.format(command, data))
result = self.parse_encoding(data)
if result:
return result
try:
data = stdout.read()
logging.debug('{!r} => {!r}'.format(command, data))
result = self.parse_encoding(data)
if result:
return result
except socket.timeout:
pass
logging.warning('Could not detect the default encoding.')
return 'utf-8'