summary refs log tree commit diff
AgeCommit message (Collapse)Author
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
2022-05-14fleet/modules/web: drop Content-Security-Policy header, for nowV
Blocking inline scripts was causing Gerrit to load fonts from Google's CDN. Rather than adding the appropriate exception for this one instance, and giving myself a false sense of safety (which will inevitably result in me running into other subtle issues of this kind in the future), I'm going to disable the entire thing until I have time to set up reporting. Change-Id: I7c48e4f7d113ecc15dec0bb930918ccc691b124f
2022-05-14fleet/hosts/kaikou: add skeleton Gerrit configV
Change-Id: Ibf68b5b4d7377ea5863315ffd5b6ed24c2874961
2022-05-11fleet/hosts/kaikou: a build automation serverV
This will host a Gerrit instance and run CI jobs for us. Change-Id: Ida683bfa910843cc4bcc8a96f2872364067a17ea
2022-05-10ripple/fossil: permit importing trees from git reposedef
Change-Id: I8329f14bddaaa2d141e82c087821e4602bd1259a
2022-05-05ripple/fossil/mount: document how . and .. workedef
Change-Id: I6c4d471b2840613d30ee95efe14547f2f9c0db6b
2022-05-05ripple/fossil/Cargo.toml: sort depsedef
Change-Id: I0710d80e34bcad1d4b1406731f2d790a0e6972f4
2022-05-05ripple/fossil/mount: terminate out-of-bounds Node::find earlyedef
Node::find would walk the tree all the way down and to the right if given an out of bounds index. This doesn't affect the return value (None), but it does waste some cycles walking down all the way to the deepest rightmost leaf. Change-Id: Ic2f72aa96291a25819fc6c3c2f060fe0182a7663