Commit Graph
259 Commits
Author SHA1 Message Date
evgeny 7f4ac2fadf Register radio invitation service and shared core events 2026-10-19 13:56:17 +02:00
evgeny 60e040677b Declare attachment grant service and lifecycle state 2026-10-18 02:13:40 +02:00
evgeny df2f6ff300 feat(nat): confirm direct open profile from accepted public connections 2026-10-18 00:41:53 +02:00
evgeny 5eb3526186 etcp: exchange observed IPs on established TCP links 2026-10-17 19:46:02 +02:00
evgeny d7ad58b380 docs: clarify STUN result fields and API usage 2026-10-17 18:50:39 +02:00
evgeny 88ac08333e nat: use same-interface STUN mapping as tentative EIM 2026-10-17 18:45:02 +02:00
evgeny df80c5745d transport: support one-way authenticated NAT probes 2026-10-17 15:24:57 +02:00
evgeny 919c3d76fe Fix peer standby cancellation on normal keepalive from a new link 2026-10-16 12:46:27 +02:00
evgeny 609221e384 Separate call audio and video from signaling queues 2026-10-14 20:48:27 +02:00
evgeny b6652c7c7f Record unique acknowledged packets at the instance transport boundary 2026-10-14 01:06:56 +02:00
evgeny ac89601fc5 Add instance lifetime ACK windows and exclusive ETCP send queue snapshots 2026-10-14 01:06:32 +02:00
evgeny 57d2828496 Separate stream routing from member files and scope relay activation 2026-10-13 09:14:06 +02:00
evgeny 90d3206071 Confirm new TCP sessions and bound reciprocal challenge retries
Negotiate new TCP sessions even when the peer epoch is known, and let the retry timer send reciprocal challenges to avoid feedback loops when confirmations are lost.

Cover peer restarts, simultaneous connects, REALITY, confirmation loss, second links, stale confirmations and deadlines. Remove forced client resets and count only validated test payloads in the UDP reconnect test.

Validation: 149 tests passed; proxy, burst and load integration tests passed; Android assembleDebug succeeded.
2026-10-12 21:29:41 +02:00
evgeny 3b894753b1 Trigger NAT rechecks after direct timeout and exhausted reverse 2026-10-12 20:25:42 +02:00
evgeny 179aa0ef35 Release received packets when cold NAT priority defers PONG 2026-10-12 20:05:47 +02:00
evgeny 8906e29102 Keep background PONG replies from contaminating cold ingress checks 2026-10-12 19:01:13 +02:00
evgeny 9324b8af8c Give initial NAT measurements bounded priority without opening filters 2026-10-12 18:50:08 +02:00
evgeny a0a4493ef2 Measure helper endpoints and protect controlled UDP ingress trials 2026-10-12 17:57:22 +02:00
evgeny 2e7da4f3cc Define grouped NAT probe tags and a routed control service 2026-10-12 17:43:27 +02:00
evgeny e47ae480f5 Remove time-dependent profile matching from connection setup 2026-10-12 17:01:28 +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 fdaa20977d Recheck expired down lifetime when the last NCD owner releases it 2026-10-12 01:34:44 +02:00
evgeny 11f1a14063 Retain down ETCP connections while local NCD handles exist 2026-10-12 01:34:44 +02:00
evgeny 0d7f7630b0 Expose actual NCD handle ownership for an ETCP transport 2026-10-12 01:34:44 +02:00
evgeny 6704a18897 Clarify independent RX watchdog and sleep-aware graceful close deadlines 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 b57221f6b5 Document ETCP down retention and separate RX lifetime from keepalive sending 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 f090d697c4 Initialize inbound graceful close and honor remote transport ownership 2026-10-12 01:34:44 +02:00
evgeny 3cfdb9e6ec Keep a finite RX deadline while ETCP keepalive sending is suspended 2026-10-12 01:34:44 +02:00
evgeny 034be69ac1 Expire ETCP transports after 30 seconds continuously down 2026-10-12 01:34:44 +02:00
evgeny 3d5f009380 Keep STUN port history owned by the core across configuration reloads 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 f433413c49 Test deduplicated STUN groups and fallback promotion through real ETCP 2026-10-12 01:01:11 +02:00
evgeny 6beae21ec4 Group STUN probes by interface path and refresh independent-port results 2026-10-12 00:55:29 +02:00
evgeny 5c83aac96e Adapt STUN diagnostics to endpoint profiles and helper sockets 2026-10-12 00:03:07 +02:00
evgeny ff69552a61 Measure owned endpoint mapping and inbound reachability separately 2026-10-12 00:01:40 +02:00
evgeny aa3fb9cac7 Admit reverse-capable providers without requiring an outgoing-compatible address 2026-10-12 00:01:39 +02:00
evgeny ca5a374042 Expose side-effect-free NCD transport compatibility using shared link matching 2026-10-12 00:01:39 +02:00
evgeny 18fe51ad25 Define direct stream messages, paths and signed completion 2026-10-12 00:01:39 +02:00
evgeny 2c5deafe56 Add independent STUN NAT probes with RFC 5780 discovery 2026-10-11 23:35:47 +02:00
evgeny 12d4e2433e dummynet: route between explicit independently bound endpoints 2026-10-10 16:46:19 +02:00
evgeny dc0dbbf720 headless: expose OS-assigned control and audio listener ports 2026-10-10 15:51:04 +02:00
evgeny 98529b3268 tests: allocate STCP traffic and link listener ports automatically 2026-10-10 15:32:47 +02:00
evgeny 991fc0a2c1 transport: publish ports assigned by the operating system 2026-10-10 15:26:08 +02:00
evgeny 3f9edc88c4 Make privilege, port and fd handling reliable in tests 2026-10-10 13:09:45 +02:00
evgeny 1bb885fd11 logging: explain failed probes and RTT persistence errors 2026-10-07 21:15:39 +02:00