Skip to content

fix(device): isolate and bound receiver pre-authentication admission - #251

Merged
abruption merged 3 commits into
mainfrom
abruption/v103-issue-233-receiver
Oct 5, 2026
Merged

abruption merged 3 commits into
mainfrom
abruption/v103-issue-233-receiver

Conversation

@abruption

Copy link
Copy Markdown
Owner

Summary

Separate bounded direct/relay pre-authentication admission from the authenticated lane. Introduce explicit two-second handshake and cert-less bootstrap deadlines, close-safe admission cleanup, aggregate counters, and opt-in rate-bounded diagnostics. Document the limits in four languages.

Closes #233

Type

  • fix

Checklist

  • Real loopback TLS fixtures and scoped teardown/error regression tests.
  • Documentation/i18n hashes checked; no user identities or live accounts.
  • Real high-latency network validation (not performed).

Verified against

Python 3.13.7/websockets 17.1, macOS arm64, -X dev -W error::ResourceWarning: independently reran 22 admission/i18n tests. Worker relay suite passed 155. Genuine paired direct and relay requests succeed with eight idle/slow-TLS direct sockets; over-deadline fixtures never invoke native delivery. Independent read-only review follow-up completed.

Notes

Direct pre-authentication limit 16, relay limit 2, authenticated limit 8; this is isolation and bounded resource use, NOT arbitrary-flood availability. Two seconds is each protocol deadline, not a total socket-lifetime claim: closing may add time. Authentication-lane saturation and high-latency peers remain limitations. No production settings, service restart or release; draft only.

@abruption abruption added this to the v1.0.3 milestone Oct 3, 2026
@abruption
abruption merged commit 98362bf into main Oct 5, 2026
28 checks passed
@abruption
abruption deleted the abruption/v103-issue-233-receiver branch October 5, 2026 00:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(device): keep unauthenticated sockets from exhausting the receiver connection cap

1 participant