Closes #1360: validate knownnodes received from the network
This commit is contained in:
parent
6969ec0ec9
commit
b2c8b77938
|
@ -381,14 +381,18 @@ class BMProto(AdvancedDispatcher, ObjectTracker):
|
||||||
decodedIP = protocol.checkIPAddress(str(ip))
|
decodedIP = protocol.checkIPAddress(str(ip))
|
||||||
if stream not in state.streamsInWhichIAmParticipating:
|
if stream not in state.streamsInWhichIAmParticipating:
|
||||||
continue
|
continue
|
||||||
if decodedIP is not False and seenTime > time.time() - BMProto.addressAlive:
|
if (
|
||||||
|
decodedIP and time.time() - seenTime > 0 and
|
||||||
|
seenTime > time.time() - BMProto.addressAlive and
|
||||||
|
port > 0
|
||||||
|
):
|
||||||
peer = state.Peer(decodedIP, port)
|
peer = state.Peer(decodedIP, port)
|
||||||
try:
|
try:
|
||||||
if knownnodes.knownNodes[stream][peer]["lastseen"] > seenTime:
|
if knownnodes.knownNodes[stream][peer]["lastseen"] > seenTime:
|
||||||
continue
|
continue
|
||||||
except KeyError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
if len(knownnodes.knownNodes[stream]) < int(BMConfigParser().get("knownnodes", "maxnodes")):
|
if len(knownnodes.knownNodes[stream]) < BMConfigParser().safeGetInt("knownnodes", "maxnodes"):
|
||||||
with knownnodes.knownNodesLock:
|
with knownnodes.knownNodesLock:
|
||||||
try:
|
try:
|
||||||
knownnodes.knownNodes[stream][peer]["lastseen"] = seenTime
|
knownnodes.knownNodes[stream][peer]["lastseen"] = seenTime
|
||||||
|
|
Reference in New Issue
Block a user