field_ios

In-the-field app for Radroots on iOS
git clone https://radroots.dev/git/field_ios.git
Log | Files | Refs | README | LICENSE

commit d2f667e0de3b05f68c7735a0733854bd30ba4fe5
parent 904a4402c7f9ed9918e8d06506443459804a2d3f
Author: triesap <tyson@radroots.org>
Date:   Tue, 25 Aug 2026 21:53:34 +0000

mobile-core: align device relay policy coverage

- accept plaintext relay URLs for literal RFC1918 device peers
- retain rejection of public DNS names under device policy
- retain rejection of loopback and link-local destinations
- bind the downstream context model to the shared transport policy

Diffstat:
Mcore/crates/tera_core/src/runtime/product_surface/context.rs | 21++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/core/crates/tera_core/src/runtime/product_surface/context.rs b/core/crates/tera_core/src/runtime/product_surface/context.rs @@ -441,7 +441,26 @@ mod tests { 0, LocalNetworkRelayPolicy::Device, ) - .is_err() + .is_ok() ); + for denied in [ + "wss://relay.example", + "ws://127.0.0.1:7447", + "ws://169.254.1.7:7447", + "ws://8.8.8.8:7447", + ] { + assert!(matches!( + LocalNetwork::new_for_relay_policy( + "id".into(), + "label".into(), + vec![denied.into()], + None, + vec![], + 0, + LocalNetworkRelayPolicy::Device, + ), + Err(LocalNetworkError::InvalidRelay) + )); + } } }