From eacff56fe297af90012929dd804305a00286806f Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Fri, 3 Jul 2026 18:25:44 +0200 Subject: [PATCH] Cleanup --- RNS/Transport.py | 87 +++++++------------ RNS/_version.py | 2 +- docs/manual/.buildinfo | 2 +- docs/manual/_static/documentation_options.js | 2 +- docs/manual/distributed.html | 8 +- docs/manual/examples.html | 8 +- docs/manual/forhumans.html | 8 +- docs/manual/genindex.html | 8 +- docs/manual/gettingstartedfast.html | 8 +- docs/manual/git.html | 8 +- docs/manual/hardware.html | 8 +- docs/manual/index.html | 8 +- docs/manual/interfaces.html | 8 +- docs/manual/license.html | 8 +- docs/manual/networks.html | 8 +- docs/manual/objects.inv | Bin 3178 -> 3178 bytes docs/manual/reference.html | 8 +- docs/manual/search.html | 8 +- docs/manual/software.html | 8 +- docs/manual/support.html | 8 +- docs/manual/understanding.html | 8 +- docs/manual/using.html | 8 +- docs/manual/whatis.html | 8 +- docs/manual/zen.html | 8 +- 24 files changed, 109 insertions(+), 136 deletions(-) diff --git a/RNS/Transport.py b/RNS/Transport.py index 3df5d71f..9e7b913a 100755 --- a/RNS/Transport.py +++ b/RNS/Transport.py @@ -1442,10 +1442,8 @@ class Transport: ifac = raw[2:2+interface.ifac_size] # Generate mask - mask = RNS.Cryptography.hkdf(length=len(raw), - derive_from=ifac, - salt=interface.ifac_key, - context=None) + mask = RNS.Cryptography.hkdf(length=len(raw), derive_from=ifac, + salt=interface.ifac_key, context=None) # Unmask payload i = 0; unmasked_raw = b"" for byte in raw: @@ -1547,10 +1545,12 @@ class Transport: # through a shared Reticulum instance from_local_client = (packet.receiving_interface in Transport.local_client_interfaces) for_local_client = (packet.packet_type != RNS.Packet.ANNOUNCE) and (packet.destination_hash in Transport.path_table and Transport.path_table[packet.destination_hash][IDX_PT_HOPS] == 0) - for_local_client_link = (packet.packet_type != RNS.Packet.ANNOUNCE) and (packet.destination_hash in Transport.link_table and Transport.link_table[packet.destination_hash][IDX_LT_RCVD_IF] in Transport.local_client_interfaces) - for_local_client_link |= (packet.packet_type != RNS.Packet.ANNOUNCE) and (packet.destination_hash in Transport.link_table and Transport.link_table[packet.destination_hash][IDX_LT_NH_IF] in Transport.local_client_interfaces) + local_client_nh = (packet.packet_type != RNS.Packet.ANNOUNCE) and (packet.destination_hash in Transport.link_table and Transport.link_table[packet.destination_hash][IDX_LT_NH_IF] in Transport.local_client_interfaces) + local_client_rh = (packet.packet_type != RNS.Packet.ANNOUNCE) and (packet.destination_hash in Transport.link_table and Transport.link_table[packet.destination_hash][IDX_LT_RCVD_IF] in Transport.local_client_interfaces) proof_for_local_client = (packet.destination_hash in Transport.reverse_table) and (Transport.reverse_table[packet.destination_hash][IDX_RT_RCVD_IF] in Transport.local_client_interfaces) - to_local_client = for_local_client or for_local_client_link or proof_for_local_client + to_local_client = for_local_client or proof_for_local_client + instance_local_link = local_client_nh and local_client_rh + for_local_client_link = local_client_nh or local_client_rh link_request_handled = False # Plain broadcast packets from local clients are sent @@ -1728,7 +1728,7 @@ class Transport: Transport.add_packet_hash(packet.packet_hash) new_raw = packet.raw[0:1] - new_raw += struct.pack("!B", packet.hops if not from_local_client or Transport.local_hops_delta == 0 else Transport.local_hops_delta) + new_raw += struct.pack("!B", packet.hops if not from_local_client or instance_local_link or Transport.local_hops_delta == 0 else Transport.local_hops_delta) new_raw += packet.raw[2:] Transport.transmit(outbound_interface, new_raw) Transport.link_table[packet.destination_hash][IDX_LT_TIMESTAMP] = time.time() @@ -1790,8 +1790,7 @@ class Transport: with Transport.announce_table_lock: if packet.destination_hash in Transport.announce_table: Transport.announce_table.pop(packet.destination_hash) - else: - received_from = packet.destination_hash + else: received_from = packet.destination_hash # Check if this announce should be inserted into # announce and destination tables @@ -1997,17 +1996,10 @@ class Transport: if is_from_local_client and packet.context == RNS.Packet.PATH_RESPONSE: for local_interface in Transport.local_client_interfaces: if packet.receiving_interface != local_interface: - new_announce = RNS.Packet( - announce_destination, - announce_data, - RNS.Packet.ANNOUNCE, # <-- This one? - context = announce_context, - header_type = RNS.Packet.HEADER_2, - transport_type = Transport.TRANSPORT, - transport_id = Transport.identity.hash, - attached_interface = local_interface, - context_flag = packet.context_flag, - ) + new_announce = RNS.Packet(announce_destination, announce_data, RNS.Packet.ANNOUNCE, # <-- This one? + context = announce_context, header_type = RNS.Packet.HEADER_2, + transport_type = Transport.TRANSPORT, transport_id = Transport.identity.hash, + attached_interface = local_interface, context_flag = packet.context_flag) new_announce.hops = packet.hops new_announce.send() @@ -2015,17 +2007,10 @@ class Transport: else: for local_interface in Transport.local_client_interfaces: if packet.receiving_interface != local_interface: - new_announce = RNS.Packet( - announce_destination, - announce_data, - RNS.Packet.ANNOUNCE, - context = announce_context, - header_type = RNS.Packet.HEADER_2, - transport_type = Transport.TRANSPORT, - transport_id = Transport.identity.hash, - attached_interface = local_interface, - context_flag = packet.context_flag, - ) + new_announce = RNS.Packet(announce_destination, announce_data, RNS.Packet.ANNOUNCE, + context = announce_context, header_type = RNS.Packet.HEADER_2, + transport_type = Transport.TRANSPORT, transport_id = Transport.identity.hash, + attached_interface = local_interface, context_flag = packet.context_flag) new_announce.hops = packet.hops new_announce.send() @@ -2047,17 +2032,10 @@ class Transport: announce_context = RNS.Packet.NONE announce_data = packet.data - new_announce = RNS.Packet( - announce_destination, - announce_data, - RNS.Packet.ANNOUNCE, - context = RNS.Packet.PATH_RESPONSE, - header_type = RNS.Packet.HEADER_2, - transport_type = Transport.TRANSPORT, - transport_id = Transport.identity.hash, - attached_interface = attached_interface, - context_flag = packet.context_flag, - ) + new_announce = RNS.Packet(announce_destination, announce_data, RNS.Packet.ANNOUNCE, + context = RNS.Packet.PATH_RESPONSE, header_type = RNS.Packet.HEADER_2, + transport_type = Transport.TRANSPORT, transport_id = Transport.identity.hash, + attached_interface = attached_interface, context_flag = packet.context_flag) new_announce.hops = packet.hops new_announce.send() @@ -2074,8 +2052,7 @@ class Transport: # announce to the tunnels table if hasattr(packet.receiving_interface, "tunnel_id") and packet.receiving_interface.tunnel_id != None: with Transport.tunnels_lock: - if not packet.receiving_interface.tunnel_id in Transport.tunnels: - RNS.log(f"Tunnel ID for {packet.receiving_interface} was not found in tunnel table", RNS.LOG_WARNING) + if not packet.receiving_interface.tunnel_id in Transport.tunnels: RNS.log(f"Tunnel ID for {packet.receiving_interface} was not found in tunnel table", RNS.LOG_WARNING) else: tunnel_entry = Transport.tunnels[packet.receiving_interface.tunnel_id] paths = tunnel_entry[IDX_TT_PATHS] @@ -2093,10 +2070,10 @@ class Transport: # the handlers aspect filter execute_callback = False announce_identity = RNS.Identity.recall(packet.destination_hash, _no_use=True) - if handler.aspect_filter == None: - # If the handlers aspect filter is set to - # None, we execute the callback in all cases - execute_callback = True + + # If the handlers aspect filter is set to + # None, we execute the callback in all cases + if handler.aspect_filter == None: execute_callback = True else: handler_expected_hash = RNS.Destination.hash_from_name_and_identity(handler.aspect_filter, announce_identity) if packet.destination_hash == handler_expected_hash: execute_callback = True @@ -2211,13 +2188,11 @@ class Transport: packet.destination = destination if destination.receive(packet): if destination.proof_strategy == RNS.Destination.PROVE_ALL: packet.prove() - elif destination.proof_strategy == RNS.Destination.PROVE_APP: if destination.callbacks.proof_requested: try: if destination.callbacks.proof_requested(packet): packet.prove() - except Exception as e: - RNS.log("Error while executing proof request callback. The contained exception was: "+str(e), RNS.LOG_ERROR) + except Exception as e: RNS.log("Error while executing proof request callback. The contained exception was: "+str(e), RNS.LOG_ERROR) # Handling for proofs and link-request proofs elif packet.packet_type == RNS.Packet.PROOF: @@ -2244,16 +2219,14 @@ class Transport: if peer_identity.validate(signature, signed_data): RNS.log("Link request proof validated for transport via "+str(link_entry[IDX_LT_RCVD_IF]), RNS.LOG_EXTREME) if RNS.sl(RNS.LOG_EXTREME) else None new_raw = packet.raw[0:1] - new_raw += struct.pack("!B", packet.hops if not from_local_client or Transport.local_hops_delta == 0 else Transport.local_hops_delta) + new_raw += struct.pack("!B", packet.hops if not from_local_client or instance_local_link or Transport.local_hops_delta == 0 else Transport.local_hops_delta) new_raw += packet.raw[2:] Transport.link_table[packet.destination_hash][IDX_LT_VALIDATED] = True Transport.transmit(link_entry[IDX_LT_RCVD_IF], new_raw) if not Transport.owner.is_connected_to_shared_instance: RNS.Identity._used_destination_data(link_entry[IDX_LT_DSTHASH]) - else: - RNS.log("Invalid link request proof in transport for link "+RNS.prettyhexrep(packet.destination_hash)+", dropping proof.", RNS.LOG_DEBUG) if RNS.sl(RNS.LOG_DEBUG) else None - + else: RNS.log("Invalid link request proof in transport for link "+RNS.prettyhexrep(packet.destination_hash)+", dropping proof.", RNS.LOG_DEBUG) if RNS.sl(RNS.LOG_DEBUG) else None except Exception as e: RNS.log("Could not transport link request proof. The contained exception was: "+str(e), RNS.LOG_DEBUG) if RNS.sl(LOG_DEBUG) else None else: RNS.log("Link request proof received on wrong interface, not transporting it.", RNS.LOG_DEBUG) if RNS.sl(RNS.LOG_DEBUG) else None else: RNS.log("Received link request proof with hop mismatch, not transporting it", RNS.LOG_DEBUG) if RNS.sl(RNS.LOG_DEBUG) else None @@ -2311,7 +2284,7 @@ class Transport: if packet.receiving_interface == reverse_entry[IDX_RT_OUTB_IF]: RNS.log("Proof received on correct interface, transporting it via "+str(reverse_entry[IDX_RT_RCVD_IF]), RNS.LOG_EXTREME) if RNS.sl(RNS.LOG_EXTREME) else None new_raw = packet.raw[0:1] - new_raw += struct.pack("!B", packet.hops if not from_local_client or Transport.local_hops_delta == 0 else Transport.local_hops_delta) + new_raw += struct.pack("!B", packet.hops if not from_local_client or proof_for_local_client or Transport.local_hops_delta == 0 else Transport.local_hops_delta) new_raw += packet.raw[2:] Transport.transmit(reverse_entry[IDX_RT_RCVD_IF], new_raw) else: diff --git a/RNS/_version.py b/RNS/_version.py index 75145de3..5309a584 100644 --- a/RNS/_version.py +++ b/RNS/_version.py @@ -1 +1 @@ -__version__ = "1.3.6" +__version__ = "1.3.7" diff --git a/docs/manual/.buildinfo b/docs/manual/.buildinfo index 681a8b7e..47cebb93 100644 --- a/docs/manual/.buildinfo +++ b/docs/manual/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file records the configuration used when building these files. When it is not found, a full rebuild will be done. -config: c608aeb54a4bb500d26d78accb0ff325 +config: 7bb2cb9af7043f608a692d14da7e45e4 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/manual/_static/documentation_options.js b/docs/manual/_static/documentation_options.js index f09a25b4..50cb51fe 100644 --- a/docs/manual/_static/documentation_options.js +++ b/docs/manual/_static/documentation_options.js @@ -1,5 +1,5 @@ const DOCUMENTATION_OPTIONS = { - VERSION: '1.3.6', + VERSION: '1.3.7', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/manual/distributed.html b/docs/manual/distributed.html index 19622a60..033db1e2 100644 --- a/docs/manual/distributed.html +++ b/docs/manual/distributed.html @@ -7,7 +7,7 @@ - Distributed Development - Reticulum Network Stack 1.3.6 documentation + Distributed Development - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation
- + diff --git a/docs/manual/examples.html b/docs/manual/examples.html index c161b3d4..fc546b46 100644 --- a/docs/manual/examples.html +++ b/docs/manual/examples.html @@ -7,7 +7,7 @@ - Code Examples - Reticulum Network Stack 1.3.6 documentation + Code Examples - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -3648,7 +3648,7 @@
- + diff --git a/docs/manual/forhumans.html b/docs/manual/forhumans.html index 95db85ac..b3f0c160 100644 --- a/docs/manual/forhumans.html +++ b/docs/manual/forhumans.html @@ -7,7 +7,7 @@ - An Explanation of Reticulum for Human Beings - Reticulum Network Stack 1.3.6 documentation + An Explanation of Reticulum for Human Beings - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -296,7 +296,7 @@
- + diff --git a/docs/manual/genindex.html b/docs/manual/genindex.html index dd6590fc..62056d2d 100644 --- a/docs/manual/genindex.html +++ b/docs/manual/genindex.html @@ -5,7 +5,7 @@ - Index - Reticulum Network Stack 1.3.6 documentation + Index - Reticulum Network Stack 1.3.7 documentation @@ -178,7 +178,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -202,7 +202,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -846,7 +846,7 @@
- + diff --git a/docs/manual/gettingstartedfast.html b/docs/manual/gettingstartedfast.html index 909b7323..6389089b 100644 --- a/docs/manual/gettingstartedfast.html +++ b/docs/manual/gettingstartedfast.html @@ -7,7 +7,7 @@ - Getting Started Fast - Reticulum Network Stack 1.3.6 documentation + Getting Started Fast - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -776,7 +776,7 @@ section of this manual.

