Commit Graph
727 Commits
Author SHA1 Message Date
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 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 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 e8adf03826 Preserve stream control events when discarding delayed media 2026-10-12 02:42:01 +02:00
evgeny 1209d8e4b7 Keep video clock moving through audio underruns and drain final playback 2026-10-12 02:30:36 +02:00
evgeny c9743ee85d Exercise Android stream queues and teardown against a live core 2026-10-12 02:29:08 +02:00
evgeny 6f544b4ca2 Add Android JNI transport and independent stream Opus codecs 2026-10-12 01:51:10 +02:00
evgeny 0ee1163a0b Bind Android media queues to core lifetime and source epochs 2026-10-12 01:50:07 +02:00
evgeny 938289a6f0 Include Android streaming bridge and refine malformed wire tests 2026-10-12 01:49:40 +02:00
evgeny fc3518f5ba Test media boundaries FEC losses and keyframe recovery 2026-10-12 01:46:06 +02:00
evgeny 5c23c10c04 Register audiovisual stream sources and regression target 2026-10-12 01:46:06 +02:00
evgeny 4f9fefe9e5 Test and document NCD ownership protecting CM direct probes beyond down timeout 2026-10-12 01:34:44 +02:00
evgeny fdaa20977d Recheck expired down lifetime when the last NCD owner releases it 2026-10-12 01:34:44 +02:00
evgeny 24c64967fd Propagate remote UDP link DOWN to the connection expiry timer 2026-10-12 01:34:44 +02:00
evgeny 85b4af5b1d Shorten RX deadline immediately when a sleeping peer wakes 2026-10-12 01:34:44 +02:00
evgeny 2e66cdb122 Preserve cancellation of pending outgoing attempts and size packet fixture correctly 2026-10-12 01:34:44 +02:00
evgeny 1c53ef597d Register lifecycle regressions and cancel timers owned by synthetic fixtures 2026-10-12 01:34:44 +02:00
evgeny 0ba8380db4 Test incoming ETCP expiry, reconnect, sleep and graceful close 2026-10-12 01:34:44 +02:00
evgeny b852058501 Record validated STUN fallback, sanitizer checks and IPv6 follow-up 2026-10-12 01:31:29 +02:00
evgeny b3830e0264 Document signed profile source and reproducible isolated STUN bench 2026-10-12 01:28:49 +02:00
evgeny 9f907d0f31 Stop NAT detectors before service callbacks and verify STUN restart isolation 2026-10-12 01:25:59 +02:00
evgeny 152ebfef48 Release retained STUN port history during final core destruction 2026-10-12 01:24:00 +02:00
evgeny 3735b78328 Verify STUN cache expiry and preserve partial ETCP measurement priority 2026-10-12 01:20:56 +02:00
evgeny 709b0a3271 Wait for the real observer link and distribute STUN bench scripts 2026-10-12 01:15:31 +02:00
evgeny 8c5e4ab691 Exercise STUN fallback and ETCP promotion with real namespace NAT 2026-10-12 01:14:09 +02:00
evgeny a581cb2086 Add isolated STUN fallback scenario and equivalent NAT for test ports 2026-10-12 01:12:28 +02:00
evgeny f433413c49 Test deduplicated STUN groups and fallback promotion through real ETCP 2026-10-12 01:01:11 +02:00
evgeny 164a3a1f0f Keep connection attempts available for STUN hints and verify signed provenance 2026-10-12 00:58:50 +02:00
evgeny 5c83aac96e Adapt STUN diagnostics to endpoint profiles and helper sockets 2026-10-12 00:03:07 +02:00
evgeny 39dd038831 Record ASAN validation of endpoint detector lifecycle 2026-10-12 00:01:40 +02:00
evgeny ff69552a61 Measure owned endpoint mapping and inbound reachability separately 2026-10-12 00:01:40 +02:00
evgeny 5eb1c86acf Include stream bench validation notes in source distribution 2026-10-12 00:01:40 +02:00
evgeny b8f8818eef Record validated stream bench runs and explicit RPC error diagnostics 2026-10-12 00:01:40 +02:00
evgeny 89c6482a96 Record clean NAT startup and monotonic restart contract in stream specification 2026-10-12 00:01:40 +02:00
evgeny d44b4bc682 Test repeated restart before deferred GAP and prohibit replay under overload 2026-10-12 00:01:40 +02:00
evgeny 1969ca5535 Require monotonic consumer cursor across stream receive restart 2026-10-12 00:01:40 +02:00
evgeny 5084670820 Recreate bench network after calibration to clear NAT and conntrack state 2026-10-12 00:01:40 +02:00
evgeny e78eaf45f7 Document namespace stream bench and completion after consumer drain 2026-10-12 00:01:40 +02:00
evgeny a4e899807c Clear closed fixture handles before terminal stream regression 2026-10-12 00:01:40 +02:00
evgeny d99b0e5525 Reproduce automatic stream stall after early END with incomplete FEC batch 2026-10-12 00:01:40 +02:00
evgeny 46ac9a03b9 Add forced TCP bench mode and verify observed source timestamp wraps 2026-10-12 00:01:40 +02:00
evgeny 57bf4e490d Bound namespace startup and measure LAN quality before stream tests 2026-10-12 00:01:40 +02:00
evgeny 649be77fa3 Use core clock for stream metrics and require new data after WAN recovery 2026-10-12 00:01:40 +02:00
evgeny 5c1bb06294 Expose source clock and stream metrics in bench snapshots 2026-10-12 00:01:40 +02:00
evgeny 284b603e6e Account initial GAP independently of first delivered stream record 2026-10-12 00:01:40 +02:00