diff options
author | Jeff Forcier <jeff@bitprophet.org> | 2018-09-18 20:00:40 -0700 |
---|---|---|
committer | Jeff Forcier <jeff@bitprophet.org> | 2018-09-18 20:00:40 -0700 |
commit | e01e96bab13613352da8429b70de88b7165ec8ab (patch) | |
tree | c65c0a786a2e62445ad195cde2392ded4651912f /paramiko/transport.py | |
parent | 0a94473839edc226f6a7e88e6e24556b480f12d9 (diff) | |
parent | 6a3c145814d9a45e4865441de46d29ae9273334c (diff) | |
download | paramiko-e01e96bab13613352da8429b70de88b7165ec8ab.tar.gz |
Merge branch '2.3' into 2.4
Diffstat (limited to 'paramiko/transport.py')
-rw-r--r-- | paramiko/transport.py | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/paramiko/transport.py b/paramiko/transport.py index aa3b8dcc..410ff273 100644 --- a/paramiko/transport.py +++ b/paramiko/transport.py @@ -82,6 +82,8 @@ from paramiko.common import ( DEFAULT_WINDOW_SIZE, DEFAULT_MAX_PACKET_SIZE, HIGHEST_USERAUTH_MESSAGE_ID, + MSG_UNIMPLEMENTED, + MSG_NAMES, ) from paramiko.compress import ZlibCompressor, ZlibDecompressor from paramiko.dsskey import DSSKey @@ -2035,12 +2037,22 @@ class Transport(threading.Thread, ClosingContextManager): if len(self._expected_packet) > 0: continue else: - err = "Oops, unhandled type {:d}".format(ptype) - self._log(WARNING, err) - msg = Message() - msg.add_byte(cMSG_UNIMPLEMENTED) - msg.add_int(m.seqno) - self._send_message(msg) + # Respond with "I don't implement this particular + # message type" message (unless the message type was + # itself literally MSG_UNIMPLEMENTED, in which case, we + # just shut up to avoid causing a useless loop). + name = MSG_NAMES[ptype] + self._log( + WARNING, + "Oops, unhandled type {} ({!r})".format( + ptype, name + ), + ) + if ptype != MSG_UNIMPLEMENTED: + msg = Message() + msg.add_byte(cMSG_UNIMPLEMENTED) + msg.add_int(m.seqno) + self._send_message(msg) self.packetizer.complete_handshake() except SSHException as e: self._log(ERROR, "Exception: " + str(e)) |