v1.0.0: Boundary mode with bidirectional LoRa↔TCP transport
Vendor microReticulum library with boundary mode transport fixes: - Two-whitelist system gates backbone traffic (local addresses + mentioned addresses from local devices) - Allow control_hashes and local destinations through boundary filter (fixes backbone→LoRa path discovery) - Fix get_cached_packet() to call unpack() instead of update_hash() (fixes empty destination_hash in path responses) - LRPROOF Identity::recall null guard - remaining_hops HEADER_1/BROADCAST fix for final-hop delivery - PROOF packets excluded from boundary wrapping - Iterator invalidation fix in transport table cleanup - is_backbone flag replaces string matching for interface identification Firmware changes: - Set is_backbone(true) on backbone TCP interface - Rename default TcpInterface name to BackboneInterface - Update comments for dual-use TcpInterface (backbone + local AP) - Use vendored lib/microReticulum instead of PlatformIO registry
This commit is contained in:
8
TcpInterface.h
Normal file → Executable file
8
TcpInterface.h
Normal file → Executable file
@@ -1,9 +1,9 @@
|
||||
// Copyright (C) 2026, Boundary Mode Extension
|
||||
// Based on microReticulum_Firmware by Mark Qvist
|
||||
//
|
||||
// TcpInterface — An RNS InterfaceImpl that bridges the WiFi TCP
|
||||
// connection as a second RNS transport interface, enabling
|
||||
// Boundary mode operation between LoRa and TCP/IP backbone.
|
||||
// TcpInterface — An RNS InterfaceImpl that bridges a WiFi TCP
|
||||
// connection as an RNS transport interface. Used for both the
|
||||
// backbone (BackboneInterface) and local AP (LocalTcpInterface).
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
@@ -61,7 +61,7 @@ class TcpInterface : public RNS::InterfaceImpl {
|
||||
public:
|
||||
TcpInterface(TcpIfMode mode, uint16_t port = TCP_IF_DEFAULT_PORT,
|
||||
const char* target_host = nullptr, uint16_t target_port = 0,
|
||||
const char* name = "TcpInterface")
|
||||
const char* name = "BackboneInterface")
|
||||
: RNS::InterfaceImpl(name),
|
||||
_mode(mode),
|
||||
_port(port),
|
||||
|
||||
Reference in New Issue
Block a user