summary refs log tree commit diff
AgeCommit message (Collapse)Author
2022-07-29ripple/minitrace: replace read_mem_cstr calls with CString argumentsedef
Change-Id: Ib8aec16cfca88db69765e7fa25aeaf8ea240f18d
2022-07-29ripple/minitrace: interpret CString arguments to syscallsedef
Change-Id: Ib8ddefb7a969e5cfd7e891233d083670a0c72596
2022-07-29ripple/minitrace: don't impl Copy for SyscallEntryedef
We'd like to be able to have heap-allocated syscall data, which means we can't impl Copy. Change-Id: Ib40dcaf7f99baeaae0dae1153e80deae88d76978
2022-07-29ripple/minitrace: use inline variable style for format stringsedef
Change-Id: I6ed5bd5dffbf5706b718be4f15896b831b3d64f5
2022-07-29ripple/minitrace: match read_mem_cstr return value names to input namesedef
Change-Id: I93538f4fd3daa4065d70fa3d4d9f638d83093f7b
2022-07-29ripple/minitrace: verify that libc flag naming matchesedef
Change-Id: Ic6392ac15d249f22aec9d866de088d5901d09948
2022-07-29ripple/minitrace: convert OpenFlags to bitshiftsedef
Change-Id: I12392d386027542815e2a4b96372121ece3adfeb
2022-07-29ripple/minitrace: verify syscall bitflags against libcedef
Change-Id: Ie9eae95ff5f6e438ef84007153a599d092953382
2022-07-29ripple/minitrace: make syscall_bitflags! non-recursiveedef
Change-Id: I81047a4ac68e11a37882175732e4985c2f43a183
2022-07-29ripple/minitrace: match identifier style in macrosedef
Having macro identifiers match the "real" identifier style makes macro code markedly more readable. Change-Id: Ib675390cc04941ce782c75b2ee686709441081fc
2022-07-29ripple/minitrace: pluralise newfstatat flags parameteredef
Change-Id: I025b5f707b15933c4dccdf36ce9e2c8d8673fe74
2022-07-28ripple/minitrace: bitflags-ify mmap/mprotect protection flagsedef
Change-Id: Iaf6d5717e2d83a6f81fda34da086311d21f345c2
2022-07-28ripple/minitrace: mark file descriptor parametersedef
This doesn't specifically handle * the distinction between borrowed/owned file descriptors (in non-return positions, that only applies to `close`) * "nullable" fd parameters (-1 for not-present) * other sentinel fds, like AT_FDCWD * fd validity in general Change-Id: I00fa68ec94b8f24e28c661d0c007becb37c0a5f3
2022-07-27ripple/minitrace: remove GRND_ prefix from GrndFlagsedef
Change-Id: Icfcab2fccc1c152a694dfba3ba1e272cdacdbfab
2022-07-27ripple/minitrace: parse mmap flags strictlyedef
Change-Id: I56731f205e065bf501fd31a69c71c10aa7a2f720
2022-07-27ripple/minitrace: mmap fd is an i32, not u64edef
Change-Id: I092d4f47231d560a0c4ac023e63051def34c2c92
2022-07-27ripple/minitrace: better errors for invalid syscall argsedef
Change-Id: I26356c9b88c838e3c87e4083ac17f958c7c57bb7
2022-07-27ripple/minitrace: introduce syscall_bitflags!edef
Squeeze the bitflags / SyscallArg impl boilerplate into one macro. Change-Id: I5b5213b6f3ee11bc61b6f8439ceb2510ef6dffec
2022-07-27ripple/minitrace: implement SyscallArg for bitflagsedef
Change-Id: I1b4e7e01b5d5c840ac2e94f9637552f71e61ed04
2022-07-27ripple/minitrace: disable dead_code lint on SyscallArgsedef
Every single syscall arg producing a warning is just noisy. Change-Id: I339260886110e2982217ebbf9d29cb1cf91c747c
2022-07-27ripple/minitrace: refactor syscall interpretationV
We separate type-based parsing of syscall arguments from more detailed validation based on multiple parameters or on specific values. The former is implemented with a macro that takes syscall signatures and generates the relevant enum variant and parsing code. Co-authored-by: edef <edef@unfathomable.blue> Change-Id: I7e334d3e128e7b1461bfd6fae7c8ec5dd6ada0a8
2022-07-27ripple/minitrace: fix newfstatat dirfd handlingedef
Same bug as Ied63822001c8700fc71c89ec16d18036fbc33972, hiding missing behaviour around dirfd. newfstatat(AT_FDCWD, path, …) is used, as is newfstatat(fd, "", …). Change-Id: I03b9dc5118d7a47514abef82c4a577e8362fbb4d
2022-07-08ripple/minitrace: convert openat dirfd correctlyedef
Our conversion always mangled it, *and* our comparison was inverted, so both bugs remained hidden. Change-Id: Ied63822001c8700fc71c89ec16d18036fbc33972
2022-06-20fleet/pkgs/naut: clean up formattingedef
Change-Id: I74844b6a35fe1fd76af87fe994a346ee92eb3ccb
2022-06-20fleet/pkgs/naut: use Rust 2021edef
Change-Id: I53feb0e3f20c4e9d59407d17612551be4db06177
2022-06-20fleet/pkgs/naut: filter down to commits touching the ripple subtreeedef
This is a bit crude, and it'll behave incorrectly on orphan branches, but it'll do the trick for now. Change-Id: Id5424dc4e8480ba65a029ffe2100de0c975e14a1
2022-06-20fleet/pkgs/naut: simplify down to a single channel and a single repoedef
We have a single repository (the monorepo), and a single project channel worth reporting to (Ripple's). Change-Id: I17d84b610639d7eed422d6a7032908d21143a582
2022-06-20fleet/test: work with clean trees tooedef
Change-Id: Ia01dd3e8f8548030d407c3afd1116a5c9eff6ec7
2022-06-20fleet/test: run builds with --keep-goingedef
Change-Id: I41e2932131c31346a421761d45fdc9d2a9b6ff3d
2022-06-20fleet/test: don't rely on SSH config and repo remotesedef
Change-Id: I066a1fdbeabef0c2c38dcb0740c89eb056bb62f5
2022-06-20fleet: it's monorepo time!V
Change-Id: I4670dd7930a9b6227993c1caf92c5877918f982d
2022-06-19ripple/minitrace: fix syscall ABIV
The fourth argument is passed in r10, not rcx, which is merely clobbered by syscalls. Change-Id: I0c7210c621f6955deccf21348ce6f495424555cc
2022-06-19githooks: add SPDX headersedef
There ought to be a git hook for this.. Change-Id: I111c6150f024782838e40a1855d0d303c6ddbc93
2022-06-19githooks/commit-msg: use git-interpret-trailers --in-placeedef
Change-Id: I31567a95f4d55e7cee526eb5432201087aaa3a1a
2022-06-19githooks/commit-msg: don't inhibit git's empty commit message behaviouredef
Change-Id: I9e800f347cfb5440c384766f0be55aba4a40c94f
2022-06-19Make rustfmt.toml globaledef
Change-Id: I9ef820d2c22d54c6d8d6b259c2eea3f27d6459ac
2022-06-19fleet/pkgs/naut: point source URL at the monorepoedef
Change-Id: I107a0402464f13afe318bfb91229dfeacda61806
2022-06-19ripple/fossil: box the bao decoderedef
Shuffling 3k around on the stack doesn't make anyone happy. Change-Id: I444fc22267380d9b99ca63ca148b9a9e85238b5a
2022-06-19githooks: add Change-Id commit-msg hookedef
This adds a randomly generated Change-Id to every commit message that doesn't have one yet. Change-Id: Ic0d1bb74dc60633cd70550e0dde6b0b8340c89bd
2022-06-18githooks: initedef
A place for git hooks to live, with an installation script that wires up core.hooksPath correctly. Change-Id: Icf6250764cf580067871580d74f6d5ddc52820eb
2022-06-17ripple/minitrace: add set_tid_address, set_robust_list, and getrandomV
With this, minitrace has all the syscalls needed to run cc1. Change-Id: Iaeef58769f69d64e192af2270eb520e891daec94
2022-06-13ripple/fossil: use std::os::unix::preludeedef
We were accidentally grabbing things from the prelude module already, and this is the cleaner fix. Change-Id: I2c6b669164df11f467eae495d109e096eb267b59
2022-06-12ripple/fossil/chunker: use hex_literal rather than hex escapesedef
A little more explicit, and a bit more readable. Change-Id: Id462c46236e1de547aabd36409260bd1c99f6f88
2022-06-12third_party/cachunker: initedef
This is the BuzHash content-defined chunker extracted from Lennart Poettering's casync, almost verbatim, along with Rust bindings so we can actually use it safely. The bindings are a little bit constrained, since they don't support streaming use, unlike the code they are wrapping. This suffices for our use case: performance and correctness comparison to our native Rust implementation, which should behave identically and perform better. Change-Id: Iee4296f661b036620bafef5a6c6671fe1a750bb6
2022-06-12ripple/website: add SPDX annotationsedef
We haven't picked a license for our web content yet, so this is LicenseRef-NONE for now. Change-Id: Iabfc35860cb8ad0025624161214b1cbb6574e0c5
2022-06-12ripple/shell.nix: provide a wrapper for SUID fusermount(1)edef
fusermount(1) gets shadowed by pkgs.fuse, but we actually need the SUID-root one in the system PATH. This adds a wrapper script that hunts down a SUID-root binary from PATH. Change-Id: Icc5c6789d7b74bf8f6e3c50529333eb6b894527f
2022-06-06fleet/hosts/trieste/web: fix homepage 404ingV
Unless Caddy recently changed how it resolves directives, this has been broken since the initial deployment. `error` directives are processed before `respond` directives[1], and unlike CSS, matcher precision does not impact directive precedence. Sticking a `route` directive around the two of them makes things work as expected. [1]: https://caddyserver.com/docs/caddyfile/directives#directive-order Change-Id: Ic05c6ba9a7143c3a58c2bf7ccd0498a7337257f8
2022-06-06fleet/hosts/trieste/cgit: switch implementation to cgit-pinkV
cgit-pink purports to be actively maintained, unlike its upstream. Change-Id: I4d76324ddb24f5fd3e53aeed6fa6ed17713ee15d
2022-06-04fleet: upgrade to NixOS 22.05V
Change-Id: Ie5542d079ee7b2de06e0faed52343905b3287b39
2022-05-30fleet/hosts/{kaikou,trieste,vityaz}: add my SSH certificateV
This will live alongside the existing keys until I'm completely comfortable with the new setup. Change-Id: Ia26299c0a1ff60fff37104c0fb8eaf31f17a3df5