mirror of
https://github.com/markqvist/Reticulum.git
synced 2024-11-26 15:30:18 +00:00
Compare commits
1 Commits
9676bed6b8
...
7be26503c2
Author | SHA1 | Date | |
---|---|---|---|
|
7be26503c2 |
@ -125,7 +125,7 @@ class Link:
|
|||||||
link.last_inbound = time.time()
|
link.last_inbound = time.time()
|
||||||
link.start_watchdog()
|
link.start_watchdog()
|
||||||
|
|
||||||
RNS.log("Incoming link request "+str(link)+" accepted on "+str(link.attached_interface), RNS.LOG_DEBUG)
|
RNS.log("Incoming link request "+str(link)+" accepted", RNS.LOG_DEBUG)
|
||||||
return link
|
return link
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -762,7 +762,7 @@ class Link:
|
|||||||
self.watchdog_lock = True
|
self.watchdog_lock = True
|
||||||
if not self.status == Link.CLOSED and not (self.initiator and packet.context == RNS.Packet.KEEPALIVE and packet.data == bytes([0xFF])):
|
if not self.status == Link.CLOSED and not (self.initiator and packet.context == RNS.Packet.KEEPALIVE and packet.data == bytes([0xFF])):
|
||||||
if packet.receiving_interface != self.attached_interface:
|
if packet.receiving_interface != self.attached_interface:
|
||||||
RNS.log(f"Link-associated packet received on unexpected interface {packet.receiving_interface} instead of {self.attached_interface}! Someone might be trying to manipulate your communication!", RNS.LOG_ERROR)
|
RNS.log("Link-associated packet received on unexpected interface! Someone might be trying to manipulate your communication!", RNS.LOG_ERROR)
|
||||||
else:
|
else:
|
||||||
self.last_inbound = time.time()
|
self.last_inbound = time.time()
|
||||||
if packet.context != RNS.Packet.KEEPALIVE:
|
if packet.context != RNS.Packet.KEEPALIVE:
|
||||||
|
@ -1736,19 +1736,8 @@ class Transport:
|
|||||||
if packet.destination_type == RNS.Destination.LINK:
|
if packet.destination_type == RNS.Destination.LINK:
|
||||||
for link in Transport.active_links:
|
for link in Transport.active_links:
|
||||||
if link.link_id == packet.destination_hash:
|
if link.link_id == packet.destination_hash:
|
||||||
if link.attached_interface == packet.receiving_interface:
|
packet.link = link
|
||||||
packet.link = link
|
link.receive(packet)
|
||||||
link.receive(packet)
|
|
||||||
else:
|
|
||||||
# In the strange and rare case that an interface
|
|
||||||
# is partly malfunctioning, and a link-associated
|
|
||||||
# packet is being received on an interface that
|
|
||||||
# has failed sending, and transport has failed over
|
|
||||||
# to another path, we remove this packet hash from
|
|
||||||
# the filter hashlist so the link can receive the
|
|
||||||
# packet when it finally arrives over another path.
|
|
||||||
while packet.packet_hash in Transport.packet_hashlist:
|
|
||||||
Transport.packet_hashlist.remove(packet.packet_hash)
|
|
||||||
else:
|
else:
|
||||||
for destination in Transport.destinations:
|
for destination in Transport.destinations:
|
||||||
if destination.hash == packet.destination_hash and destination.type == packet.destination_type:
|
if destination.hash == packet.destination_hash and destination.type == packet.destination_type:
|
||||||
|
Loading…
Reference in New Issue
Block a user