Don't send key exchange prematurely

git-svn-id: https://kippo.googlecode.com/svn/trunk@220 951d7100-d841-11de-b865-b3884708a8e2
This commit is contained in:
desaster
2012-07-08 16:30:32 +00:00
parent 15777aca0e
commit b53e8a65d1

View File

@@ -496,6 +496,8 @@ class HoneyPotRealm:
raise Exception, "No supported interfaces found."
class HoneyPotTransport(transport.SSHServerTransport):
hadVersion = False
def connectionMade(self):
print 'New connection: %s:%s (%s:%s) [session: %d]' % \
@@ -507,6 +509,18 @@ class HoneyPotTransport(transport.SSHServerTransport):
self.ttylog_open = False
transport.SSHServerTransport.connectionMade(self)
def sendKexInit(self):
# Don't send key exchange prematurely
if not self.gotVersion:
return
transport.SSHServerTransport.sendKexInit(self)
def dataReceived(self, data):
transport.SSHServerTransport.dataReceived(self, data)
if not self.hadVersion and self.gotVersion:
self.sendKexInit()
self.hadVersion = True
def ssh_KEXINIT(self, packet):
print 'Remote SSH version: %s' % (self.otherVersionString,)
return transport.SSHServerTransport.ssh_KEXINIT(self, packet)