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:
James L
2026-02-23 18:08:29 -05:00
parent e741d1cd64
commit 5ed70dcca9
66 changed files with 18264 additions and 35 deletions

View File

@@ -61,7 +61,6 @@ lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
adafruit/Adafruit NeoPixel@^1.12.0
attermann/microReticulum
[env:rnode-ng-21]
platform = espressif32
@@ -76,7 +75,6 @@ lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
adafruit/Adafruit NeoPixel@^1.12.0
attermann/microReticulum
[env:ttgo-t-beam]
platform = espressif32
@@ -90,7 +88,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:ttgo-t-beam-sx1262]
platform = espressif32
@@ -105,7 +102,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:ttgo-t-beam-supreme]
platform = espressif32
@@ -122,7 +118,6 @@ lib_deps =
XPowersLib@^0.2.1
Adafruit_SH110X
adafruit/Adafruit SH110X@^2.1.14
attermann/microReticulum
[env:lilygo-t3-s3]
platform = espressif32
@@ -137,7 +132,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:lilygo-t3-s3-sx127x]
platform = espressif32
@@ -152,7 +146,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:lilygo-t3-s3-sx1280-pa]
platform = espressif32
@@ -167,7 +160,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:lilygo-t-deck]
platform = espressif32
@@ -195,7 +187,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:ttgo-lora32-v1]
platform = espressif32
@@ -209,7 +200,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:ttgo-lora32-v2]
platform = espressif32
@@ -223,7 +213,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:ttgo-lora32-v2-extled]
platform = espressif32
@@ -238,7 +227,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:ttgo-lora32-v21]
platform = espressif32
@@ -252,7 +240,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:ttgo-lora32-v21-extled]
platform = espressif32
@@ -267,7 +254,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:ttgo-lora32-v21-tcxo]
platform = espressif32
@@ -282,7 +268,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:heltec_wifi_lora_32_V2]
platform = espressif32
@@ -296,7 +281,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:heltec_wifi_lora_32_V2-extled]
platform = espressif32
@@ -311,7 +295,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:heltec_wifi_lora_32_V3]
platform = espressif32
@@ -325,7 +308,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:heltec_wifi_lora_32_V4]
platform = espressif32
@@ -340,7 +322,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:heltec_V4_boundary]
platform = espressif32
@@ -371,7 +352,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
monitor_filters = esp32_exception_decoder
[env:heltec_V4_boundary-local]
@@ -396,7 +376,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
microReticulum=symlink://../microReticulum
monitor_filters = esp32_exception_decoder
[env:featheresp32]
@@ -411,7 +390,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:seeed_xiao_esp32s3]
platform = espressif32
@@ -425,7 +403,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:generic-esp32]
platform = espressif32
@@ -439,7 +416,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
attermann/microReticulum
[env:wiscore_rak4631]
platform = nordicnrf52
@@ -457,7 +433,6 @@ build_flags =
-DRNS_USE_ALLOCATOR=1
lib_deps =
${env.lib_deps}
attermann/microReticulum
@@ -477,7 +452,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
microReticulum=symlink://../microReticulum
Adafruit_SPIFlash=symlink://../Adafruit_SPIFlash
monitor_filters = esp32_exception_decoder
@@ -494,7 +468,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
microReticulum=symlink://../microReticulum
monitor_filters = esp32_exception_decoder
[env:heltec_wifi_lora_32_V4-local]
@@ -510,7 +483,6 @@ build_flags =
lib_deps =
${env.lib_deps}
XPowersLib@^0.2.1
microReticulum=symlink://../microReticulum
monitor_filters = esp32_exception_decoder
[env:wiscore_rak4631-local]
@@ -532,7 +504,6 @@ build_flags =
build_unflags = -fno-exceptions
lib_deps =
${env.lib_deps}
microReticulum=symlink://../microReticulum
Adafruit_SPIFlash=symlink://../Adafruit_SPIFlash
[env:heltec_t114_local]
@@ -554,4 +525,3 @@ lib_deps =
${env.lib_deps}
https://github.com/liamcottle/esp8266-oled-ssd1306#e16cee124fe26490cb14880c679321ad8ac89c95
adafruit/Adafruit NeoPixel@^1.12.0
microReticulum=symlink://../microReticulum