Repository navigation
feat(diagnostics): TURN preflight warns when the relay accepts an unauthenticated Allocate (#9372) - #9506
Conversation
…uthenticated Allocate (#9372) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Deploying breeze with
|
| Latest commit: |
040fb85
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://03457d8f.breeze-9te.pages.dev |
| Branch Preview URL: | https://fix-9372-turn-unauth-allocat.breeze-9te.pages.dev |
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Review run: /pr-review-toolkit:review-pr (code-reviewer, silent-failure-hunter, pr-test-analyzer) |
Closes #9372
What changed
services/system/connections/turnPreflight.ts: pure RFC 5766 Allocate builder (type 0x0003, no MESSAGE-INTEGRITY) and response classifier (401 / Allocate Success / other error / invalid), plus a UDPdgramtransport behind an injectable seam. No new dependency.serve()(never rejects, never delays boot).warnlogs[turn-preflight]with the text that clients will never get a relay candidate; timeout/socket error isinfo, not a failure; noTURN_HOSTisskipped.GET /admin/system/connections/turn(cached startup result) andPOST /admin/system/connections/turn/probe(re-probe). Host and raw error text are never echoed.deploy/turn-server.mdx): image runs asnobody(uid 65534) so a bind-mounted config must be world-readable or owned by 65534;WARNING: Cannot find config filemeans defaults; troubleshooting entry for the no-relay-candidate symptom.Gates
vitest runturnPreflight (16), systemConnectionsTurn (4), existing systemConnections + Probe suites: 4 files, 37 tests pass.tsc --noEmit -p tsconfig.src.json: exit 0. (The fulltsconfig.json, which includes tests, OOMs at 12 GB on this host; not caused by this change.)warn;--use-auth-secretserver →ok(401); closed port →info(timeout).Merge Danger
Door: two-way; revert removes a diagnostic.
Blast radius: one outbound UDP packet to the operator-configured TURN host at boot; no session behaviour change.
🤖 Generated with Claude Code