Skip to content

fix: bound native frame parsing before allocation - #123

Merged
RobLe3 merged 1 commit into
mainfrom
codex/pre1-native-frame-hardening
Aug 28, 2026
Merged

RobLe3 merged 1 commit into
mainfrom
codex/pre1-native-frame-hardening

Conversation

@RobLe3

@RobLe3 RobLe3 commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • enforce the payload-only 16 MiB frame limit before allocation and encoding
  • reject unsupported header and negotiated versions
  • require a valid INIT before application frames and reject duplicate INIT
  • apply the same bounded frame checks to the experimental relay path
  • consume the updated portable negative vectors

Local verification

  • .venv/bin/ruff check src tests scripts
  • PATH="$PWD/.venv/bin:$PATH" .venv/bin/python scripts/check_mypy_baseline.py
  • .venv/bin/pytest -q (1,230 passed before one stale no-handshake test was corrected)
  • .venv/bin/pytest -q tests/test_serve_multiplex.py (4 passed after correction)

Boundary

This hardens the optional development TCP binding. It does not claim a production TLS boundary, resolve the relay opcode collision, or qualify native TCP for stable use.

@RobLe3
RobLe3 merged commit e51bac2 into main Aug 28, 2026
1 check passed
@RobLe3
RobLe3 deleted the codex/pre1-native-frame-hardening branch August 28, 2026 13:27
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.

1 participant