do not upload plaintext to peers that do not support it, closes #14
This commit is contained in:
parent
503bf65cbe
commit
fc7db42deb
5 changed files with 19 additions and 2 deletions
|
@ -100,7 +100,15 @@ def connect_new_peer_to_communicator(shared_state, peer='', useBootstrap=False):
|
|||
else:
|
||||
kv.get('peerProfiles').append(
|
||||
onionrpeers.PeerProfiles(address))
|
||||
try:
|
||||
del kv.get('plaintextDisabledPeers')[address]
|
||||
except KeyError:
|
||||
pass
|
||||
if peeraction.peer_action(
|
||||
shared_state, address, 'plaintext') == 'false':
|
||||
kv.get('plaintextDisabledPeers')[address] = True
|
||||
break
|
||||
|
||||
else:
|
||||
# Mark a peer as tried if they failed to respond to ping
|
||||
tried.append(address)
|
||||
|
|
|
@ -68,6 +68,9 @@ def upload_blocks_from_communicator(comm_inst: 'OnionrCommunicatorDaemon'):
|
|||
for _ in range(min(len(kv.get('onlinePeers')), 6)):
|
||||
try:
|
||||
peer = onlinepeers.pick_online_peer(kv)
|
||||
if peer in kv.get('plaintextDisabledPeers'):
|
||||
logger.info(f"Cannot upload plaintext block to peer that denies it {peer}") # noqa
|
||||
continue
|
||||
except onionrexceptions.OnlinePeerNeeded:
|
||||
continue
|
||||
try:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue