From a8f2d74d02215264f389fcbc9f5aea4d23e68287 Mon Sep 17 00:00:00 2001 From: Igor Yanchenko <1504692+yanchenko-igor@users.noreply.github.com> Date: Mon, 14 Mar 2022 11:03:17 +0200 Subject: [PATCH] Handle usupported extesions, fixes #383 --- libagent/ssh/protocol.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libagent/ssh/protocol.py b/libagent/ssh/protocol.py index e07647b..81783a8 100644 --- a/libagent/ssh/protocol.py +++ b/libagent/ssh/protocol.py @@ -40,6 +40,8 @@ COMMANDS = dict( SSH_AGENTC_ADD_RSA_ID_CONSTRAINED=24, SSH2_AGENTC_ADD_ID_CONSTRAINED=25, SSH_AGENTC_ADD_SMARTCARD_KEY_CONSTRAINED=26, + SSH_AGENTC_EXTENSION=27, + SSH_AGENT_EXTENSION_FAILURE=28, ) @@ -86,6 +88,7 @@ class Handler: msg_code('SSH_AGENTC_REQUEST_RSA_IDENTITIES'): _legacy_pubs, msg_code('SSH2_AGENTC_REQUEST_IDENTITIES'): self.list_pubs, msg_code('SSH2_AGENTC_SIGN_REQUEST'): self.sign_message, + msg_code('SSH_AGENTC_EXTENSION'): self.unsupported_extension, } def handle(self, msg): @@ -162,3 +165,7 @@ class Handler: data = util.frame(util.frame(key['type']), util.frame(sig_bytes)) code = util.pack('B', msg_code('SSH2_AGENT_SIGN_RESPONSE')) return util.frame(code, data) + + def unsupported_extension(self, buf): + code = util.pack('B', msg_code('SSH_AGENT_EXTENSION_FAILURE')) + return util.frame(code)