summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | tor-config: Helper types for setters to take as argumentsNick Mathewson2025-12-092-0/+135
| | | | | | | | | | | | | | | The derive-deftly TorConfig template will use these as appropriate for the inputs to setter functions, based on field types.
* | | tor-config: Code to serialize Option<Option<Duration>> via humantimeNick Mathewson2025-12-093-0/+28
| | |
* | | tor_config: Make ListBuilders implement ExtendBuilder.Nick Mathewson2025-12-091-0/+11
| | |
* | | tor-config: Give Flattenable template a location.Nick Mathewson2025-12-091-0/+1
| | | | | | | | | | | | | | | | | | If we don't do this, then any attempt to use it from a derive-deftly template will cause a warning about referring to it as $crate::macroname.
* | | tor-config: Allow Flattenable to apply to types with generics.Nick Mathewson2025-12-091-1/+2
| | |
* | | map_builder: Alternative syntax for use by derive(TorConfig)Nick Mathewson2025-12-091-5/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | derive_deftly wants to expand types before passing them to macro_rules macros, which is quite reasonable. But map_builder wants its input collection type to be an `ident`, not a `path`. (And macro_rules doesn't accept `path` before a `<`.) To fix this, we're providing an alternative syntax for map_builder, where the inputs are the map type and the builder map type.
* | | extend_builder: Implement ExtendBuilder for HashMap.Nick Mathewson2025-12-091-1/+17
| | |
* | | tor-config: missing #[allow(dead_code)] in derive_list_builder_helperNick Mathewson2025-12-091-0/+1
| | |
* | | tor-config: missing $crate in derive_list_builder_helperNick Mathewson2025-12-091-1/+1
| | |
* | | tor-config: obviate need for Educe in derive_list_builder_helperNick Mathewson2025-12-091-2/+11
| | | | | | | | | | | | | | | | | | We were only using it for Default, and it is easier to implement Default by hand than it is to keep this particular layer in our leaning tower of macros.
* | | Merge branch 'fix-relay-compile' into 'main'David Goulet2025-12-095-9/+14
|\ \ \ | | | | | | | | | | | | | | | | proto: Fix relay/hs-service feature gating See merge request tpo/core/arti!3534
| * | | proto: Remove outdated TODO about add_ent_with_id()Gabriela Moldovan2025-12-081-3/+0
| | | | | | | | | | | | | | | | We now have add_ent_with_id(), so we can just remove the TODO.
| * | | proto: Fix relay/hs-service feature gating (fmt)Gabriela Moldovan2025-12-081-1/+1
| | | |
| * | | proto: Fix relay/hs-service feature gatingGabriela Moldovan2025-12-085-6/+14
| | | | | | | | | | | | | | | | | | | | Without this, `tor-proto` doesn't compile if you enable the `relay` feature but not `hs-service`.
* | | | tor-memquota: fix builds for 32-bit platformsYaksh Bariya2025-12-091-4/+10
| |/ / |/| | | | | | | | | | | Multiplying 8 * GIB overflows the usize limit (4 GIB - 1) on 32-bit platforms. So handle this properly for 32-bit platforms
* | | Merge branch 'ticket1223' into 'main'Nick Mathewson2025-12-048-128/+128
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Refactor common code that builds circtargets for HS. Closes #1223 See merge request tpo/core/arti!3530
| * | | Refactor common code that builds circtargets for HS.Nick Mathewson2025-12-048-128/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code was duplicated across hsclient and hsservice. Logically, it belongs in netdir, since that's where we have the latest required-protocol information, and the ability to look up relays by IDs. Closes #1223
* | | | Remove unnecessary `doc(cfg(...))` attributesNeel Chauhan2025-12-0430-76/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes part of #2193. (Edits from nickm: I selected the cases here that I could verify were correct from immediate context.) Edited-by: Nick Mathewson <[email protected]>
* | | | Merge branch 'netdoc-authcert' into 'main'Clara Engler2025-12-0413-2/+1011
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | tor-netdoc: Implement new authority certificates See merge request tpo/core/arti!3462
| * | | tor-netdoc: Implement new authority certificatesClara Engler2025-12-0412-1/+1010
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements directory authority certificates using the `parse2` approaches. For now, those are in a module `doc::authcert::tmp`, with the eventual goal of moving it into its super module after removing/deprecating the legacy types.
| * | | tor-netdoc: Implement (Partial)Eq for VerifyFailedClara Engler2025-12-041-1/+1
| | | |
* | | | Merge branch 'bump-criterion' into 'main'Ian Jackson2025-12-041-2/+2
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | proto: Bump criterion, criterion-cycles-per-byte to 0.8.0 Closes #2281 See merge request tpo/core/arti!3528
| * | | proto: Bump criterion, criterion-cycles-per-byte to 0.8.0Gabriela Moldovan2025-12-041-2/+2
| |/ / | | | | | | | | | Closes #2281
* | | Merge branch 'protover_refactor' into 'main'Nick Mathewson2025-12-0419-106/+135
|\ \ \ | | | | | | | | | | | | | | | | Make Protocols type inherently interned; add notes about usage. See merge request tpo/core/arti!3524
| * | | protover: document interning in Protocols docs.Nick Mathewson2025-12-041-0/+8
| | | |
| * | | proto: Add comment about create_firsthop_fastNick Mathewson2025-12-031-1/+2
| | | |
| * | | linkspec: Remove comment about expense of cloning protocols.Nick Mathewson2025-12-031-2/+0
| | | |
| * | | netdoc: Remove protocol interning.Nick Mathewson2025-12-038-70/+48
| | | | | | | | | | | | | | | | (It's now done in tor_protover.)
| * | | protover: Intern ProtocolsInner.Nick Mathewson2025-12-032-1/+11
| | | | | | | | | | | | | | | | | | | | This will help us with all the places we want to copy around Protocols objects.
| * | | protover: Make Protocols become an Arc internally.Nick Mathewson2025-12-031-25/+42
| | | | | | | | | | | | | | | | This will help us make it self-interning.
| * | | Move intern from tor-netdir to tor-basic-utils and make it pubNick Mathewson2025-12-039-9/+17
| | | |
| * | | tor_netdoc::intern: Note a future possible cleanup.Nick Mathewson2025-12-031-0/+2
| | | |
| * | | protover: Document un-recommended usage of Protocols::new()Nick Mathewson2025-12-031-0/+7
| |/ /
* | | Merge branch 'n_authorities_usize' into 'main'Ian Jackson2025-12-043-7/+6
|\ \ \ | | | | | | | | | | | | | | | | tor-netdoc: Store n_authorities in usize See merge request tpo/core/arti!3522
| * | | tor-netdoc: Remove unnecessary castsClara Engler2025-12-042-2/+2
| | | |
| * | | tor-netdoc: Store n_authorities in usizeClara Engler2025-12-023-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, this value was stored in a u16. However, because this number is usually always derived from some sort of list type, such as `Vec`, it makes more sense to use usize for this, as it avoid unnecessary casting and error checking.
* | | | tor-netdoc: Provide ItemEncoder::finishIan Jackson2025-12-041-0/+5
| | | | | | | | | | | | | | | | | | | | This provides a way to explicitly consume the encoder and finish the item, without use of mem::drop.
* | | | tor-netdoc: Improve and expose args_raw_stringIan Jackson2025-12-042-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new derive is going to want this. So it would need to be at least `#[doc(hidden)]`. But it makes sense to expose it. But, it had a weird signature. Make its signature like that of `.arg_empty()`. (Note that an ItemEncoder contains just a `&mut NetdocEncoder`.)
* | | | tor-netdoc: test2: Don't ever have raw String in defaulted argumentsIan Jackson2025-12-041-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These cannot be encoded. So that is logically incoherent. (Perhaps String ought not to be NormalItemArgument, but let's not tackle that now.)
* | | | tor-netdoc: Better error from empty argument (fmt)Ian Jackson2025-12-041-1/+4
| | | |
* | | | tor-netdoc: Better error from empty argumentIan Jackson2025-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | talking about the "keyword argument syntax" makes it sound a bit like its' the *keyword* that is wrong.
* | | | tor-netdoc: Throw rather than squirreling error from NormalItemArgumentIan Jackson2025-12-041-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NormalItemArgument is for types where we use the Display as the netdoc argument formatter. But what if gives the empty string? Previously we would allow `add_arg` to handle the error. That would record it in the NetdocEncoder. That's kind of OK, but it will prevent the caller from aborting early (and from elaborating the error).
* | | | tor-netdoc: Explain some downsides to use of ItemEncoder::argIan Jackson2025-12-041-0/+3
| | | |
* | | | Merge branch 'deftly-1.6.0' into 'main'Ian Jackson2025-12-0427-27/+29
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Update to derive-deftly 1.6.0 See merge request tpo/core/arti!3525
| * | | | tor-netdoc: Suppress a clippy warning more thoroughlyIan Jackson2025-12-041-1/+2
| | | | |
| * | | | Pin our derive-deftly version to ~1.6.0 everywhereIan Jackson2025-12-036-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are supposed to pin whenever we enable the `beta` cargo feature, see https://docs.rs/derive-deftly/latest/derive_deftly/doc_changelog/index.html#beta-features Empirically, we somehow failed to do that in tor-circmgr. In practice not pinning makes little difference since cargo wants to pick the same version everywhere, but we should be correct. But it is more maintainable to pin everywhere.
| * | | | tor-netdoc: Suppress a clippy warningIan Jackson2025-12-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code sometimes expands to `let item = item;`. That's OK. In derive-deftly 1.5.x the two `item` wrongly had different hygiene span so the warning didn't trigger.
| * | | | Update to derive-deftly 1.6.0Ian Jackson2025-12-0326-27/+27
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has: * Fixes to hygiene spans from the new modules feature, needed for my WIP netdoc encoder derive. * A substantially richer `${error }` construct.
* | | | tor-circmgr: small comment fixSteven Engler2025-12-031-1/+1
| | | |
* | | | tor-circmgr: reduce level of info reactor tracing msgSteven Engler2025-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | Since "info" is the default level, we don't want to log by default each time a circuit reactor is created.