summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | tor-netdoc: NormalItemArgument for RuleKindClara Engler2026-04-021-1/+7
| | | | | | | |
| * | | | | | | tor-netdoc: Move RuleKind to upper moduleClara Engler2026-04-022-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit moves RuleKind from addrpolicy to policy because it is also required for port policies.
| * | | | | | | tor-netdoc: Explicitly upgrade derive-moreClara Engler2026-04-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | derive-more 2.1.1 makes use of the rename_all features in the display and from_str proc-macros, which do not exist in 2.0.1, meaning minimal-versions will fail.
| * | | | | | | tor-netdoc: Fix exhaustive warningsClara Engler2026-04-021-1/+4
| | | | | | | |
| * | | | | | | tor-netdoc: Export 25519 typesClara Engler2026-04-023-4/+5
| | | | | | | |
| * | | | | | | tor-netdoc: Use Curve25519Public for parsingClara Engler2026-04-025-36/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit removes the implementation of ItemArgumentParseable for curve25519::PublicKey in favor of using the already existing Curve25519Public, which also got beefed up slightly.
| * | | | | | | tor-netdoc: Refactor Ed25519IdentityLineClara Engler2026-04-022-39/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit refactors Ed25519IdentityLine by deriving as much as possible.
| * | | | | | | tor-netdoc: Improve on Ed25519PublicClara Engler2026-04-021-19/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit improves on Ed25519Public to be parseable via parse2 as well as reducing redundancy by utilizing FixedB64.
| * | | | | | | tor-netdoc: Use proper PEM parser for testvecsClara Engler2026-04-023-21/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit uses a proper PEM parser as a dev-dependency to tor-netdoc for parsing PEM entries, instead of hard-coding long DER byte strings. It is better to use an external crate for this here, rather than the existing somewhat accessible (only through traits) implementation of parse2, because it feels wrong testing parse2 with parse2.
| * | | | | | | tor-netdoc: Reorder Microdesc according to specClara Engler2026-04-021-11/+11
| | | | | | | |
| * | | | | | | tor-netdoc: Properly parse mutliple family-idsClara Engler2026-04-024-16/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes a bug in the microdescriptor parser to properly parse multiple family-ids. Previously, we interpreted the spec to simply contain multiple `family-ids` lines. This is wrong however. Instead, there may only be a single such line with multiple values. To fix this issues, we itnroduce a `RelayFamilyIds` type, similar to `RelayFamily`, that stores multiple `RelayFamilyId` entires in a `Vec`. Then, we just derive `ItemValueParseable` on it and win.
| * | | | | | | tor-netdoc: Add a test for Microdesc with parse2Clara Engler2026-04-021-0/+94
| | | | | | | |
| * | | | | | | tor-netdoc: Derive NetdocParseable for MicrodescClara Engler2026-04-023-8/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it possible to parse2 micro descriptors, which will be very useful later on. For this, it makes a few changes. Most notably, it introduces a (private) field called `onion_key`, which stores an optional RSA onion key, as it serves as the introduction line for this netdoc document type. Besides, it also changes the `ed25519_id` type to the `Ed25519IdentityLine` wrapper type, although the signature of the respective getter remains the same.
| * | | | | | | tor-netdoc: Derive Default for PortPolicyClara Engler2026-04-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a sane default, because rejecting all ports is the default for relay configurations as well as the default of when this field is absent in netdocs.
| * | | | | | | tor-netdoc: Ed25519IdentityLine parserClara Engler2026-04-021-1/+35
| | | | | | | |
| * | | | | | | tor-netdoc: ItemArgumentParseable for Arc<T>Clara Engler2026-04-021-0/+6
| | | | | | | |
| * | | | | | | tor-netdoc: NormalItemArgument for RelayFamilyIdClara Engler2026-04-021-1/+3
| | | | | | | |
| * | | | | | | tor-netdoc: ItemValueParseable for PortPolicyClara Engler2026-04-021-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements ItemValueParseable for PortPolicy. Unfortunately we cannot use NormalItemArgument because it contains spaces, leading to multiple arguments. In a later commit, we may migrate this fully to parse2 because right now, it just wraps around its FromStr implementation.
| * | | | | | | tor-netdoc: Make X25519 PKs parseable with parse2Clara Engler2026-04-021-0/+16
| | | | | | | |
| * | | | | | | tor-netdoc: parse2 for RelayFamilyClara Engler2026-04-021-9/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces the inner value of RelayFamily to use a LongIdent instead, which it already uses for parsing, in order to derive ItemValueParseable on it, so we can use it within parse2 magic.
| * | | | | | | tor-netdoc: Improve upon LongIdentClara Engler2026-04-021-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit makes LongIdent parseable by implementing NormalItemArgument as well as the required Display for it. Besides, it also derives Hash on it.
| * | | | | | | tor-netdoc: Improve upon B64Clara Engler2026-04-021-1/+42
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit improves upon B64 by implementing NormalItemArgument for it, as well as implementing a wrapper type for it, called FixedB64, that works just like B64 except that the resulted inner-value must be of a certain compile-time-specified fixed length, which is useful for things such as digests.
* | | | | | | Merge branch 'update-rust' into 'main'Ian Jackson2026-04-022-4/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update CI images for Rust and Alpine See merge request tpo/core/arti!3839
| * | | | | | | CI: Update Rust to 1.94.1Ian Jackson2026-04-022-3/+3
| | | | | | | |
| * | | | | | | CI: Give path to script to updateIan Jackson2026-04-021-1/+1
| | | | | | | |
| * | | | | | | CI: Also update Rust Alpine image in docker-reproducible-buildIan Jackson2026-04-021-1/+1
| | | | | | | |
| * | | | | | | CI: Update Alpine for Rust to 3.22Ian Jackson2026-03-311-1/+1
| | | | | | | |
| * | | | | | | CI: Update Rust to 1.94Ian Jackson2026-03-311-2/+2
| | | | | | | |
* | | | | | | | Merge branch 'deftly-1-11' into 'main'Clara Engler2026-04-0232-36/+36
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update to derive-deftly 0.11.0 to pick up `meta_quoted rigorous` See merge request tpo/core/arti!3855
| * | | | | | | | Update to derive-deftly 0.11.0 to pick up `meta_quoted rigorous`Ian Jackson2026-04-0232-36/+36
| | | | | | | | |
* | | | | | | | | Merge branch 'xtrace' into 'main'Ian Jackson2026-04-022-14/+2
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | trivial: maint: Use xtrace instead of echo in hooks See merge request tpo/core/arti!3847
| * | | | | | | | maint: `set -o xtrace` to `set -x`Clara Engler2026-04-022-4/+2
| | | | | | | | |
| * | | | | | | | maint: Use xtrace instead of echo in hooksClara Engler2026-04-012-12/+2
| | |_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces our own calls of echo by simply adding `set -o xtrace` to the top of the shell scripts, which achieves exactly the same but in a native way.
* | | | | | | | Merge branch 'deftly-strings' into 'main'Clara Engler2026-04-022-38/+31
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use derive-deftly string templating in tor-netdoc See merge request tpo/core/arti!3854
| * | | | | | | | tor-netdoc: Constructor: Fixes to generated docsIan Jackson2026-04-011-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now some bugs have become visible. * Properly ``-quote the name in the heading. * Add a missing space before `{` * Adjust the fields to level-4 indent. * In `construct()`, ``-quote the name, and xref it in the body, not the title (which rustdoc makes a link to the fn itself)
| * | | | | | | | tor-netdoc: Constructor: Reformat $/// doc sectionIan Jackson2026-04-011-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lines all the docs lines up, so we can see our indentation. No change to the generated docs.
| * | | | | | | | tor-netdoc: Constructor: Use $/// deftly featureIan Jackson2026-04-011-30/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No change to the generated docs.
| * | | | | | | | tor-netdoc: parse2 derive: Use $/// deftly feature in a few placesIan Jackson2026-04-011-4/+4
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | No change to the generated docs.
* | | | | | | | Merge branch 'semver-doc' into 'main'Clara Engler2026-04-021-6/+11
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | doc/dev/semver_status.md: Change MODIFIED to ADDED See merge request tpo/core/arti!3852
| * | | | | | | doc/dev/semver_status.md: Explicitly allow coalescing ADDED into BREAKINGIan Jackson2026-04-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3852#note_3388295
| * | | | | | | doc/dev/semver_status.md: Adjust discussion a bitIan Jackson2026-04-011-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ADDED aren't used for the "breaking changes" part of the changelog, obviously.
| * | | | | | | doc/dev/semver_status.md: Change MODIFIED to ADDEDIan Jackson2026-04-011-4/+4
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $ git-log --pretty=oneline -G ADDED -- ':crates/*/semver.md' | wc -l 222 $ git-log --pretty=oneline -G MODIFIED -- ':crates/*/semver.md' | wc -l 57 $ No doubt this is because the normal meaning of "modified" could be a breaking change.
* | | | | | | Merge branch 'ticket_2428' into 'main'Nick Mathewson2026-04-014-16/+19
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prefer runtime.now/wallclock to SystemTime/Instant::now, when available. Closes #2428 See merge request tpo/core/arti!3845
| * | | | | | | proto: Take current time as an argument when constructing padder.Nick Mathewson2026-03-312-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we'd get the time by calling Instant::now, but that would lead to a mismatch with the runtime if we were mocking. Part of #2428.
| * | | | | | | circmgr: Use runtime.now() in place of Instant/SystemTime::get().Nick Mathewson2026-03-312-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of #2428.
* | | | | | | | Merge branch 'encode-authcert' into 'main'Ian Jackson2026-04-0117-179/+477
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: encoding and signing of authcerts See merge request tpo/core/arti!3851
| * | | | | | | | tor-netdoc: RsaSha1Signature::new_sign_netdoc: rename argumentIan Jackson2026-04-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3851#note_3388076
| * | | | | | | | tor-netdoc: Gate encode_sign on plain-consensus featureIan Jackson2026-04-011-1/+4
| | | | | | | | |
| * | | | | | | | tor-netdoc: Include rand dependency when encodeIan Jackson2026-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes build with nailing-cargo test -p tor-netdoc --no-default-features --features encode
| * | | | | | | | tor-netdoc: encode: Move various ItemArgument impls to impls.rsIan Jackson2026-04-012-64/+68
| | | | | | | | |