- + diff --git a/docs/manual/git.html b/docs/manual/git.html index ed75d837..9571c73b 100644 --- a/docs/manual/git.html +++ b/docs/manual/git.html @@ -7,7 +7,7 @@ - Git Over Reticulum - Reticulum Network Stack 1.3.6 documentation + Git Over Reticulum - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -1594,7 +1594,7 @@ done
- + diff --git a/docs/manual/hardware.html b/docs/manual/hardware.html index f457895d..b7235749 100644 --- a/docs/manual/hardware.html +++ b/docs/manual/hardware.html @@ -7,7 +7,7 @@ - Communications Hardware - Reticulum Network Stack 1.3.6 documentation + Communications Hardware - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -676,7 +676,7 @@ can be used with Reticulum. This includes virtual software modems such as
- + diff --git a/docs/manual/index.html b/docs/manual/index.html index 2a3bfebf..04771fba 100644 --- a/docs/manual/index.html +++ b/docs/manual/index.html @@ -7,7 +7,7 @@ - Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -719,7 +719,7 @@ to participate in the development of Reticulum itself.

- + diff --git a/docs/manual/interfaces.html b/docs/manual/interfaces.html index b4e989df..4f4e781d 100644 --- a/docs/manual/interfaces.html +++ b/docs/manual/interfaces.html @@ -7,7 +7,7 @@ - Configuring Interfaces - Reticulum Network Stack 1.3.6 documentation + Configuring Interfaces - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -1803,7 +1803,7 @@ interface basis under the relevant interface configuration section.

