Commit Graph
2705 Commits
Author SHA1 Message Date
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
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 e09ee919a5 Release capture before service ownership and report startup failures 2026-10-12 02:29:26 +02:00
evgeny c9743ee85d Exercise Android stream queues and teardown against a live core 2026-10-12 02:29:08 +02:00
evgeny 0c613eacbc Show verified source snapshots without borrowing core pointers 2026-10-12 02:28:02 +02:00
evgeny 6c692399c2 Build verified live source snapshots in the core thread 2026-10-12 02:27:44 +02:00
evgeny 4fc1f31651 Prevent competing Android capture while broadcasting 2026-10-12 02:07:04 +02:00
evgeny d4ca812578 Open live streams from Android channel navigation 2026-10-12 02:07:04 +02:00
evgeny 8502d6f2d7 Add localized Android stream controls and player screen 2026-10-12 02:06:27 +02:00
evgeny ee851b4aa6 Play live streams with bounded queues and audio clock synchronization 2026-10-12 02:04:38 +02:00
evgeny f2a5dde761 Declare stream camera permissions and cancel capture at core restart 2026-10-12 02:02:48 +02:00