| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | tor-keymgr: Fix cert handling tests. | Gabriela Moldovan | 2025-01-13 | 3 | -25/+64 | |
| | | | | | | | This updates and reenables the cert management tests. Part of #1768 | |||||
| * | tor-key-forge: Fix typo in doc comment. | Gabriela Moldovan | 2025-01-13 | 1 | -1/+1 | |
| | | ||||||
| * | tor-cert: Remove no-longer-needed experimental API. | Gabriela Moldovan | 2025-01-13 | 1 | -12/+0 | |
| | | | | | Part of #1768 | |||||
| * | tor-keymgr: Use Ed25519Cert::decode to parse the certs. | Gabriela Moldovan | 2025-01-13 | 4 | -4/+18 | |
| | | ||||||
| * | tor-keymgr: Add cert parse error variant. | Gabriela Moldovan | 2025-01-13 | 4 | -2/+20 | |
| | | | | | | | | This will soon be used, when we modify the `ArtiNativeKeystore` cert lookup code to actually parse certificates before returning them. Part of #1768 | |||||
| * | tor-key-forge: Add ItemType impl for KeyUnknownCert. | Gabriela Moldovan | 2025-01-13 | 1 | -0/+9 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `KeyUnknownCert` will soon be used as the `ToEncodableCert::ParsedCert` type for Tor ed25519 certs. For example, the `ToEncodableCert` impl for `RelaySigningKeyCert` will look like this: ```rust pub struct RelaySigningKeyCert(EncodedEd25519Cert); impl ToEncodableCert<RelaySigningKeypair> for RelaySigningKeyCert { type ParsedCert = KeyUnknownCert; type EncodableCert = EncodedEd25519Cert; type SigningKey = RelayIdentityKeypair; fn validate( cert: Self::ParsedCert, subject: &RelaySigningKeypair, signed_with: &Self::SigningKey, ) -> Result<Self, InvalidCertError> { // TODO: validate `KeyUnknownCert` // and convert it to an EncodedEd25519Cert // (we don't yet an easy way to perform this conversion) } fn to_encodable_cert(self) -> Self::EncodableCert { self.0 } } ``` | |||||
| * | tor-key-forge: Split out ItemType as a separate trait. | Gabriela Moldovan | 2025-01-13 | 7 | -28/+57 | |
| | | | | | | | | | This is necessary because `ParsedCert`s will not be `EncodableItem`s. This is because we cannot (and don't want to) write certificates that have not yet been validated to the keystore. They do need to be retrievable from the keystore though, so we also change `ErasedKey` to be `Box<dyn ItemType>` instead. | |||||
| * | tor-key-forge: Distinguish between parsed certs and encodable certs. | Gabriela Moldovan | 2025-01-13 | 2 | -12/+16 | |
| | | | | | | | | | | | | | | | | We need two different types to represent * certs that have been parsed, but not yet validated (`KeyUnknownCert`) * newly generated encodable certs (`EncodedEd25519Cert`) Currently, we don't use `KeyUnknownCert` anywhere, and instead use `EncodedEd25519Cert` to represent "parsed" but not-yet-validated certs. This approach is wrong and relies on a broken (no-op) `EncodedEd25519Cert::from_bytes` implementation. A future commit will address this problem by replacing `EncodedEd25519Cert::from_bytes` with `Ed25519Cert::decode` to actually parse the cert upon retrieving it from the keystore. | |||||
| * | tor-keymgr: Replace from_encodable_cert with validation function. | Gabriela Moldovan | 2025-01-13 | 2 | -22/+7 | |
| | | | | | | | | | In practice, we won't be able to obtain an `ToEncodableCert` type from an `EncodableItem` cert without validating it first, so we need to collapse `validate` into `from_encodable_cert`. Part of #1768 | |||||
| * | tor-key-forge: Export some additional tor-cert types. | Gabriela Moldovan | 2025-01-13 | 1 | -3/+3 | |
| | | | | | This will soon be used. | |||||
| * | arti-relay: don't use environment var in `Mistrust` | Steven Engler | 2025-01-13 | 2 | -26/+4 | |
| | | ||||||
| * | arti-relay: remove `TorRelayConfigBuilder::from_directories` | Steven Engler | 2025-01-13 | 1 | -27/+0 | |
| | | | | | | I don't think we'll ever need this. Users will set the directories through the config file. | |||||
| * | arti-relay: add basic placeholder logger | Steven Engler | 2025-01-13 | 1 | -4/+61 | |
| | | | | | | This is probably not what the final logger would look like, but it's a fine placeholder for now. | |||||
| * | arti-relay: add config loading | Steven Engler | 2025-01-13 | 2 | -13/+47 | |
| | | ||||||
| * | arti-relay: make `main` a wrapper around a `main_main` | Steven Engler | 2025-01-13 | 2 | -1/+15 | |
| | | | | | This makes it more similar to arti. | |||||
| * | arti-relay: add `LoggingConfig` | Steven Engler | 2025-01-13 | 2 | -0/+41 | |
| | | ||||||
| * | arti-relay: rework default config file path handling | Steven Engler | 2025-01-13 | 1 | -15/+91 | |
| | | ||||||
| * | arti-relay: add constant `ARTI_FS_DISABLE_PERMISSION_CHECKS` | Steven Engler | 2025-01-13 | 1 | -0/+24 | |
| | | | | | We don't actually use it yet, but we do show it in the '--help' text. | |||||
| * | arti-relay: `TorRelay` takes a `CfgPathResolver` | Steven Engler | 2025-01-13 | 2 | -8/+20 | |
| | | ||||||
| * | arti-relay: remove relay builder | Steven Engler | 2025-01-13 | 3 | -71/+8 | |
| | | | | | | | | This is a bunch of boilerplate code that we don't currently need, and may not need in the future since we don't need to provide a lot of library-API-level customization for `TorRelay` like we do with `TorClient`. | |||||
| * | arti-relay: default config paths now use path resolver | Steven Engler | 2025-01-13 | 3 | -12/+21 | |
| | | ||||||
| * | arti-relay: added a base `CfgPathResolver` | Steven Engler | 2025-01-13 | 2 | -5/+124 | |
| | | ||||||
| * | arti-relay: impl `TopLevel` for `TorRelayConfig` | Steven Engler | 2025-01-13 | 1 | -0/+4 | |
| | | ||||||
| * | arti-relay: added `From<LogLevel> for tracing::metadata::Level` | Steven Engler | 2025-01-13 | 1 | -1/+13 | |
| | | ||||||
| * | arti-relay: make cli `log_level` an `Option` | Steven Engler | 2025-01-13 | 1 | -4/+3 | |
| | | | | | This is an override option, which we want to default to "unset". | |||||
| * | arti-relay: test that global cli options have "global" set | Steven Engler | 2025-01-13 | 1 | -1/+16 | |
| | | ||||||
| * | arti-relay: moved global cli options to common struct | Steven Engler | 2025-01-13 | 1 | -16/+24 | |
| | | ||||||
| * | Merge branch 'rpc-banner' into 'main' | Nick Mathewson | 2025-01-09 | 5 | -8/+53 | |
| |\ | | | | | | | | | | | | | RPC spec: specify banner format. Closes #1753 See merge request tpo/core/arti!2700 | |||||
| | * | Implement banner for RPC protocol. | Nick Mathewson | 2025-01-09 | 5 | -8/+53 | |
| | | | | | | | | | Closes #1753 | |||||
| * | | tor-config: Test that uninteresting events get ignored. | Gabriela Moldovan | 2025-01-09 | 1 | -3/+21 | |
| | | | ||||||
| * | | tor-config: Rewrite match for readability. | Gabriela Moldovan | 2025-01-09 | 1 | -3/+5 | |
| | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2696#note_3145971 | |||||
| * | | tor-config: Avoid using EventKind::Any in the tests. | Gabriela Moldovan | 2025-01-09 | 1 | -3/+4 | |
| | | | | | | | | | Events of type `Any` now get discarded by the event handler. | |||||
| * | | tor-config: Handle rescan events before filtering. | Gabriela Moldovan | 2025-01-09 | 1 | -3/+2 | |
| | | | | | | | | | | | This enables us to catch "rescan" events, regardless of their underlying `EventKind`. | |||||
| * | | tor-config: Make the `FileWatcher` ignore non-mutating file events. | Gabriela Moldovan | 2025-01-09 | 1 | -1/+13 | |
| | | | | | | | | | | | | | | | | | Without this, setting `watch_configuration = true` results in endless config reloading due to arti accessing the config (which triggers an access event, which in turn, triggers a config reload, and so on). Closes #1794 | |||||
| * | | tor-proto: fix bad indentation | Steven Engler | 2025-01-09 | 1 | -3/+3 | |
| | | | ||||||
| * | | tor-proto: test `Channel::wait_for_close` | Steven Engler | 2025-01-09 | 1 | -5/+35 | |
| | | | ||||||
| * | | tor-proto: make `Channel::wait_for_close` non-experimental | Steven Engler | 2025-01-09 | 1 | -1/+0 | |
| | | | ||||||
| * | | tor-proto: `Channel::wait_for_close` return success status | Steven Engler | 2025-01-09 | 2 | -14/+42 | |
| |/ | | | | | | This had a TODO about returning a "status indication instead of just ()" so this commit adds some status indication that we can expand later if needed. | |||||
| * | tor-circmgr: Add trace log on circuit build timeout. | Wesley Aptekar-Cassels | 2025-01-08 | 1 | -0/+2 | |
| | | | | | This may help debugging #1792. | |||||
| * | tor-rtcompat: Note that SpawnBlocking isn't for CPU-bound tasks. | Wesley Aptekar-Cassels | 2025-01-07 | 1 | -1/+1 | |
| | | ||||||
| * | tor-rtcompat: Use GAT instead of RPIT in SpawnBlocking trait. | Wesley Aptekar-Cassels | 2025-01-07 | 7 | -9/+25 | |
| | | | | | Due to the limitations on RPIT, it's better to use a GAT for now. | |||||
| * | tor-rtcompat: Add note about what to use spawn_blocking for. | Wesley Aptekar-Cassels | 2025-01-07 | 1 | -1/+5 | |
| | | ||||||
| * | tor-rtcompat: Note SpawnBlocking semver break. | Wesley Aptekar-Cassels | 2025-01-07 | 1 | -0/+1 | |
| | | ||||||
| * | tor-rtmock: Add task names for spawn_obj and spawn_blocking. | Wesley Aptekar-Cassels | 2025-01-07 | 1 | -2/+2 | |
| | | ||||||
| * | tor-rtcompat: Link to spawn_blocking docs. | Wesley Aptekar-Cassels | 2025-01-07 | 1 | -0/+6 | |
| | | ||||||
| * | tor-rtcompat: Add spawn_blocking to Runtime trait. | Wesley Aptekar-Cassels | 2025-01-07 | 8 | -3/+114 | |
| | | | | | | This adds a new SpawnBlocking trait, which exposes the spawn_blocking function that tokio, async-std, and other runtimes have. | |||||
| * | Remove semver.md files after 1.3.2 release | Nick Mathewson | 2025-01-07 | 3 | -5/+0 | |
| | | ||||||
| * | Update versions in crates/*/bench. | Nick Mathewson | 2025-01-07 | 2 | -3/+3 | |
| | | ||||||
| * | Bump arti crate to 1.3.2 | Nick Mathewson | 2025-01-07 | 3 | -3/+3 | |
| | | | | | | | | Done with ``` cargo set-version --bump patch -p arti ``` | |||||
| * | Bump versions of internal arti crates for Arti 1.3.2 | Nick Mathewson | 2025-01-07 | 49 | -430/+430 | |
| | | | | | | | | | | | | | | The affected crates follow our regular versioning. They all get bumped to 0.26.0. Done with ``` for crate in $(./maint/list_crates |grep '^arti-\|tor-' ); do cargo set-version --bump minor -p $crate; done ``` | |||||
