feat(jdisk): ,jdisk encrypted S3 drive with //embed/-only state #31
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/jdisk"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds the
jdiskfeature: the vendored jdrive encrypted S3 drive CLI as a,jdiskmeta command whose profile state (config, scrypt+ChaCha20-Poly1305 key vault, generation marks) lives exclusively in the encrypted//embed/store, and whose AWS credentials are read from//embed/aws/credentialsand injected explicitly so they never enter the process environment.Depends on ober/jerboa-drive#36 (state-I/O override + credentials parameter).
vendor/is fetched from main at build time, so required-ci here stays red until that PR merges — no action needed on this branch.jerboa-src/src/jsh/jdisk.{ss,static}: lazy loader + WPO-safe static registration for jdrive's run-cli and the two parameter objects the hardened mode parameterizes per invocation; console-gated like,pass, refused while lockedffi-shim.c: jerboa-crypto OpenSSL-shim ABI compatibility layer over the Rust natives — real one-shot + incremental SHA-256 (SigV4, chunk checksums), HMAC, scrypt, AEAD bridge, rand, constant-time compare; cipher/ed25519 surface fails closedLocal verification:
make macosgreen, test-jdisk 14/14 PASS,make testgreen. test-pass.sh T2 failures reproduce on clean main (pre-existing).Add the jdisk feature: the vendored jdrive encrypted S3 drive CLI as a ,jdisk meta command whose profile state (config, scrypt+ChaCha20-Poly1305 key vault, generation marks) lives exclusively in the encrypted //embed/ store via jdrive's state-I/O override, and whose AWS credentials are read from //embed/aws/credentials and injected explicitly so they never enter the process environment. - jerboa-src/src/jsh/jdisk.{ss,static}: lazy loader + WPO-safe static registration for jdrive's run-cli and the two parameter objects the hardened mode parameterizes per invocation (state-I/O override, AWS credentials tuple); console-gated like ,pass, refused while locked - ffi-shim.c: jerboa-crypto OpenSSL-shim ABI compatibility layer over the Rust natives (full digest one-shot + incremental SHA-256 for SigV4 and chunk checksums, HMAC, scrypt, AEAD bridge, rand, constant-time compare, error surfacing; cipher/ed25519 surface fails closed) - vendor/build plumbing: jerboa-drive + jerboa-crypto transpile staging, libdirs for all four jerbuild configs, source-lock row pinning the jerboa-drive PR, 27 shim symbols registered for static macOS builds - features.def jdisk entry (requires embed + native lib; retains the jdrive closure via (jsh jdisk-static)) - docs + VERSION 0.6.0; test/test-jdisk.sh: 14 assertions covering locked refusal, init/profile-status/unlock-test round-trip through //embed/, named-profile isolation, wrong-password rejection, no plaintext ~/.jdrive