From c8bfad9c4d32596405b4288884796c27a385d810 Mon Sep 17 00:00:00 2001
From: Chris Hines <chris.hines@monash.edu>
Date: Thu, 9 May 2019 16:27:32 +0800
Subject: [PATCH] fix up ssh error messages to make sure they get into the HTTP
 error response

---
 TES/tes/sshwrapper/__init__.py | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/TES/tes/sshwrapper/__init__.py b/TES/tes/sshwrapper/__init__.py
index 882eff9..2543632 100644
--- a/TES/tes/sshwrapper/__init__.py
+++ b/TES/tes/sshwrapper/__init__.py
@@ -121,11 +121,13 @@ class Ssh:
         except FileNotFoundError:
             mode = None
             logger.debug("control socket not open")
-            logger.error(ctrl_p.stderr.read())
-            raise SshCtrlException(ctrl_p.stderr.read().decode())
+            error = ctrp_p.stderr.read()
+            logger.error(error)
+            raise SshCtrlException(error.decode())
         if not stat.S_ISSOCK(mode):
-            logger.error(ctrl_p.stderr.read())
-            raise SshCtrlException(ctrl_p.stderr.read().decode())
+            error = ctrp_p.stderr.read()
+            logger.error(error)
+            raise SshCtrlException(error.decode())
         return ctrlsocket
 
     @staticmethod
@@ -247,7 +249,7 @@ class Ssh:
                 logger.error(stderr.decode())
                 logger.error(('Permission denied' in stderr.decode()))
                 logger.error('Couldn\'t canonicalize: No such file or directory' in stderr.decode())
-                raise SshCtrlException()
+                raise SshCtrlException(stderr.decode())
 
         dirlist = Ssh.parse_sftp_output(stdout.decode())
         return dirlist
-- 
GitLab