2
0
mirror of https://github.com/xcat2/confluent.git synced 2024-11-25 19:10:10 +00:00

Consistently treat bytes as bytes in ssh

In Python3 systems,
there would be confusion
about bytes versus str.

Fix this so that ssh can work more consistently.
This commit is contained in:
Jarrod Johnson 2023-02-24 15:47:20 -05:00
parent 59b07665ab
commit 70d8a1059c

View File

@ -146,7 +146,7 @@ class SshShell(conapi.Console):
return
except cexc.PubkeyInvalid as pi:
self.ssh.close()
self.keyaction = ''
self.keyaction = b''
self.candidatefprint = pi.fingerprint
self.datacallback(pi.message)
self.keyattrname = pi.attrname
@ -197,18 +197,18 @@ class SshShell(conapi.Console):
delidx = data.index(b'\x7f')
data = data[:delidx - 1] + data[delidx + 1:]
self.keyaction += data
if '\r' in self.keyaction:
action = self.keyaction.split('\r')[0]
if action.lower() == 'accept':
if b'\r' in self.keyaction:
action = self.keyaction.split(b'\r')[0]
if action.lower() == b'accept':
self.nodeconfig.set_node_attributes(
{self.node:
{self.keyattrname: self.candidatefprint}})
self.datacallback('\r\n')
self.logon()
elif action.lower() == 'disconnect':
elif action.lower() == b'disconnect':
self.datacallback(conapi.ConsoleEvent.Disconnect)
else:
self.keyaction = ''
self.keyaction = b''
self.datacallback('\r\nEnter "disconnect" or "accept": ')
elif len(data) > 0:
self.datacallback(data)