Add secure conduit transport for send and receive #6

Merged
ober merged 83 commits from conduit-implementation into master 2026-09-24 13:18:15 -04:00
Owner

Implements the versioned conduit transport for shell send/receive:

  • Noise_NNpsk0 with independent channel/PSK capabilities and bounded authenticated framing.
  • Streaming zstd archive codec with recursive directory and empty-directory support.
  • Descriptor-relative staging/publication, no-replace semantics, limits, cancellation, and cleanup.
  • Bounded relay registration/admission state machine and websocket transport.
  • Native Noise/zstd bindings, protocol vectors, archive/staging/security tests, and local/relay E2E coverage.
  • Exact locked dependency provenance and source archive control-character validation.

Validation: make test; make security; make lint; make verify; make e2e; make e2e-relay.

Implements the versioned conduit transport for shell send/receive: - Noise_NNpsk0 with independent channel/PSK capabilities and bounded authenticated framing. - Streaming zstd archive codec with recursive directory and empty-directory support. - Descriptor-relative staging/publication, no-replace semantics, limits, cancellation, and cleanup. - Bounded relay registration/admission state machine and websocket transport. - Native Noise/zstd bindings, protocol vectors, archive/staging/security tests, and local/relay E2E coverage. - Exact locked dependency provenance and source archive control-character validation. Validation: make test; make security; make lint; make verify; make e2e; make e2e-relay.
ober added 59 commits 2026-09-23 18:25:25 -04:00
Reject control characters in archive paths
Some checks failed
version-policy / required (pull_request) Successful in 3m43s
required-ci / required (pull_request) Failing after 3m43s
2d25b1a89a
Use available Jerboa release toolchain
Some checks failed
version-policy / required (pull_request) Successful in 3m46s
required-ci / required (pull_request) Failing after 4m13s
39e0046932
Bootstrap native source without sibling checkout
Some checks failed
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Has been cancelled
bec29281c3
Point native build at sparse source manifest
Some checks failed
version-policy / required (pull_request) Successful in 3m43s
required-ci / required (pull_request) Failing after 6m53s
f905fa082a
Recognize FreeBSD errno symbol
Some checks failed
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Failing after 7m26s
bfb1dd46d4
Permit conduit Rust runtime overlap on FreeBSD
All checks were successful
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Successful in 7m29s
a5ba3f6b42
Fail closed when FreeBSD lacks exclusive rename
All checks were successful
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Successful in 7m49s
0cd881116b
Wire conduit relay policy configuration
All checks were successful
version-policy / required (pull_request) Successful in 3m44s
required-ci / required (pull_request) Successful in 7m29s
22b2a4e3c0
Account for in-flight relay queue bytes
Some checks failed
version-policy / required (pull_request) Successful in 3m43s
required-ci / required (pull_request) Has been cancelled
8e7f33a3d2
Harden conduit client lifecycle and metadata checks
Some checks failed
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Has been cancelled
3ba278b897
Harden conduit archive framing validation
All checks were successful
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Successful in 7m36s
067fd4265b
Reject invalid WebSocket upgrade and text frames
Some checks failed
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Has been cancelled
351c8e4540
Pin conduit source traversal to directory descriptors
All checks were successful
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Successful in 8m1s
8dab25d409
Test conduit archive malformed path encodings
All checks were successful
version-policy / required (pull_request) Successful in 3m43s
required-ci / required (pull_request) Successful in 7m33s
7a13d472c0
Reject conduit path collisions and oversized accepts
All checks were successful
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Successful in 7m48s
c826a7b6f1
Enforce conduit application state transitions
All checks were successful
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Successful in 8m4s
b0bfc0debf
Test conduit terminal transition rejection
All checks were successful
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Successful in 7m56s
64d59943f3
Test websocket adversarial frame limits
Some checks failed
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Has been cancelled
559e9beb71
Test staging permission and cleanup safety
All checks were successful
version-policy / required (pull_request) Successful in 3m41s
required-ci / required (pull_request) Successful in 7m19s
50ab2afbae
Fix dilation relay test bootstrap
All checks were successful
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Successful in 7m21s
6a4a23fd52
Fix dilation soak relay bootstrap
All checks were successful
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Successful in 6m59s
e3b089af3b
Fix relay expiry timer and rename conduit endpoint
Some checks failed
version-policy / required (pull_request) Successful in 3m43s
required-ci / required (pull_request) Failing after 7m5s
d7e0bd9628
ober force-pushed conduit-implementation from d7e0bd9628
Some checks failed
version-policy / required (pull_request) Successful in 3m43s
required-ci / required (pull_request) Failing after 7m5s
to 7dcac301e5
Some checks failed
version-policy / required (pull_request) Successful in 3m42s
required-ci / required (pull_request) Failing after 3m42s
2026-09-24 12:39:27 -04:00
Compare
Retry CI after Forgejo runner failure
Some checks failed
required-ci / required (pull_request) Failing after 3m42s
version-policy / required (pull_request) Successful in 3m42s
63d7693673
ober scheduled this pull request to auto merge when all checks succeed 2026-09-24 13:17:58 -04:00
ober merged commit d50f5de082 into master 2026-09-24 13:18:15 -04:00
ober referenced this pull request from a commit 2026-09-24 13:18:16 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ober/jerboa-wormhole!6
No description provided.