summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | arti: keys: Improve readability of `run_check_integrity`hjrgrn2025-10-081-5/+4
| | | | | |
| * | | | | arti: keys: Add comment explaining why `services` cannot be droppedhjrgrn2025-10-081-0/+2
| | | | | |
| * | | | | arti: keys: Add comment explaining difference between `affected_keystores` ↵hjrgrn2025-10-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | and `keystores`
| * | | | | doc: Update `check-integrity` section in `keys.md`hjrgrn2025-10-081-187/+91
| | | | | |
| * | | | | arti: keys: Refactor `get_expired_keys`hjrgrn2025-10-081-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | The function now returns `Result<Vec<InvalidKeystoreEntry<'a>>>`
| * | | | | arti: keys: Add integrity check for empty expired_entrieshjrgrn2025-10-081-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a check in `run_check_integrity` to verify that the `expired_entries` collection is empty after processing all registered keystores. This should always be true, as all expired entries are expected to be removed during iteration. If not, it indicates a bug.
| * | | | | arti: keys: Introduce InvalidKeystoreEntry and InvalidKeystoreEntries structshjrgrn2025-10-081-33/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace raw tuples with named structs to reduce type complexity and improve code clarity and maintainability.
| * | | | | arti: keys: Remove `filter` in favor of `retain` in `run_check_integrity`hjrgrn2025-10-081-11/+9
| | | | | |
| * | | | | arti: keys: Add comment explaining expired entry handling in ↵hjrgrn2025-10-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | `run_check_integrity`
| * | | | | arti: keys: Improve `run_check_integrity` functionhjrgrn2025-10-081-11/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix bug where expired keys from one keystore were incorrectly associated with all keystores - Remove unnecessary clone
| * | | | | arti: keys: Adapt `maybe_remove_invalid_entries` to updated ↵hjrgrn2025-10-081-14/+19
| | | | | | | | | | | | | | | | | | | | | | | | `run_check_integrity`
| * | | | | arti: keys: Refactor function `display_invalid_keystore_entries`hjrgrn2025-10-081-32/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add `display_invalid_keystore_entries` helper function `print_check_integrity_incipit` - Add `display_invalid_keystore_entries` comment
| * | | | | arti: keys: Implement `display_invalid_keystore_entries`hjrgrn2025-10-081-2/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add initial functional implementation of `display_invalid_keystore_entries`, which processes a list of invalid keystore entries grouped by `KeystoreId` and displays them with associated error messages.
| * | | | | arti: keys: Refactor `display_invalid_keystore_entries`hjrgrn2025-10-081-35/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create the skeletal version of the new `display_invalid_keystore_entries` function and adapt `run_check_integrity` to use it. The function now takes a slice of pairs, each containing a `KeystoreId` and a vector of invalid keystore entries along with their error messages, and processes all entries internally by iterating over each keystore, instead of being called once per keystore.
| * | | | | arti: keys: Refactor run_check_integrity to use keystores with IDshjrgrn2025-10-081-28/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the function worked with a flat `Vec<KeystoreEntryResult<KeystoreEntry>>`. Now, it uses a structured `Vec<(KeystoreId, Vec<KeystoreEntryResult<KeystoreEntry>>)>`, grouping entries by keystore. This makes it easier to track which keystore each entry belongs to, and prepares the code for upcoming improvements.
* | | | | | Merge branch 'netdoc-build-feat-docs' into 'main'Nick Mathewson2025-10-081-3/+12
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | | | | | | | | | | | | | tor-netdoc: Deprecate `build_docs` and tidy feature docs See merge request tpo/core/arti!3340
| * | | | | tor-netdoc: Deprecate the netdoc "builder pattern"Ian Jackson2025-10-071-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're going to eventually implement the traits in `src/build.rs` for the network document types. But, this feature mainly covers `doc/*build*`. That (a) isn't used in-tree (b) isn't really needed now that the fields are all pub (c) is currently marked experimental.
| * | | | | tor-netdoc: Document the `hs-client` and `hs-service` featuresIan Jackson2025-10-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | And mention that there are experimental and undocumented features.
* | | | | | Merge branch 'parse2-no-fromstr' into 'main'Ian Jackson2025-10-0810-38/+99
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | tor-netdoc: Replace blanket impl based on FromStr with new NormalItemArgument trait See merge request tpo/core/arti!3333
| * | | | | tor-netdoc: Add semver.md for parsing/printing changesIan Jackson2025-10-081-0/+4
| | | | | |
| * | | | | tor-netdoc: Explain that Ignored can't be used as an argumentIan Jackson2025-10-081-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is FromStr (which is fine). Which emant it was ItemArgumentParseable but but it can't be Display so it can't be NormalItemArgument. This illuminates the fact that it shouldn't really be ItemArgumentParseable since we're going to want all types that are in netdoc structs to be both parseable and printable.
| * | | | | tor-netdoc: replace impl_item_argument_as_display with NormalItemArgumentIan Jackson2025-10-081-26/+8
| | | | | |
| * | | | | tor-netdoc: Narrow ItemArgument impl on `&_` to just `&str`Ian Jackson2025-10-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're going to indirect the impls of `ItemArgument` in terms of `FromStr` via a blanket on `impl NormalItemArgument`. For trait coherence reasons we can't have an blanket impl on `&impl ItemArgument` any more.
| * | | | | tor-netdoc: Introduce `NormalItemArgument` impl-enabler traitIan Jackson2025-10-087-2/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is currently used to enable `parse2::ItemArgumentParseable`. In a moment it will enable `build::ItemArgument` too.
| * | | | | tor-netdoc: parse2 poc: impl Display for several typesIan Jackson2025-10-084-3/+9
| | | | | |
| * | | | | tor-netdoc: parse2 poc: break out some constantsIan Jackson2025-10-081-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll want this for both types eventually, when we do printing at the very least.
| * | | | | tor-netdoc: impl Display for Fingerprint and Base64FingerprintIan Jackson2025-10-082-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm going to want this as preparation for making these things properly suitable for item arguments. One test case in parse2::poc was relying on Display of the Deref to RsaIdentity.
| * | | | | tor-netdoc: Add a test case for Base64Fingerprint parsingIan Jackson2025-10-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Somehow there wasn't one of these.
| * | | | | tor-netdoc: impl From<Base64Fingerprint> for RsaIdentityIan Jackson2025-10-081-1/+1
|/ / / / / | | | | | | | | | | | | | | | This orthogonally necessary impl seems to have been overlooked.
* | | | | Merge branch 'mv-flow-ctrl' into 'main'gabi-2502025-10-0820-30/+32
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | proto: Move flow_ctrl module under stream. See merge request tpo/core/arti!3335
| * | | | proto: Fix flow control docs post-move.Gabriela Moldovan2025-10-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `StreamFlowCtrl` is no longer accessible via `tor_proto::client`, so I had to update one of the (doc) imports with its new path Also, I had to change a couple of imports to use `DataWriter` and `DataStream` from `crate::client::stream` instead of `crate::client::stream::data`, because the latter is not visible from `flow_ctrl` anymore.
| * | | | proto: Move flow_ctrl module under stream (fmt).Gabriela Moldovan2025-10-0711-22/+18
| | | | |
| * | | | proto: Move flow_ctrl module under stream.Gabriela Moldovan2025-10-0720-24/+25
| | | | | | | | | | | | | | | | | | | | This will be used by exits too, so I am moving it out of `client`.
| * | | | proto: Add a top-level stream module.Gabriela Moldovan2025-10-072-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | This will house the implementation-agnostic stream types and functionality.
* | | | | Merge branch 'fallbackdirs-06-10-2025' into 'main'David Goulet2025-10-071-899/+886
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | fallbackdir: Update list generated on October 06, 2025 See merge request tpo/core/arti!3328
| * | | | | fallbackdir: Update list generated on October 06, 2025Tor CI Release2025-10-071-899/+886
| | |_|/ / | |/| | | | | | | | | | | | | Signed-off-by: Tor CI Release <[email protected]>
* | | | | Merge branch 'x509-gen' into 'main'Nick Mathewson2025-10-076-5/+373
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generate x509 self-signed identity key certificates. (CERT_TYPE 02) Closes #2197 See merge request tpo/core/arti!3324
| * | | | | Require rsa 0.9.2 for SignatureBitStringEncoding.Nick Mathewson2025-10-071-1/+1
| | | | | |
| * | | | | tor-cert: Generate x509 identity certificates for CERT cellsNick Mathewson2025-10-074-5/+292
| | | | | | | | | | | | | | | | | | | | | | | | Closes #2197.
| * | | | | tor-basic-utils: New function to generate random hostname.Nick Mathewson2025-10-072-0/+81
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | We'll be using this for x509 certificates in #2197. We might also use it for SNI/ESNI as in !198.
* | | | | Merge branch 'maint-downgrad-deps-exception-note' into 'main'wesleyac2025-10-071-0/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | maint: Add note on exceptions to downgrade_dependencies. See merge request tpo/core/arti!3030
| * | | | | maint: Add issue for --direct-minimal-versions.Wesley Aptekar-Cassels2025-10-071-1/+1
| | | | | |
| * | | | | maint: Add note on exceptions to downgrade_dependencies.Wesley Aptekar-Cassels2025-10-071-0/+5
| | |_|_|/ | |/| | | | | | | | | | | | | As discussed in last week's meeting.
* | | | | Merge branch 'docs-release-unpublished-crate-versions' into 'main'wesleyac2025-10-071-0/+2
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | docs: Mention examples and maint crates in release docs. See merge request tpo/core/arti!3315
| * | | | docs: Move list ordering in Release.md.Wesley Aptekar-Cassels2025-10-071-2/+2
| | | | |
| * | | | docs: Mention examples and maint crates in release docs.Wesley Aptekar-Cassels2025-10-071-0/+2
| |/ / / | | | | | | | | | | | | | | | | This seems to describe our current de-facto policy, and it seems reasonable not to bump versions for crates we aren't publishing.
* | | | Merge branch 'parse2-prep-more' into 'main'opara2025-10-075-4/+21
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-netdoc: parse2: Three minor fixes and a new function See merge request tpo/core/arti!3326
| * | | | tor-netdoc: parse2: Make NetdocParseableFields work out of-moduleIan Jackson2025-10-061-0/+9
| | | | |
| * | | | tor-netdoc: parse2: Break out check_no_objectIan Jackson2025-10-062-1/+9
| | | | | | | | | | | | | | | | | | | | This will be useful for impls of ItemValueParseable.
| * | | | tor-netdoc: parse2: Fix variety ordering in a doc commentIan Jackson2025-10-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | We changed the ordering at some point. This comment seems to have been overlooked.