summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | arti: keys: Add comment explaining difference between `affected_keystores` ↵hjrgrn2025-10-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | and `keystores`
| * | | | | 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.
* | | | | | 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-075-3/+313
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-073-3/+232
| | | | | | | | | | | | | | | | | | | | | | | | 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 '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.
| * | | | | tor-netdoc: parse2: Fix ItemValueParseable field attribute `with`Ian Jackson2025-10-062-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the docs this is supposed to name the module, not the function. (This will be necessary when we do netdoc generation.)
* | | | | | Merge branch '5225225/fix-fuzzing' into 'main'opara2025-10-076-37/+65
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | | | | | | | | | | | | | fuzzing: fix up targets to compile See merge request tpo/core/arti!3284
| * | | | | Undo change to use ns_consensus feature, fix target to not need it52252252025-10-072-3/+3
| | | | | |
| * | | | | fuzzing: fix up targets to compile52252252025-10-077-37/+65
| | |_|/ / | |/| | |
* | | | | tor-proto: deprecate handshake-specific create/extend variantsNick Mathewson2025-10-071-0/+10
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | Everybody should use create_firsthop() and extend(), and let tor-proto decide which handshake is best. Closes #1990.
* | | | Merge branch 'orport-addrs' into 'main'Ian Jackson2025-10-0717-64/+78
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Unify and tidy addrs methods from tor-linkspec and routerdescs See merge request tpo/core/arti!3300
| * | | | tor-netdoc: Remove obsolete commentIan Jackson2025-10-061-2/+0
| | | | | | | | | | | | | | | | | | | | There is no longer a trait.
| * | | | tor-netdoc: RouterStatus: unify `orport_addrs` and `addrs` methodsIan Jackson2025-10-064-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had two functions with different return types but identical semantics. Replace them with one function returning `impl Iterator`. Make it return owned addresses. These are small.
| * | | | tor-linkspec: Change HasAddrs::addrs to return an Iterator (fmt)Ian Jackson2025-10-062-2/+7
| | | | |
| * | | | tor-linkspec: Change HasAddrs::addrs to return an IteratorIan Jackson2025-10-0614-55/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will let us model the actual structure of routerstatus entries in netdocs more closely. They don't have the addresses in a single list. When this code was written this would have been much more awkward, but now we have RPITIT.