summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge branch 'fs-watcher-poll' into 'main'gabi-2502024-10-176-4/+57
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-config: Use a polling watcher on non-windows platforms that don't have inotify. Closes #1644 See merge request tpo/core/arti!2547
| * | | | | arti: Add a warning about watch_configuration's performance issues.Gabriela Moldovan2024-10-171-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Part of #1644
| * | | | | tor-config: Document the limitations of the FileWatcher.Gabriela Moldovan2024-10-162-0/+11
| | | | | |
| * | | | | arti: Enable tor-config/testing when testing.Gabriela Moldovan2024-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables us to make use of the unfortunately-necessary test-specific code path.
| * | | | | tor-config: Compare the file contents when testing.Gabriela Moldovan2024-10-161-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When testing, compare the contents of the files too, not just their mtime Otherwise, because the polling backend detects changes based on mtime, if the test creates/writes files too fast, it will fail to notice changes (this can happen, for example, on a tmpfs).
| * | | | | tor-config: Configure the polling interval.Gabriela Moldovan2024-10-161-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default is 30s, which feels a bit too long. Also, when testing, we use a much shorter interval. This is meant to be a temporary solution, so we hard-code the interval rather than make it configurable.
| * | | | | tor-config: Use a polling watcher on non-windows platforms that don't have ↵Gabriela Moldovan2024-10-163-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | inotify. On windows and platforms that support inotify (i.e. linux and android), we continue using the recommended watcher. On platforms that use kqueue, we switch to a polling watcher to work around a [notify bug] that manifests when using a non-recursive watcher to watch a directory. This commit is best reviewed with `git diff --ignore-all-space`. Closes #1644 [notify bug]: https://github.com/notify-rs/notify/issues/644
| * | | | | tor-config: Add a type alias for the underlying watcher (fmt).Gabriela Moldovan2024-10-161-2/+2
| | | | | |
| * | | | | tor-config: Add a type alias for the underlying watcher.Gabriela Moldovan2024-10-161-3/+6
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | This type will soon become platform-dependent, so I am preemptively adding a type alias.
* | | | | Merge branch 'general_socketaddr_ops' into 'main'Nick Mathewson2024-10-177-2/+526
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | general::SocketAddr: Specify and implement string representations. Closes #1681 See merge request tpo/core/arti!2519
| * | | | | rtcompat: Add a fuzzer for round-trip general::SocketAddr parsing.Nick Mathewson2024-10-165-1/+81
| | | | | | | | | | | | | | | | | | | | | | | | (This turned up another place where we need documentation.)
| * | | | | rtcompat: Add a fuzzer for general::SocketAddr parsingNick Mathewson2024-10-163-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fuzzer makes sure that whatever we can parse, we can format into an object that is parsed in the same way.
| * | | | | general::SocketAddr: Format the unnamed address as "unix:"Nick Mathewson2024-10-161-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This matches our parsing, and our general rule that our parser defers to SocketAddr::from_pathname.
| * | | | | Add reverse-enginered description of Rust socketaddr formats.Nick Mathewson2024-10-161-0/+32
| | | | | |
| * | | | | general::SocketAddr: Add unit testsNick Mathewson2024-10-163-38/+77
| | | | | |
| * | | | | general::SocketAddr: Implement PartialEq.Nick Mathewson2024-10-161-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | Needed for tests.
| * | | | | general::SocketAddr: Specify and implement string representations.Nick Mathewson2024-10-161-1/+285
| | |_|/ / | |/| | | | | | | | | | | | | Closes #1681.
* | | | | Merge branch 'fix-arti-relay-deps' into 'main'opara2024-10-165-51/+1
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | arti: remove 'relay' subcommand and 'arti-relay' dependency See merge request tpo/core/arti!2542
| * | | | arti: remove 'relay' subcommand and 'arti-relay' depSteven Engler2024-10-155-51/+1
| |/ / /
* | | | Merge branch 'mq-feat-1' into 'main'Jim Newsome2024-10-1615-33/+54
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | memquota features, preparation See merge request tpo/core/arti!2545
| * | | | Rename "memquota" feature to "memquota-memcost" when it's just HasMemoryCost ↵Ian Jackson2024-10-164-5/+25
| | | | | | | | | | | | | | | | | | | | (fmt)
| * | | | Rename "memquota" feature to "memquota-memcost" when it's just HasMemoryCostIan Jackson2024-10-1611-26/+26
| | | | | | | | | | | | | | | | | | | | It's not documented anywhere ATM. I will do that in a followup MR.
| * | | | Apply `default-features = false` to all tor-memquota depsIan Jackson2024-10-167-7/+8
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | This will allow us to make `tor-memquota/memquota` enabled by default, without forcing it to be compiled in everywhere. I don't change that in this MR, though.
* | | | Merge branch 'rpc_verb_methods' into 'main'David Goulet2024-10-162-1/+15
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | rpc spec: Start to document method naming convention Closes #1678 See merge request tpo/core/arti!2539
| * | | RPC: Rename "arti:isolated_client" to "arti:new_isolated_client".Nick Mathewson2024-10-091-1/+1
| | | | | | | | | | | | | | | | Closes #1678.
| * | | rpc spec: Start to document method naming conventionNick Mathewson2024-10-091-0/+14
| | | | | | | | | | | | | | | | | | | | All but one of our current methods follows this convention, and we're about to rename it.
* | | | Merge branch 'netbsd' into 'main'gabi-2502024-10-162-145/+51
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | Update to pwd-grp 1.x to fix NetBSD build See merge request tpo/core/arti!2540
| * | | Update to pwd-grp 1.xIan Jackson2024-10-152-145/+51
|/ / / | | | | | | | | | | | | | | | | | | Should fix the build on NetBSD, see rust-pwd-grp#4. Also, eliminates the last use of derive-adhoc, the old name for derive-deftly.
* | | Merge branch 'mq-prevent' into 'main'Ian Jackson2024-10-1517-15/+84
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | Use clippy to prevent non-mq use of mpsc::channel Closes #1659 See merge request tpo/core/arti!2536
| * | clippy-nontest.toml: Fix a typoIan Jackson2024-10-151-1/+1
| | |
| * | CI: forbid non-mq mpsc channelsIan Jackson2024-10-151-0/+7
| | |
| * | CI: Add a job to run clippy with different parameters, excluding testsIan Jackson2024-10-152-0/+13
| | |
| * | Use mpsc_channel_no_memquota next to a TODOIan Jackson2024-10-151-3/+2
| | | | | | | | | | | | We have a ticket for this. But the ticket number was wrong, so fix that.
| * | Use mpsc_channel_no_memquota in the RPC system (adding a TODO)Ian Jackson2024-10-151-2/+5
| | | | | | | | | | | | | | | We need to decide whether RPC will participate in memquota. Perhaps it should. But that's for the future.
| * | tor-rtmock: Provide and use an mpsc::channel wrapper in tor-rtmockIan Jackson2024-10-153-3/+17
| | |
| * | Introduce mpsc_channel_no_memquota and use it in the places it's wanted (fmt)Ian Jackson2024-10-151-1/+2
| | |
| * | Introduce mpsc_channel_no_memquota and use it in the places it's wantedIan Jackson2024-10-1510-7/+39
| | | | | | | | | | | | | | | These are the call sites where using this fucntion is correct. (Outside tor-rtmock, which we'll do separately.)
* | | Merge branch 'test-panic' into 'main'Jim Newsome2024-10-155-18/+18
|\ \ \ | | | | | | | | | | | | | | | | Abolish `_ => panic!()` See merge request tpo/core/arti!2534
| * | | Replace _ => panic!() elsewhereIan Jackson2024-10-154-4/+4
| | | |
| * | | Replace _ => panic!() in tor-protoIan Jackson2024-10-151-14/+14
| |/ /
* | | Merge branch 'no-bare-python' into 'main'Jim Newsome2024-10-151-5/+5
|\ \ \ | | | | | | | | | | | | | | | | Abolish use of python-is-python3 See merge request tpo/core/arti!2535
| * | | Abolish use of python-is-python3Ian Jackson2024-10-151-5/+5
| |/ / | | | | | | | | | | | | | | | | | | "python" meaning "python3" was a wrongheaded decision by Python upstream. Our python scripts should start (roughly) `#! env python3`. And, this is already the case - we don't actually use python-is-python3!
* | | Merge branch 'mq-toplevel' into 'main'Ian Jackson2024-10-1514-23/+48
|\ \ \ | | | | | | | | | | | | | | | | Abolish the toplevel Account See merge request tpo/core/arti!2537
| * | | memquota: Change ToplevelAccount to be an alias for Arc<MemoryQuotaTracker>Ian Jackson2024-10-1513-22/+33
| | | | | | | | | | | | | | | | Fixes a TODO.
| * | | memquota: Provide a method Arc::<MemoryQuotaTracker>::new_noop()Ian Jackson2024-10-151-1/+15
| |/ / | | | | | | | | | | | | | | | | | | We'll need this to allow `ToplevelAccount::new_noop` (eg, in tests) when the type of ToplevelAccount changes. We have to do this via an extension trait.
* | | Merge branch 'relaysign-specifier' into 'main'David Goulet2024-10-151-0/+3
|\ \ \ | | | | | | | | | | | | | | | | tor-relay-crypto: Temporarily comment out RelaySigningKeySpecifier. See merge request tpo/core/arti!2527
| * | | tor-relay-crypto: Temporarily comment out RelaySigningKeySpecifier.Gabriela Moldovan2024-10-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `RelaySigningKeySpecifier` is currently defined as: ```rust #[non_exhaustive] #[derive(Deftly, PartialEq, Debug, Constructor)] #[derive_deftly(KeySpecifier)] #[deftly(prefix = "relay")] #[deftly(role = "KP_relaysign_ed")] #[deftly(summary = "Relay medium-term signing keypair")] /// The key sepcifier of the relay medium-term signing key (RelaySigningKeypair) pub struct RelaySigningKeySpecifier; ``` This means there can only be a single `relaysign_ed` key with an `ArtiPath` of the form `relay/KP_relaysign_ed`. This is a problem, because relays storing their identity key offline will want to generate a number of `relaysign_ed` keys ahead of time, so we need the keystores to be able to contain multiple such keys. We will need their `ArtiPath` to encode a variable component (for example, a timestamp). We also need to teach `KeyMgr` to retrieve such keys (`KeyMgr::get` should return the first key that has a valid and timely certificate). This will involve extending the `KeySpecifier` trait with a function for obtaining the `KeySpecifier` of the certificate of the key, if there is one. For now, let's comment it out and rethink its `ArtiPath` as part of #1692.
* | | | Merge branch 'mq-todo' into 'main'gabi-2502024-10-151-4/+6
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | memquota: Document the actual behaviour re streams/circuits See merge request tpo/core/arti!2531
| * | | | memquota: Document the actual behaviour re streams/circuitsIan Jackson2024-10-151-4/+6
| | |/ / | |/| | | | | | | | | | As per decision in #1661.
* | | | Merge branch 'bump-secmemproc' into 'main'Nick Mathewson2024-10-152-3/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arti: Bump secmem-proc to fix the build errors on FreeBSD. Closes #1686 See merge request tpo/core/arti!2533