added kex command

This commit is contained in:
Kevin Froman 2018-07-03 18:44:12 -05:00
parent 6f761aaeff
commit 80648cc920
No known key found for this signature in database
GPG Key ID: 0D414D0FE405B63B
2 changed files with 13 additions and 2 deletions

View File

@ -248,7 +248,9 @@ class OnionrCommunicatorDaemon:
continue
if self.peerAction(address, 'ping') == 'pong!':
logger.info('Connected to ' + address)
self.onlinePeers.append(address)
time.sleep(0.1)
if address not in self.onlinePeers:
self.onlinePeers.append(address)
retData = address
break
else:
@ -307,7 +309,9 @@ class OnionrCommunicatorDaemon:
elif cmd[0] == 'connectedPeers':
self.printOnlinePeers()
elif cmd[0] == 'kex':
self.timers['lookupKeys'].count = (self.timers['lookupKeys'].frequency - 1)
for i in self.timers:
if i.timerFunction.__name__ == 'lookupKeys':
i.count = (i.frequency - 1)
else:
logger.info('Recieved daemonQueue command:' + cmd[0])
self.decrementThreadCount('daemonCommands')

View File

@ -207,6 +207,7 @@ class Onionr:
'introduce': self.onionrCore.introduceNode,
'connect': self.addAddress,
'kex': self.doKEX,
'getpassword': self.getWebPassword
}
@ -231,6 +232,7 @@ class Onionr:
'add-file': 'Create an Onionr block from a file',
'import-blocks': 'import blocks from the disk (Onionr is transport-agnostic!)',
'listconn': 'list connected peers',
'kex': 'exchange keys with peers (done automatically)',
'introduce': 'Introduce your node to the public Onionr network',
}
@ -333,6 +335,11 @@ class Onionr:
logger.info('Running on %s %s' % (platform.platform(), platform.release()))
return
def doKEX(self):
'''make communicator do kex'''
logger.info('Sending kex to command queue...')
self.onionrCore.daemonQueueAdd('kex')
def sendEncrypt(self):
'''