Last-Update: 2014-10-07
Forwarded: not-needed
From: Alfredo Kojima <alfredo.kengi.kojima@oracle.com>
Bug-Upstream: http://bugs.mysql.com/bug.php?id=74223
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763971
Description: fix connectivity through SSH tunnel.

=== modified file 'plugins/wb.admin/backend/wb_admin_ssh.py'
--- a/plugins/wb.admin/backend/wb_admin_ssh.py
+++ b/plugins/wb.admin/backend/wb_admin_ssh.py
@@ -84,10 +84,14 @@
             m = Message()
             m.add_byte(chr(MSG_CHANNEL_OPEN))
             m.add_string(kind)
             m.add_int(chanid)
-            m.add_int(self.window_size)
-            m.add_int(self.max_packet_size)
+            if server_version_str2tuple(paramiko.__version__) < (1, 15, 0):
+                m.add_int(self.window_size)
+                m.add_int(self.max_packet_size)
+            else:
+                m.add_int(self.default_window_size)
+                m.add_int(self.default_max_packet_size)
             if (kind == 'forwarded-tcpip') or (kind == 'direct-tcpip'):
                 m.add_string(dest_addr[0])
                 m.add_int(dest_addr[1])
                 m.add_string(src_addr[0])
@@ -99,9 +103,12 @@
             self._channels.put(chanid, chan)
             self.channel_events[chanid] = event = threading.Event()
             self.channels_seen[chanid] = True
             chan._set_transport(self)
-            chan._set_window(self.window_size, self.max_packet_size)
+            if server_version_str2tuple(paramiko.__version__) < (1, 15, 0):
+                chan._set_window(self.window_size, self.max_packet_size)
+            else:
+                chan._set_window(self.default_window_size, self.default_max_packet_size)
         finally:
             self.lock.release()
         self._send_user_message(m)
         ts = time.time() + OPEN_CHANNEL_TIMEOUT if (timeout is None) else timeout
@@ -669,8 +676,9 @@
 
         read_timeout = 10
 
         if self.client is not None:
+            chan = None
             transport = self.client.get_transport()
             try:
                 spawn_process = False
                 if 'nohup' in cmd:
