aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | tor-checkable: Rename `TimeBound::check_valid_*` to `if_valid_*`Ian Jackson2026-07-2319-50/+52
| | | | | | | | | | | | | | | | | | | | | I find these names confusing. To my mind "check" implies a function returning `Result<(), _>`. Some other APIs use `unwrap` here but I think `if` is good.
| * | tor-checkable: Deprecate `TimeBound::check_valid_at_opt`Ian Jackson2026-07-233-8/+19
| | |
| * | tor-checkable: TimeBound: Make wrapped type an associated type (fmt)Ian Jackson2026-07-231-1/+4
| | |
| * | tor-checkable: TimeBound: Make wrapped type an associated typeIan Jackson2026-07-236-12/+24
| | | | | | | | | | | | | | | It wouldn't make much sense for one concrete type to be unwrappable variously as different inner types.
| * | tor-checkable: TimeBound: Make dangerously_into_parts return TimeRange (fmt)Ian Jackson2026-07-232-12/+4
| | |
| * | tor-checkable: TimeBound: Make dangerously_into_parts return TimeRangeIan Jackson2026-07-235-17/+19
| | | | | | | | | | | | | | | It is better to return a more cooked type. `TimeRange` aka `TimeRangeBound<()>` is perfect for this.
| * | tor-checkable: TimeBound: Make is_valid_at a provided methodIan Jackson2026-07-234-22/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we have `bounds()`, we can centralise this implementation and delete the implementations. I don't think it's necessary to provide an engineered safeguard against downstreams overriding this method. Any existing implementors of this trait will break because they must provide `.bounds()` now, which is an opportunity to notice that the `is_valid_at` can be deleted. But, if it is not deleted, nothing goes wrong.
| * | tor-checkable: TimeBound: remove Error associated typeIan Jackson2026-07-236-24/+13
| | | | | | | | | | | | | | | This was always TimeValidityError. And we want to rely on that so we can do the validity checking more centrally.
| * | tor-checkable: TimeBound: Add bounds accessorIan Jackson2026-07-235-16/+39
| | | | | | | | | | | | | | | | | | | | | This makes a `TimeBound` much more convenient to work with, will allow more centralisation. This replaces temporary `bound` inherent method on `TimeRangeBound`.
| * | tor-checkable: TimeRange: Provide intersect_bounds methodIan Jackson2026-07-234-1/+56
| | |
| * | tor-checkable: TimeRange: Provide a more complete APIIan Jackson2026-07-232-0/+59
| | | | | | | | | | | | | | | This is our time range type, so it wants a bunch of useful methods and conversions.
| * | tor-checkable: Introduce TimeRange aliasIan Jackson2026-07-233-1/+10
| | |
| * | tor-checkable: TimeRangeBound: Rename extend_tolerance to extend_end_boundIan Jackson2026-07-235-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | It was confusing that one of these functions had "which bound" mentioned in its name, but the other didn't. So add `end` and switch from `tolerance` to `bound` (see previous commit message). *This* commit should deal only in `extend_tolerance` and `end` and shouldn't touch `extend_start_bound` or `extend_pre_tolerance`.
| * | tor-checkable: TimeRangeBound: Rename extend_pre_tolerance to extend_start_boundIan Jackson2026-07-234-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Although it is often used to apply a tolerance, it doesn't make sense to say that this is extending the "tolerance" of a `TimeRangeBound`. A `TimeRangeBound` doesn't have a tolerance, only bounds. Also we should be consistent in our terminology, and use `start` rather than `pre`. We'll rename the other method too. Doing them one at a time will makes it easier to spot any "pre/start" vs "<nothing>/end" slips: *this* commit should deal only in `pre` and `start` and shouldn't touch `extend_tolerance`.
| * | tor-checkable: TimeRangeBound: Swap code order of two functionsIan Jackson2026-07-231-10/+10
| | | | | | | | | | | | | | | This puts the start bounds extension function before the end one. That makes sense because starts are before ends.
| * | tor-checkable: TimeRangeBound: Rename bounds to bounds_start_endIan Jackson2026-07-233-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This just returns a tuple. We're going to introduce a new method that returns a `TimeRagne` and will want to be called `bounds`. That method will want to be in the `TimeBound` trait, but for now we add it here. Various call sites will be added in forthcoming commits.
| * | tor-checkable: Cargo.toml: Add some blank linesIan Jackson2026-07-231-0/+2
| | | | | | | | | | | | I find this hard to read without them.
| * | tor-checkable: TimeRangeBound: document lack of well-formedness invariantIan Jackson2026-07-231-0/+3
| | |
| * | tor-checkable: Re-export TimeRangeBound at the top-levelIan Jackson2026-07-232-0/+3
| | | | | | | | | | | | | | | | | | This module has only few public items - currently, only one. And it has the word "time" in it. It doesn't make sense to expect callers to write `timed::`.
| * | tor-checkable: import time::Duration for brevityIan Jackson2026-07-231-3/+3
|/ / | | | | | | | | I noticed this clumsiness while passing. We can't do the same for SystemTime because we have the wasm SystemTime thing too :-/.
* | Merge branch 'edition' into 'main'Jim Newsome2026-07-228-48/+55
|\ \ | | | | | | | | | | | | Bump edition of tor-dirserver and tor-dirauth See merge request tpo/core/arti!4227
| * | Much formatting churn for 2024 editionIan Jackson2026-07-226-46/+53
| | |
| * | Bump edition of tor-dirserver and tor-dirauthIan Jackson2026-07-222-2/+2
| |/ | | | | | | | | Apparently these crate creations were outstanding when the workspace's edition was increased.
* | Merge branch 'deftly-4' into 'main'Jim Newsome2026-07-221-4/+4
|\ \ | | | | | | | | | | | | Update to derive-deftly 1.11.4 See merge request tpo/core/arti!4228
| * | Update to derive-deftly 1.11.4Ian Jackson2026-07-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | To pick up this fix: * BETA: Allow user-defined expansions whose definition is just a string literal `"..." within `${concat }` and `$"..."`. which I have just released.
* | | Merge branch 'td2-desc' into 'main'Ian Jackson2026-07-2236-257/+1267
|\ \ \ | |/ / |/| | | | | | | | tor-netdoc testdata-live: Update and expand See merge request tpo/core/arti!4224
| * | tor-netdoc testdata-live: Clarify what should be committedIan Jackson2026-07-221-2/+4
| | |
| * | tor-netdoc: Fix grammar in a commentIan Jackson2026-07-221-1/+1
| | |
| * | tor-netdoc testdata-live: Save selected routers' descriptors (effect)Ian Jackson2026-07-2215-0/+819
| | | | | | | | | | | | | | | | | | | | | Run crates/tor-netdoc/testdata-live-download with the locally saved, previously downloaded, network statuses. It downloaded these descriptors.
| * | tor-netdoc testdata-live: Save selected routers' descriptorsIan Jackson2026-07-222-0/+30
| | |
| * | tor-netdoc testdata-live: Split off selected routers' routerstatus entries ↵Ian Jackson2026-07-2215-0/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (effect) Run crates/tor-netdoc/testdata-live-download with the locally saved, previously downloaded, network statuses. (It didn't download anything extra, but it did produced these new output files, as expected.)
| * | tor-netdoc testdata-live: Split off selected routers' routerstatus entriesIan Jackson2026-07-221-1/+5
| | | | | | | | | | | | | | | This will be convenient for saving their descriptors, and may be useful for other purposes too.
| * | tor-netdoc testdata-live: Download fresh dataIan Jackson2026-07-223-70/+380
| | | | | | | | | | | | Precisely a run of crates/tor-netdoc/testdata-live-download.
| * | tor-netdoc testdata-live: Document the contents of testdata-live/Ian Jackson2026-07-221-0/+7
| | |
| * | tor-netdoc testdata-live: Report URLs we are downloading to stderrIan Jackson2026-07-221-0/+1
| | |
| * | tor-netdoc testdata-live: Do not re-download already-fetched inputsIan Jackson2026-07-224-398/+93
| | | | | | | | | | | | We don't fetch files to the names we commit.
| * | tor-netdoc testdata-live: Add http:// to URLsIan Jackson2026-07-211-1/+1
| | | | | | | | | | | | curl infers this, but we should include it.
| * | tor-netdoc testdata-live: Break out run-curl functionIan Jackson2026-07-211-1/+7
| | |
| * | tor-netdoc tests; work around version number ordering issueIan Jackson2026-07-211-0/+16
| |/ | | | | | | | | | | | | | | | | Ideally we would have Arti sort things sensibly but currently we have no types in Arti that are (1) faithful (2) sort correctly. Most of the existing types eventually have a `TorVersion` inside, which is lossy, so we can't use them for (eg) dirauth network status processing.
* | Merge branch 'relay-incoming-stream4' into 'main'gabi-2502026-07-2212-25/+310
|\ \ | | | | | | | | | | | | arti-relay: Spawn DirMirror, start handling BEGIN_DIR See merge request tpo/core/arti!4222
| * | arti-relay: Turn a TODO(relay-tuning) into TODO DIRMIRRORGabriela Moldovan2026-07-221-1/+1
| | | | | | | | | | | | | | | Context: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/4222#note_3437336
| * | dirserver: Add a TODO about reworking the DirMirror listener typeGabriela Moldovan2026-07-221-0/+7
| | |
| * | arti-relay: Add a TODO from @oparaGabriela Moldovan2026-07-221-0/+5
| | |
| * | arti-relay: s/stream/tor_stream for clarityGabriela Moldovan2026-07-221-5/+5
| | |
| * | arti-relay: Warn if incoming stream handler task can't be launchedGabriela Moldovan2026-07-221-2/+4
| | |
| * | proto: Remove misleading comment about CircuitIncomingStreamReceiverGabriela Moldovan2026-07-221-3/+0
| | |
| * | proto: Update CreateRequestHandler::new() docsGabriela Moldovan2026-07-221-1/+2
| | | | | | | | | | | | | | | As suggested in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/4222#note_3437129
| * | proto: Reword CircuitIncomingStreamReceiver docs for clarityGabriela Moldovan2026-07-221-1/+2
| | | | | | | | | | | | Applies @opara's suggested rephrasing.
| * | dirserver: Return a dummy response from DirMirror::serve()Gabriela Moldovan2026-07-221-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the `DirMirror` return a dummy 500 response. This enables us to (manually) verify that the new relay BEGIN_DIR stream handler works as expected. We will of course need some automated e2e tests too, but for the time being a manual test should do. This will all be replaced by the real implementation, once that's ready (TODO DIRMIRROR).
| * | arti-relay: Handle directory streamsGabriela Moldovan2026-07-222-2/+12
| | | | | | | | | | | | | | | | | | Directory streams are accepted and turned into `DataStreams` by an `arti-relay` task. The `DataStream`s are then passed to the `DirMirror` for handling.