Fixed missing check for zero-length packets on IFAC-enabled interfaces. Fixes #65.
This commit is contained in:
parent
214ee9d771
commit
2685e043ea
@ -26,7 +26,6 @@ import time
|
|||||||
import math
|
import math
|
||||||
import struct
|
import struct
|
||||||
import threading
|
import threading
|
||||||
import traceback
|
|
||||||
from time import sleep
|
from time import sleep
|
||||||
from .vendor import umsgpack as umsgpack
|
from .vendor import umsgpack as umsgpack
|
||||||
|
|
||||||
@ -285,9 +284,6 @@ class Transport:
|
|||||||
outgoing = []
|
outgoing = []
|
||||||
Transport.jobs_running = True
|
Transport.jobs_running = True
|
||||||
|
|
||||||
# TODO: Remove at some point
|
|
||||||
# start_time = time.time()
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if not Transport.jobs_locked:
|
if not Transport.jobs_locked:
|
||||||
# Process receipts list for timed-out packets
|
# Process receipts list for timed-out packets
|
||||||
@ -508,17 +504,9 @@ class Transport:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
RNS.log("An exception occurred while running Transport jobs.", RNS.LOG_ERROR)
|
RNS.log("An exception occurred while running Transport jobs.", RNS.LOG_ERROR)
|
||||||
RNS.log("The contained exception was: "+str(e), RNS.LOG_ERROR)
|
RNS.log("The contained exception was: "+str(e), RNS.LOG_ERROR)
|
||||||
traceback.print_exc()
|
|
||||||
|
|
||||||
Transport.jobs_running = False
|
Transport.jobs_running = False
|
||||||
|
|
||||||
# TODO: Remove at some point
|
|
||||||
# end_time = time.time()
|
|
||||||
# if RNS.loglevel >= RNS.LOG_EXTREME:
|
|
||||||
# duration = round((end_time - start_time) * 1000, 2)
|
|
||||||
# if duration > 1:
|
|
||||||
# RNS.log("Transport jobs took "+str(duration)+"ms", RNS.LOG_EXTREME)
|
|
||||||
|
|
||||||
for packet in outgoing:
|
for packet in outgoing:
|
||||||
packet.send()
|
packet.send()
|
||||||
|
|
||||||
@ -822,6 +810,7 @@ class Transport:
|
|||||||
def inbound(raw, interface=None):
|
def inbound(raw, interface=None):
|
||||||
# If interface access codes are enabled,
|
# If interface access codes are enabled,
|
||||||
# we must authenticate each packet.
|
# we must authenticate each packet.
|
||||||
|
if len(raw) > 1:
|
||||||
if interface != None and hasattr(interface, "ifac_identity") and interface.ifac_identity != None:
|
if interface != None and hasattr(interface, "ifac_identity") and interface.ifac_identity != None:
|
||||||
# Check that IFAC flag is set
|
# Check that IFAC flag is set
|
||||||
if raw[0] & 0x80 == 0x80:
|
if raw[0] & 0x80 == 0x80:
|
||||||
|
Loading…
Reference in New Issue
Block a user