mirror of
https://github.com/jmcorgan/fips.git
synced 2026-08-09 08:14:42 +00:00
A mesh-edge node (only direct BLE / Wi-Fi Aware / LAN peers, sparse bloom filters) could not route to its own directly-connected neighbours: a neighbour is never in another peer's bloom filter, so discovery was gated off and find_next_hop had no coordinates. Traffic to such a peer failed with "no route to destination" even with an established session. - discovery: don't suppress a lookup on a bloom miss unless we have >2 peers (trustworthy blooms); and when no tree peer advertises the target, flood the LookupRequest to every sendable peer — including the target itself, which answers a lookup for its own address, so the querier learns its coordinates and can route. - session: when an established-session send hits no-route, trigger discovery (previously only session *initiation* did), so a coordless session — e.g. a platform-pushed peer whose Noise handshake came up before tree discovery — self-warms and the app's retransmit succeeds. - node: add Node::enable_app_owned_dns() — returns the DnsIdentityTx an embedder (Android VpnService pump) uses to register identities it resolved itself, giving the same identity-cache/route-warming the built-in DNS responder provides.