| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | | tor-hsservice: reconfigure: reject changing rate_limit_at_intro for now | Ian Jackson | 2024-02-21 | 1 | -0/+6 | |
| | | | ||||||
| * | | tor-hsservice: reconfigure: changing num_intro_points is fine | Ian Jackson | 2024-02-21 | 1 | -0/+5 | |
| | | | ||||||
| * | | tor-hsservice: reconfigure: Formalise field handling | Ian Jackson | 2024-02-21 | 1 | -8/+59 | |
| |/ | ||||||
| * | Merge branch 'fast_and_stable' into 'main' | Nick Mathewson | 2024-02-20 | 14 | -42/+264 | |
| |\ | | | | | | | | | | | | | Require the Fast and Stable flags as appropriate. Closes #1100 See merge request tpo/core/arti!1976 | |||||
| | * | PathConfigBuilder: Actually provide the long_lived_ports setters | Ian Jackson | 2024-02-20 | 1 | -0/+6 | |
| | | | ||||||
| | * | Use list_builder and sub-builder pattern for long_lived_ports. | Nick Mathewson | 2024-02-20 | 1 | -6/+18 | |
| | | | ||||||
| | * | Note a calculation we can clean up after doing spec work. | Nick Mathewson | 2024-02-20 | 1 | -1/+3 | |
| | | | ||||||
| | * | Add caveats on is_flagged_guard, and note possible deprecation | Nick Mathewson | 2024-02-20 | 1 | -1/+15 | |
| | | | ||||||
| | * | Add and use "UncheckedRelay::is_suitable_as_guard" | Nick Mathewson | 2024-02-20 | 2 | -1/+6 | |
| | | | ||||||
| | * | Teach *CircUsage structs about stability. | Nick Mathewson | 2024-02-20 | 5 | -29/+122 | |
| | | | | | | | | | | | | | | | | | | | | | | | This lets us check long_lived_ports only when we are constructing a TargetCircUsage, and lets us remember whether or not the circuit we've built is suitable for non-long-lived ports. It also lets us decide whether existing circuits are compatible with new requests. Closes #1100. | |||||
| | * | Add a couple of TODOs about Stable-based path selection. | Nick Mathewson | 2024-02-20 | 2 | -0/+6 | |
| | | | ||||||
| | * | When building paths, require the Stable flag as appropriate | Nick Mathewson | 2024-02-20 | 2 | -2/+33 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | The Stable flag means that circuits build through a given relay are not likely to get closed precipitously. (Currently, the authorities guess this by looking at the relay's mean time between failures.) Generally speaking, paths must be Stable if: * They are going to get used for a rendezvous point. * They are going to get used for an introduction point. * They are going to get used for exiting to a member of long_lived_ports. | |||||
| | * | Add a configuration option for long_lived_ports. | Nick Mathewson | 2024-02-20 | 3 | -0/+21 | |
| | | | ||||||
| | * | Require the Fast flag on all randomly selected relays. | Nick Mathewson | 2024-02-20 | 1 | -9/+16 | |
| | | | | | | | | | | | | | This matches the behavior of C tor. Part of #1100. | |||||
| | * | Only pick Fast-flagged relays as directory caches | Nick Mathewson | 2024-02-20 | 1 | -1/+3 | |
| | | | | | | | | | | | | | Matches the behavior of C tor. Part of #1100. | |||||
| | * | Only pick Fast relays as introduction points. | Nick Mathewson | 2024-02-20 | 1 | -1/+1 | |
| | | | | | | | | | This matches the behavior of C tor. Part of #1100. | |||||
| | * | Require that guards are Fast and Stable. | Nick Mathewson | 2024-02-20 | 4 | -4/+12 | |
| | | | | | | | | | | | | | This matches the behavior of C tor. Part of #1100. | |||||
| | * | netdir: Add Relay::is_flagged_{fast,stable} methods. | Nick Mathewson | 2024-02-12 | 2 | -0/+15 | |
| | | | ||||||
| * | | tor-hsservice: Clarify what UploadError::Stream is for. | Gabriela Moldovan | 2024-02-20 | 1 | -1/+1 | |
| | | | ||||||
| * | | tor-hsservice: Clarify what UploadError::Timeout is used for. | Gabriela Moldovan | 2024-02-20 | 1 | -2/+2 | |
| | | | ||||||
| * | | tor-hsservice: Log descriptor upload request errors. | Gabriela Moldovan | 2024-02-19 | 1 | -1/+1 | |
| | | | ||||||
| * | | tor-hsservice: Report a clearer error message for UploadError::Circuit. | Gabriela Moldovan | 2024-02-19 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | This errors such as ``` DEBUG tor_hsservice::svc::publish::backoff: failed to upload a hidden service descriptor: circuit failed attempt=2 can_retry=true ``` into ``` DEBUG tor_hsservice::svc::publish::backoff: failed to upload a hidden service descriptor: could not build circuit to HsDir attempt=2 can_retry=true ``` | |||||
| * | | tor-hsservice: Run cargo fmt. | Gabriela Moldovan | 2024-02-19 | 1 | -3/+7 | |
| | | | ||||||
| * | | tor-hsservice: Report IPT errors from all the IPTs we are maintaining. | Gabriela Moldovan | 2024-02-19 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | We should be reporting all IPT errors, not just the ones coming from the IPTs that are "current". Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1966#note_2996978 | |||||
| * | | tor-hsservice: Replace placeholder IptError with the real IptError type. | Gabriela Moldovan | 2024-02-19 | 3 | -18/+34 | |
| | | | ||||||
| * | | tor-hsservice: Include the IptError in IptStatusStatus::Faulty. | Gabriela Moldovan | 2024-02-19 | 2 | -22/+27 | |
| | | | | | | | | | | | | | This will enable the `IptManager` to more accurately report its status. Part of #1083 | |||||
| * | | tor-hsservice: Move certain IptEstablisherErrors to a separate enum (fmt). | Gabriela Moldovan | 2024-02-19 | 1 | -3/+7 | |
| | | | ||||||
| * | | tor-hsservice: Move certain IptEstablisherErrors to a separate enum. | Gabriela Moldovan | 2024-02-19 | 1 | -28/+44 | |
| | | | | | | | | | | | | | | | | | | | | | The new `IptError` type represents an IPT error that is definitely caused by a bad IPT. `IptError` will be made public and exposed through a variant of the `Problem` enum used for status reporting. Part of #1083 | |||||
| * | | tor-hsservice: Rename IptError to IptEstablisherError. | Gabriela Moldovan | 2024-02-19 | 1 | -19/+19 | |
| | | | | | | | | | | | | | We are about to add a new `IptError` type that is only for errors that are the IPT's fault (the ones `IptEstablisherError::is_ipt_failure()` returns `true` for). | |||||
| * | | tor-hsservice: Clarify what State::Recovering means. | Gabriela Moldovan | 2024-02-19 | 1 | -10/+9 | |
| | | | ||||||
| * | | tor-hsservice: Expand on State::Broken reachability notes. | Gabriela Moldovan | 2024-02-19 | 1 | -1/+1 | |
| | | | ||||||
| * | | tor-hsservice: Expand on reachability notes. | Ian Jackson | 2024-02-19 | 1 | -2/+2 | |
| | | | ||||||
| * | | tor-hsservice: Remove TODO about setting IptManager status. | Gabriela Moldovan | 2024-02-19 | 1 | -2/+0 | |
| | | | | | | | | | Closes #1083 | |||||
| * | | tor-hsservice: Set the IptManager state to Bootstrapping on startup. | Gabriela Moldovan | 2024-02-19 | 1 | -0/+3 | |
| | | | | | | | | | Part of #1083 | |||||
| * | | tor-hsservice: Include the IptManager errors in the onion service status. | Gabriela Moldovan | 2024-02-19 | 1 | -1/+22 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The `IptManager` now reports its status as `Recovering` (with the `latest_error` set to `IptError::FaultyIpt`) if it doesn't have enough good IPTs to publish. Its status is `Degraded` if it has published some IPTs, but needs to establish more. Note: unconditionally setting `latest_error` to `IptError::FaultyIpt` is not entirely correct. We will need to get the actual errors, if any, from the `IptEstablisher`. Part of #1083 | |||||
| * | | tor-hsservice: Add an IptError type for status reporting. | Gabriela Moldovan | 2024-02-19 | 4 | -1/+16 | |
| | | | | | | | | | | | | | | | The `OnionServiceStatus` API can now report errors coming from `IptManager`. Part of #1083 | |||||
| * | | tor-hsservice: Document the `State`s in which the service is reachable. | Gabriela Moldovan | 2024-02-19 | 1 | -0/+30 | |
| | | | | | | | | | Part of #1083 | |||||
| * | | tor-hsservice: Add a Degraded onion service status. | Gabriela Moldovan | 2024-02-19 | 1 | -0/+14 | |
| | | | | | | | | | | | | | | | `State::Degraded` means we've successfully published a number of introduction points, but we would like to have more. Part of #1083 | |||||
| * | | tor-hsservice: Rename note_<status> to send_<status>. | Gabriela Moldovan | 2024-02-19 | 3 | -12/+12 | |
| | | | | | | | | | | | Since these are `*StatusSender` APIs, it seems more idiomatic to call them `send*`. | |||||
| * | | tor-hsservice: Remove extraneous blank line. | Gabriela Moldovan | 2024-02-19 | 1 | -1/+0 | |
| | | | | | | | | | | | We don't have blank lines between the other variants, so let's remove this one too for consistency. | |||||
| * | | tor-keymgr: Pick a better name for error variable. | Ian Jackson | 2024-02-19 | 1 | -1/+1 | |
| | | | ||||||
| * | | tor-keymgr: Add more context to errors returned from HsId::from_slug. | Gabriela Moldovan | 2024-02-19 | 1 | -5/+4 | |
| | | | | | | | | | | | `InvalidKeyPathComponentValue::Slug` now has to wrap a `String`, because we can't get `HsIdParse` errors as static strings. | |||||
| * | | tor-keymgr: Add more context to InvalidKeyPathComponentValue errors (fmt). | Gabriela Moldovan | 2024-02-19 | 1 | -5/+11 | |
| | | | ||||||
| * | | tor-keymgr: Add more context to InvalidKeyPathComponentValue errors. | Gabriela Moldovan | 2024-02-19 | 1 | -9/+7 | |
| | | | ||||||
| * | | tor-keymgr: Document what context to add to invalid slug errors. | Gabriela Moldovan | 2024-02-19 | 1 | -0/+7 | |
| | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1960#note_2994317 | |||||
| * | | tor-keymgr: Downgrade a documentation TODO. | Gabriela Moldovan | 2024-02-19 | 1 | -1/+1 | |
| | | | | | | | | | | | The tor-keymgr crate *is* documented, but could use a better README and some examples and/or usage guides. | |||||
| * | | tor-keymgr: Reword the README. | Gabriela Moldovan | 2024-02-19 | 1 | -24/+30 | |
| | | | | | | | | | | | | | This rewords the docs for clarity. Part of #1115 | |||||
| * | | tor-keymgr: Remove vestigial comment. | Gabriela Moldovan | 2024-02-19 | 1 | -2/+0 | |
| | | | | | | | | | This removes a remnant of a now-gone TODO. | |||||
| * | | tor-keymgr: Make InvalidKeyPathComponentValue public. | Gabriela Moldovan | 2024-02-19 | 2 | -3/+5 | |
| | | | | | | | | | | | It appears within the public API (it is the error type returned from `KeySpecifierComponent`), so let's make it public. | |||||
| * | | tor-keymgr: Make InvalidKeyPathComponentValue an enum. | Gabriela Moldovan | 2024-02-19 | 1 | -11/+20 | |
| | | | | | | | | | | | | | | | | | | | Previously, `InvalidKeyPathComponentValue` was a single error type, with the error message hard-coded to "invalid key denotator". This was wrong, because this error is used for other types of invalid components too (not just for invalid denotators). Part of #1115 | |||||
