Skip to content

fix(q): validate handles and wire protocol frames - #10

Open
belowzeroff wants to merge 3 commits into
RayforceDB:masterfrom
belowzeroff:fix/q-connect-argument-validation
Open

belowzeroff wants to merge 3 commits into
RayforceDB:masterfrom
belowzeroff:fix/q-connect-argument-validation

Conversation

@belowzeroff

Copy link
Copy Markdown
Contributor

What changes for users

Invalid Q client arguments now fail before touching the socket: .q.connect rejects malformed credential/timeout/port values, .q.send and .q.close reject values that are not live non-negative i64 handles, and invalid close handles return an error instead of silently succeeding.

Malformed or hostile wire input is rejected safely: invalid table markers, unsupported handshake capability bytes, oversized compressed frames, and unknown message types no longer get accepted or evaluated.

Validation

  • make recheck RAYFORCE_LOCAL_PATH=/home/athuser/rayforce-build/rayforce-core
  • codec and exchange self-tests
  • malformed-frame and unknown-message-type tests
  • real-q interoperability (30 assertions)
  • client suites (8 files)
  • poll/push client suite
  • strict C compilation with -Wall -Wextra -Werror

All checks pass.

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