added addpeer command and misc bug fixes
parent
71bff27245
commit
dd9a54f7c6
|
@ -133,6 +133,7 @@ class OnionrCommunicate:
|
||||||
return
|
return
|
||||||
|
|
||||||
def downloadBlock(self, hash):
|
def downloadBlock(self, hash):
|
||||||
|
'''download a block from random order of peers'''
|
||||||
peerList = self._core.listPeers()
|
peerList = self._core.listPeers()
|
||||||
blocks = ''
|
blocks = ''
|
||||||
for i in peerList:
|
for i in peerList:
|
||||||
|
|
|
@ -329,7 +329,8 @@ class Core:
|
||||||
c = conn.cursor()
|
c = conn.cursor()
|
||||||
command = (data, peer)
|
command = (data, peer)
|
||||||
# TODO: validate key on whitelist
|
# TODO: validate key on whitelist
|
||||||
|
if key not in ('id', 'text', 'name', 'pgpKey', 'hmacKey', 'blockDBHash', 'forwardKey', 'dateSeen', 'bytesStored', 'trust'):
|
||||||
|
raise Exception("Got invalid database key when setting peer info")
|
||||||
c.execute('UPDATE peers SET ' + key + ' = ? where id=?', command)
|
c.execute('UPDATE peers SET ' + key + ' = ? where id=?', command)
|
||||||
conn.commit()
|
conn.commit()
|
||||||
conn.close()
|
conn.close()
|
||||||
|
|
|
@ -109,6 +109,14 @@ class Onionr:
|
||||||
os.remove('.onionr-lock')
|
os.remove('.onionr-lock')
|
||||||
elif command == 'stop':
|
elif command == 'stop':
|
||||||
self.killDaemon()
|
self.killDaemon()
|
||||||
|
elif command == 'addpeer':
|
||||||
|
try:
|
||||||
|
newPeer = sys.argv[2]
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
logger.info("Adding peer.")
|
||||||
|
self.onionrCore.addPeer(newPeer)
|
||||||
elif command in ('listpeers', 'list-peers'):
|
elif command in ('listpeers', 'list-peers'):
|
||||||
logger.info('Peer list:\n')
|
logger.info('Peer list:\n')
|
||||||
for i in self.onionrCore.listPeers():
|
for i in self.onionrCore.listPeers():
|
||||||
|
|
|
@ -51,7 +51,7 @@ class OnionrTests(unittest.TestCase):
|
||||||
myCore = core.Core()
|
myCore = core.Core()
|
||||||
if not os.path.exists('data/peers.db'):
|
if not os.path.exists('data/peers.db'):
|
||||||
myCore.createPeerDB()
|
myCore.createPeerDB()
|
||||||
if myCore.addPeer('facebookcorewwwi.onion') and not myCore.addPeer('invalidpeer.onion'):
|
if myCore.addPeer('2ks5c5bm6zk3ejqg.onion') and not myCore.addPeer('invalidpeer.onion'):
|
||||||
self.assertTrue(True)
|
self.assertTrue(True)
|
||||||
else:
|
else:
|
||||||
self.assertTrue(False)
|
self.assertTrue(False)
|
||||||
|
|
Loading…
Reference in New Issue