Commit Graph
2716 Commits
Author SHA1 Message Date
evgeny 2dc7e8d206 Document failure recheck limits and validate requested endpoints 2026-10-12 20:26:12 +02:00
evgeny 3b894753b1 Trigger NAT rechecks after direct timeout and exhausted reverse 2026-10-12 20:25:42 +02:00
evgeny 952fbe68e2 Schedule bounded endpoint rechecks after compatible UDP failure 2026-10-12 20:25:20 +02:00
evgeny 99382cf823 Cancel UDP route probes with their contexts before socket teardown 2026-10-12 20:21:02 +02:00
evgeny ceab874abc Wait for complete NAT cycles and test an indirect private helper 2026-10-12 20:18:21 +02:00
evgeny 2354e94347 Expose pending NAT candidate cycles in local diagnostic status 2026-10-12 20:17:44 +02:00
evgeny 2ba011d3fd Document grouped control, isolated helper ports and ingress correlation 2026-10-12 20:07:49 +02:00
evgeny 179aa0ef35 Release received packets when cold NAT priority defers PONG 2026-10-12 20:05:47 +02:00
evgeny bb01f243fe Allow routed observers in the NAT integration assertions 2026-10-12 19:54:39 +02:00
evgeny 3635bcf3a9 Keep connection-manager background pings out of cold NAT trials 2026-10-12 19:44:28 +02:00
evgeny e60b03916a Test automatic detection in another group over a TCP routed helper 2026-10-12 19:30:42 +02:00
evgeny 9a24ac6bdf Try controlled ingress before asking the broker for helper mapping 2026-10-12 19:27:58 +02:00
evgeny f71e94c9d8 Trace the first UDP contacts that affect cold NAT classification 2026-10-12 19:17:06 +02:00
evgeny 8906e29102 Keep background PONG replies from contaminating cold ingress checks 2026-10-12 19:01:13 +02:00
evgeny 9bd113054c Defer reachability probes while the first NAT ingress is protected 2026-10-12 18:50:08 +02:00
evgeny 9324b8af8c Give initial NAT measurements bounded priority without opening filters 2026-10-12 18:50:08 +02:00
evgeny 585834ffbe Isolate helper traffic from the measured working sockets 2026-10-12 18:47:54 +02:00
evgeny 96fa1990b0 Keep detection attempt counters and network fixtures group-aware 2026-10-12 18:20:47 +02:00
evgeny 0ee431b490 Prefer untouched helper IPs and exercise NAT through real groups 2026-10-12 18:13:29 +02:00
evgeny 8990574c1d Complete grouped NAT control and cancel tasks with group lifetime 2026-10-12 18:08:47 +02:00
evgeny a0a4493ef2 Measure helper endpoints and protect controlled UDP ingress trials 2026-10-12 17:57:22 +02:00
evgeny 77ca1ec3dd Select NAT candidates across groups and route authenticated control 2026-10-12 17:50:45 +02:00
evgeny 2e7da4f3cc Define grouped NAT probe tags and a routed control service 2026-10-12 17:43:27 +02:00
evgeny a97589e4a6 Check desktop address rendering with compact NAT profiles 2026-10-12 17:18:23 +02:00
evgeny 53c32e5669 Document compact NAT profiles and stable measurement lifetime 2026-10-12 17:13:22 +02:00
evgeny 5429431567 Invalidate changed endpoints and verify the Android address contract 2026-10-12 17:11:56 +02:00
evgeny 6272c8a4ad Verify compact address snapshots, migration and Android JSON 2026-10-12 17:10:48 +02:00
evgeny 89f031f4f9 Keep STUN round diagnostics separate from published NAT profiles 2026-10-12 17:07:35 +02:00
evgeny ba29adf6ef Test stable published profiles across repeated NAT measurements 2026-10-12 17:06:35 +02:00
evgeny 61132a3e84 Align socket monitoring with compact address profiles 2026-10-12 17:05:23 +02:00
evgeny db8a5ee2df Retain stable NAT results and compact the address database 2026-10-12 17:04:59 +02:00
evgeny e47ae480f5 Remove time-dependent profile matching from connection setup 2026-10-12 17:01:28 +02:00
evgeny f900cda9c0 Use the last published address profile without a time limit 2026-10-12 17:01:02 +02:00
evgeny 38eaae8bb6 Remove measurement IDs and timestamps from NODEINFO profiles 2026-10-12 17:00:38 +02:00
evgeny d2e62874bb Fix Android member details layout and address formatting 2026-10-12 16:40:40 +02:00
evgeny a96d5926c7 Fix Android external network monitoring and startup readiness
Select frontend network callbacks for auto_sockets=android instead of opening a denied netlink monitor. Preserve monitor descriptor ownership, keep native monitoring failures fatal, and release caller config on failed Android core creation and restart.

Register ConnectivityManager before requesting startup, report readiness after SERVICE_STARTED, and refresh addresses after initialization with serialized updates and generation checks. Add regression coverage for denied netlink, socket failures, address updates, and fd=0 preservation. Record the separate cancellation issue for startup before readiness.

Validation: full check.sh passed, including proxy/burst/load integrations. Clean Android build installed successfully on SM-A525F and Q8; logcat confirms both cores initialized and entered the poll loop with external monitoring and post-start address refresh.
2026-10-12 16:01:26 +02:00
evgeny 72e2c89e3b Fix sockless TCP keepalive and require complete UTUN initialization
Receive keepalive through the owning ETCP link, preserve RX deadlines, and report routing metrics without TUN. Use independent netlink requests and track installed routes for rollback. Reject incomplete resource initialization and release partially constructed cores while preserving caller config ownership.

Validated startup failure and rollback, padded keepalive, standby, STCP traffic, transport lifecycle, dynamic sockets, and daemon startup. Real TUN/netlink checks passed in an isolated Linux network namespace; modified modules passed FreeBSD compilation checks.
2026-10-12 14:24:32 +02:00
evgeny bb256dccdc Extend Android playback counters across long running streams 2026-10-12 12:54:13 +02:00
evgeny a043dc9a42 Bound audio writes and release codecs after failed initialization 2026-10-12 11:49:09 +02:00
evgeny 98dcaae853 Close viewers on malformed media and release terminal owners immediately 2026-10-12 11:46:13 +02:00
evgeny eee67ac9d9 Close local preview when its publication ends 2026-10-12 11:36:07 +02:00
evgeny af580d9d90 Record Android viewer lifecycle and persisted snapshot diagnostics 2026-10-12 11:31:26 +02:00
evgeny 039c0f71f5 Pause viewers in the background and keep visible playback awake 2026-10-12 11:30:36 +02:00
evgeny 150b3c3bdb Explain invalid media metadata and codec transitions in logs 2026-10-12 11:26:27 +02:00
evgeny 1dcf6a79ce Reject overlapping core ownership of Android stream handles 2026-10-12 11:26:27 +02:00
evgeny 18661f0ef0 Constrain live preview while keeping stream controls visible 2026-10-12 11:21:30 +02:00
evgeny ef76ca5de3 Document audiovisual stream format and Android ownership contracts 2026-10-12 07:24:13 +02:00
evgeny dac5f98052 Select local preview from the verified source snapshot 2026-10-12 07:22:43 +02:00
evgeny c2c202e716 Mute local preview and clear Android media queues at detach 2026-10-12 07:22:43 +02:00
evgeny c1b1713ab1 Verify Android AVC normalization and keyframe configuration 2026-10-12 02:47:15 +02:00