summary refs log tree commit diff
path: root/ripple
AgeCommit message (Collapse)Author
2022-04-18ripple/fossil: use blake3::CHUNK_LEN as chunk sizeV
This will pave the way for BLAKE3 verified streaming, so we won't have to read objects into memory in their entirety. Change-Id: Ic68dee2ad81448db4969b8c423f0876f0e0272e0
2022-04-15ripple/fossil/mount: drop bmapedef
We'll never write a direct block-mapped filesystem, so this won't become relevant. Change-Id: I512ac44fc40f3969c2d54b93a1e2725628f46ed4
2022-04-15ripple/fossil/mount: move writing methods into their own sectionedef
Change-Id: Ia5b63f3be625c738c58a915bc46114cac7acc0a5
2022-04-15ripple/fossil/mount: correctly serve executable filesedef
Change-Id: I1bc7c0db7a0feeb5cb809e9382bf51816ec082c1
2022-04-15ripple/fossil/mount: rm rmdir stubedef
rmdir should be rejected with EROFS. For some reason, the initial EROFS pass missed this. Change-Id: Ib8d7b21b42fcf52e696041aa0ba41be5ab20d326
2022-04-15ripple/fossil/mount: unbreak rustfmtedef
Apparently, rustfmt bugs out if you mix triple-slash and double-slash comments on a struct literal. Change-Id: I609ac42f86875b48947766fa9d67af7ef8997b9b
2022-04-12ripple/fossil/mount: outline node handling logic from file_attr callersedef
Change-Id: I162b542d31a8120792e72957e6ffaf1bd94d9676
2022-04-12ripple/fossil/mount: support symlinksedef
Change-Id: Ic6cbb1dcee766e30140a1b027d6a80f5768865f5
2022-04-12ripple/fossil/mount: formatting nitedef
Change-Id: Iaefd449224e8799c0f304442d54309c4aa27f874
2022-04-12ripple/fossil/mount: unflagedef
Change-Id: I9128e7d5b6dd7205cf0f9c398e4c94306b044046
2022-04-12ripple/fossil/mount: serve an in-memory filesystem treeedef
Change-Id: I92073aae32bcf603799b83717635a13edbbef190
2022-04-12ripple/fossil: correctly handle the empty blobedef
Change-Id: I6a91a998063e70ec92e8239361a37e3f8033b049
2022-04-11ripple/fossil/mount: serve a small, static filesystemedef
Serve up an entirely hardcoded minimal filesystem tree, so we can see most of the FUSE plumbing working already. Change-Id: I13c4b534c8dd159d2d2e177497b33f1bec3849ad
2022-04-11ripple/fossil/mount: stub out anything we don't want to implementedef
Change-Id: I7c2f940a411346230835f1befc5d4fe384e2b67e
2022-04-11ripple/fossil/mount: initedef
Minimal no-op FUSE FS. Change-Id: If6549990a768acea5ac8c75399b71ac10db8a4c6
2022-04-11ripple/fossil: don't .ok().expect()edef
Result::expect already does the right thing, and discards less information. Change-Id: I2d2fbd1981d4c3b84bb287fb4d79d985f8e465c9
2022-04-11ripple/fossil: track file sizeedef
Change-Id: I424bd482d82471255f2ce2f17bb0b5c6eae3b77a
2022-04-10ripple/fossil: split out FileRef/DirectoryRefedef
Change-Id: I649c89ccc4e7fbc3ce42c86f6653d59c07cf58a9
2022-04-10ripple/fossil: track transitive inode countedef
Change-Id: Ia5893bc64f58e3a6b17aa96fdd27b6b49ebf5fa5
2022-04-10ripple/fossil: just copy the slice refedef
Thanks, Clippy! Change-Id: I88e6b94b8edd415d1ed79c288a4677e2040dde77
2022-04-10ripple/fossil: use [T]::is_emptyedef
Thanks, Clippy! Change-Id: I9d8d154db76c49807262bb07f37aec0c17725739
2022-02-28ripple: bump Rust edition to 2021V
Change-Id: I25fde01a2eee6fd3affd7f069745c346eb3b19ff
2022-02-16ripple/minitrace: use CString::from_vec_with_nul for constructionV
New Rust version, fresh new APIs. Change-Id: I0983ea45a27ec25c16b1a7ff4dc828540ccd0b5f
2022-02-16ripple/nix: update sources.jsonV
It's been a while since we've done this, and there are some great new changes in the Rust compiler and standard library. As a bonus, rustfmt now features the `imports_granularity = "One"` variant, so we can use unmodified tooling again. Change-Id: I228e4e5919f53b6a77e07a5c99420936c89016c3
2022-02-08ripple/minitrace: clean up prlimit64 arg destructuringV
Change-Id: If54ca6c931c0f3c8d99a65aeca15385f1ef8ebf3
2022-02-08ripple/minitrace: clean up arch_prctl arg destructuringV
Change-Id: I403062ce3570eac201612dcf083a8c670380f6a8
2022-02-08ripple/minitrace: log newfstatat pathsV
Change-Id: Ieec434cdbddb45ab099bb9cf91dea1a135fd06ad
2022-02-08ripple/minitrace: log readlink pathsedef
Change-Id: Idd2b174e0805e1a255f6a9a5cb9868aa59aa332a
2022-02-08ripple/minitrace: clean up ioctl handlingV
TIOCGWINSZ was mistakenly listed as TCGETS, and parameter destructuring got cleaned up. Change-Id: I8dce783c50d34ab619cf7b05c9b705b5e11bc459
2022-02-08ripple/minitrace: log access(2) pathsedef
Co-authored-by: V <v@unfathomable.blue> Change-Id: I26603ca7de3ac4a21b64390e4fc3d9f44a6c172a
2022-02-08ripple/minitrace: consistently use .. for arg matchingedef
Change-Id: Iadaebe17f1362460bf5b7b5770da3b94afbca237
2022-02-08ripple/minitrace: clear child environment variablesedef
Change-Id: If55273931055ff9033aca2e274b6cf7b4a510ec2
2022-02-08ripple/minitrace: enforce openat flagsedef
Co-authored-by: V <v@unfathomable.blue> Change-Id: Id848249e6b4a3de612d298d434c59889ba93b300
2022-02-08ripple/minitrace: log openat pathsedef
Co-authored-by: V <v@unfathomable.blue> Change-Id: Idcb3c29c4761158be788511f5f4bdb3003edf909
2022-02-08ripple/minitrace: ensure openat calls use AT_FDCWD onlyedef
Co-authored-by: V <v@unfathomable.blue> Change-Id: I32ca1947fc9278bdee1b0a8acdc8d5d66b61d736
2022-02-07ripple/shell.nix: make cc1 available for minitrace testingedef
Change-Id: Ie88130942865aa73bbdd9a3ddd71d9f5ef5914ab
2022-02-07ripple/minitrace: use anyhow::Result unqualifiededef
Result<T, E> keeps the same meaning, so there's no need to qualify it. Change-Id: I22872860ff18e75c01be01e0d4c8030bfc4133bb
2022-02-03ripple/minitrace: don't permit tracee escape if the tracer diesedef
Change-Id: If2c0262b82e072a600f9b8dfe7efdf3556f0e16a
2022-02-03ripple/Cargo.lock: resyncedef
We should probably have a CI lint for this. Change-Id: Ibff833dd4e3a428b1c96aa659cfd046f7e177a23
2022-02-03ripple/minitrace: only disable ASLR in traceeedef
Change-Id: I6df0596ecc0ba9514c04339dbd80469880e30f4c
2022-02-03ripple/minitrace: take care of our own ptrace bringupedef
Change-Id: I2602d7bb751b6a7415832308843cb334b6f24aa2
2021-12-28ripple/minitrace: disable ASLRedef
Change-Id: I7e34fd965b46f33a38821bca196c8774206ee037
2021-12-28ripple: upgrade nix crate to 0.23.1edef
Change-Id: Ie477bbd96109b4ce9ddcee221addb49733259d5a
2021-12-28ripple/minitrace: enforce arguments for arch_prctl, prlimit64, ioctl, mmapedef
Change-Id: Ifb5939b9088de3096da7a1bdc6e0bc6e6a6ba94f
2021-12-27ripple/website/pages/syscalls: document the syscalls we need to support for ↵edef
our MVP Change-Id: I651816d004ee5c5049569ddcf157d492cbcc0b2a
2021-12-27ripple/minitrace: enforce permitted syscall numbersedef
This doesn't discriminate between muxed syscalls yet, but at least bounds the available syscalls to the ones `cc1 hello.c` invokes. Change-Id: I1965f27746b509b32d5e86510e803038765c11dd
2021-12-27ripple/minitrace: initedef
Minimal PTRACE_SYSCALL tracer for further narrowing down the syscalls we need to support. Change-Id: I562ee6e88e52d7deeee6de588ef00dfc1c38a71a
2021-12-23ripple/website/nix: fix deploymentV
Our post-update deployment hook expects a callPackage-able default.nix in the root of the repository. Let's fix that! I'm moving the nixpkgs wrapper to another file, so it's still easy to build. Placeholder page until we've actually got content. Change-Id: I5e3ecabe0025c2361e15e31b3c520be6410281ce
2021-12-22ripple/data: add syscalls-gcc.logedef
A trace of `gcc hello.c -o hello` on Arch Linux, using //tools/driver.pl. Change-Id: I0af3d4896cb1bc530b3781fc3c48090b4c212316
2021-12-22ripple/data: add hello.cedef
Bog standard C hello world. The license info, insofar relevant, is kept separately because it's an unnecessary contaminant. Change-Id: Icf48e11fa44618a7f265f8b083e8a02dc6387711