- + diff --git a/docs/manual/license.html b/docs/manual/license.html index f4b2c169..11ba51ff 100644 --- a/docs/manual/license.html +++ b/docs/manual/license.html @@ -7,7 +7,7 @@ - Reticulum License - Reticulum Network Stack 1.3.6 documentation + Reticulum License - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -345,7 +345,7 @@ SOFTWARE.
- + diff --git a/docs/manual/networks.html b/docs/manual/networks.html index bf51064b..5388caa2 100644 --- a/docs/manual/networks.html +++ b/docs/manual/networks.html @@ -7,7 +7,7 @@ - Building Networks - Reticulum Network Stack 1.3.6 documentation + Building Networks - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -664,7 +664,7 @@ differently than a mobile device roaming between radio cells.

- + diff --git a/docs/manual/objects.inv b/docs/manual/objects.inv index af58859c48fcae64271c87f89743441a4b9dd66e..67c39fdc63d0da4e1973cabed9e26757ccce7519 100644 GIT binary patch delta 12 TcmaDQ@k(NXKco4^04W{-A-)7d delta 12 TcmaDQ@k(NXKcm^k04W{-A-M!X diff --git a/docs/manual/reference.html b/docs/manual/reference.html index e11a1ea8..77aad93a 100644 --- a/docs/manual/reference.html +++ b/docs/manual/reference.html @@ -7,7 +7,7 @@ - API Reference - Reticulum Network Stack 1.3.6 documentation + API Reference - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -2519,7 +2519,7 @@ will announce it.

- + diff --git a/docs/manual/search.html b/docs/manual/search.html index 14e45812..e68e38fc 100644 --- a/docs/manual/search.html +++ b/docs/manual/search.html @@ -8,7 +8,7 @@ -Search - Reticulum Network Stack 1.3.6 documentation +Search - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -304,7 +304,7 @@
- + diff --git a/docs/manual/software.html b/docs/manual/software.html index 7be7ba27..135c0030 100644 --- a/docs/manual/software.html +++ b/docs/manual/software.html @@ -7,7 +7,7 @@ - Programs Using Reticulum - Reticulum Network Stack 1.3.6 documentation + Programs Using Reticulum - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -513,7 +513,7 @@ plugin system for expandability.

- + diff --git a/docs/manual/support.html b/docs/manual/support.html index cc129e01..c3160530 100644 --- a/docs/manual/support.html +++ b/docs/manual/support.html @@ -7,7 +7,7 @@ - Support Reticulum - Reticulum Network Stack 1.3.6 documentation + Support Reticulum - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -383,7 +383,7 @@ circumstances, so we rely on old-fashioned human feedback.

- + diff --git a/docs/manual/understanding.html b/docs/manual/understanding.html index a9e60720..ab0ccdbf 100644 --- a/docs/manual/understanding.html +++ b/docs/manual/understanding.html @@ -7,7 +7,7 @@ - Understanding Reticulum - Reticulum Network Stack 1.3.6 documentation + Understanding Reticulum - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -1118,7 +1118,7 @@ those risks are acceptable to you.

- + diff --git a/docs/manual/using.html b/docs/manual/using.html index ee578066..bf7dea91 100644 --- a/docs/manual/using.html +++ b/docs/manual/using.html @@ -7,7 +7,7 @@ - Using Reticulum on Your System - Reticulum Network Stack 1.3.6 documentation + Using Reticulum on Your System - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -1639,7 +1639,7 @@ systemctl --user enable rnsd.service
- + diff --git a/docs/manual/whatis.html b/docs/manual/whatis.html index 8895091e..18cfc11f 100644 --- a/docs/manual/whatis.html +++ b/docs/manual/whatis.html @@ -7,7 +7,7 @@ - What is Reticulum? - Reticulum Network Stack 1.3.6 documentation + What is Reticulum? - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -505,7 +505,7 @@ network, and vice versa.

- + diff --git a/docs/manual/zen.html b/docs/manual/zen.html index e5ebcf38..8c8f434a 100644 --- a/docs/manual/zen.html +++ b/docs/manual/zen.html @@ -7,7 +7,7 @@ - Zen of Reticulum - Reticulum Network Stack 1.3.6 documentation + Zen of Reticulum - Reticulum Network Stack 1.3.7 documentation @@ -180,7 +180,7 @@
-
Reticulum Network Stack 1.3.6 documentation
+
Reticulum Network Stack 1.3.7 documentation
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.3.6 documentation + Reticulum Network Stack 1.3.7 documentation @@ -677,7 +677,7 @@ Imagine a messaging app. You write it once. It works on a laptop connected to fi
- +