From af0e1faf4d1ff10034af6189fab389d44ca74ef9 Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 17 Jun 2026 15:30:54 +0100 Subject: [PATCH] Fix embedded protocol version handling --- hblink.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hblink.py b/hblink.py index a4a4e8b..a7c5f50 100755 --- a/hblink.py +++ b/hblink.py @@ -390,7 +390,6 @@ class OPENBRIDGE(DatagramProtocol): _ber = _packet[53:54] _rssi = _packet[54:55] _embedded_version = _packet[55] - self._config['VER'] = _embedded_version _timestamp = _packet[56:64] _source_server = _packet[64:68] _source_rptr = _packet[68:72] @@ -408,7 +407,6 @@ class OPENBRIDGE(DatagramProtocol): _ber = _packet[53:54] _rssi = _packet[54:55] _embedded_version = _packet[55] - self._config['VER'] = _embedded_version _timestamp = _packet[56:64] _source_server = _packet[64:68] _source_rptr = b'\x00\x00\x00\x00' @@ -423,6 +421,13 @@ class OPENBRIDGE(DatagramProtocol): _stream_id = _data[16:20] if compare_digest(_hash, _ckhs) and (_sockaddr == self._config['TARGET_SOCK'] or self._config['RELAX_CHECKS']): + if _embedded_version == 2 or _embedded_version == 3 or _embedded_version > 5: + logger.info('(%s) FreeBridge embedded packet version not supported, Ver: %s', self._system, _embedded_version) + return + elif _embedded_version > self._config['VER']: + logger.info('(%s) FreeBridge embedded packet version upgrade, Ver: %s', self._system, _embedded_version) + self._config['VER'] = _embedded_version + _peer_id = _data[11:15] if self._config['NETWORK_ID'] != _peer_id: if _stream_id not in self._laststrid: