Commit Graph
298 Commits
Author SHA1 Message Date
evgeny 3b24e7e207 Describe media source lifetime, callback ownership and publication ordering 2026-10-22 19:40:38 +02:00
evgeny 9b4974f02d Unify media source and relay transmission with owned buffers 2026-10-22 19:11:26 +02:00
evgeny 5de0eb5115 Filter both directions of the main TUN and remove obsolete firewall guide 2026-10-21 19:49:32 +02:00
evgeny 9ba78c084b docs: correct topology API and router timeout descriptions 2026-10-21 15:40:56 +02:00
evgeny f59f64ea48 docs: remove reviewed header backup files 2026-10-21 15:22:42 +02:00
evgeny f5f106c682 docs: clarify header APIs and preserve originals in .h1 2026-10-21 15:21:27 +02:00
evgeny abf342534f Encrypt P2P call media and validate service IDs
Require signed and encrypted call audio/video using static identity keys. Fix attachment service ID collisions and media download handle lifetime; isolate LAN tests and audit the shared service registry.
2026-10-21 15:06:27 +02:00
evgeny b250e8a44d Cover multicast report backpressure, chunking and timer cleanup 2026-10-20 15:08:59 +02:00
evgeny 961c3447d0 Create multicast report channel before checking backpressure 2026-10-20 15:05:16 +02:00
evgeny 4a1a65c3ba Implement multicast descriptors and receiver subscriptions 2026-10-20 14:53:23 +02:00
evgeny e416d69212 Define descriptor-based multicast API and usage contract 2026-10-20 14:44:23 +02:00
evgeny 8d5459f8fa Connect multicast queues to topology updates and builds 2026-10-20 14:34:55 +02:00
evgeny b02ad6f4cf Add multicast branching queues and bounded loss reports 2026-10-20 14:33:40 +02:00
evgeny 7ed1a9b167 Carry phone presence in existing BGP and member flag bytes 2026-10-19 14:46:47 +02:00
evgeny 505185430c Define live phone presence and call continuation API 2026-10-19 14:46:16 +02:00
evgeny dcdc700d8d Remove temporary per-packet file routing diagnostics 2026-10-18 15:06:54 +02:00
evgeny 75d383f89d docs(nat): describe passive incoming connection evidence 2026-10-18 00:59:11 +02:00
evgeny df2f6ff300 feat(nat): confirm direct open profile from accepted public connections 2026-10-18 00:41:53 +02:00
evgeny 37e092672a fix(nat): retain cold ingress reservation after partial measurements 2026-10-17 23:53:09 +02:00
evgeny 305b61ccab fix(nat): advance after an unfinished pair uses its full retry budget 2026-10-17 23:43:21 +02:00
evgeny a72e514dc5 fix(nat): keep fresh ingress checks active during profile rechecks 2026-10-17 23:38:52 +02:00
evgeny 6ad3674904 fix(nat): continue helper traversal after partial mapping results 2026-10-17 23:37:10 +02:00
evgeny c69f8d8975 fix(nat): notify GUI and include profiles in Android socket snapshots 2026-10-17 22:07:58 +02:00
evgeny d2a8e6fda7 db: accept TCP IP-only addresses while preserving stored projections 2026-10-17 19:58:54 +02:00
evgeny 857092508a docs: explain TCP NAT presence and IP-only addresses 2026-10-17 19:53:34 +02:00
evgeny c42d75c2f5 nat: limit helper selection and topology retries to UDP 2026-10-17 19:49:42 +02:00
evgeny 5c0db6ce9e nat: remove TCP listener probes from endpoint detection 2026-10-17 19:47:37 +02:00
evgeny 6363c8b7ea nat: publish TCP external IPs with an unknown port 2026-10-17 19:46:33 +02:00
evgeny 95f209d098 nat: determine TCP translation from one public IP observation 2026-10-17 19:45:29 +02:00
evgeny dbe2640e74 nat: reject local STUN paths as Internet mapping evidence 2026-10-17 18:50:10 +02:00
evgeny f5d923a671 tests: cover tentative STUN mapping, expiry and native priority 2026-10-17 18:46:38 +02:00
evgeny 417b848b50 nat: publish observed working addresses with tentative STUN profiles 2026-10-17 18:45:20 +02:00
evgeny 88ac08333e nat: use same-interface STUN mapping as tentative EIM 2026-10-17 18:45:02 +02:00
evgeny aede36388f docs: define EIM? as matching mapping with unknown inbound access 2026-10-17 18:27:16 +02:00
evgeny 58755dd75e nat: distinguish EIM with unverified unsolicited ingress 2026-10-17 18:19:23 +02:00
evgeny bbb8cff4a6 nat: prefer fresh public helpers while retaining known mapping candidates 2026-10-17 18:10:23 +02:00
evgeny eb09a675c7 nat: preserve the NAT address kind when mapping is unknown 2026-10-17 18:01:09 +02:00
evgeny 4284233e6f nat: keep unchanged public addresses distinct from unknown NAT 2026-10-17 17:59:22 +02:00
evgeny 5a8b05c50f nat: try known mapping peers before observer-only fallback 2026-10-17 17:57:15 +02:00
evgeny 78f71ddbb0 nat: distinguish public interface addresses from unknown NAT candidates 2026-10-17 17:53:20 +02:00
evgeny 37461bb938 nat: finish observer-only rounds and document unknown-type candidates 2026-10-17 17:50:28 +02:00
evgeny 79d8789410 nat: prioritize mapping candidates and label unknown NAT explicitly 2026-10-17 17:47:18 +02:00
evgeny 6037819269 nat: retain observed candidates and continue mapping after ingress failures 2026-10-17 17:45:24 +02:00
evgeny b96ae1a718 docs: introduce NAT detector results and basic usage 2026-10-17 17:18:07 +02:00
evgeny 6a2164717e docs: describe NAT detector state and public API arguments 2026-10-17 17:12:40 +02:00
evgeny 83efa229ed nat: reject local probe sources and preserve internet profiles on LAN 2026-10-17 16:54:07 +02:00
evgeny 308eb07742 docs: align endpoint and STUN contracts with the implemented detector 2026-10-17 16:32:08 +02:00
evgeny 4fab849917 nat: align probe timing and test receiver IP rejection and endpoint failover 2026-10-17 16:06:21 +02:00
evgeny 38447da5e8 nat: retry partial ingress measurements and keep known-IP anchor replies available 2026-10-17 16:02:01 +02:00
evgeny 26ab3b13b4 nat: separate routed mapping reports from unsolicited UDP ingress 2026-10-17 15:43:38 +02:00