summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Remove "this is unstable!" warning from hsrproxyNick Mathewson2024-02-201-8/+0
| | |
| * | Move keymgr feature to stable list in READMENick Mathewson2024-02-201-3/+3
| | |
| * | Move onion-service-service to non-experimental section of READMEs.Nick Mathewson2024-02-202-3/+6
| | |
| * | arti: mark onion-service-service non-experimental.Nick Mathewson2024-02-201-2/+3
| | |
| * | arti-client: Make onion-service-service and keymgr non-experimental.Nick Mathewson2024-02-201-13/+12
| | |
| * | Mark the keymgr feature as non-experimental.Nick Mathewson2024-02-201-7/+8
| | |
| * | keymgr: Wrap Cargo.tomlNick Mathewson2024-02-201-1/+8
| |/
* | Merge branch 'keystore-dir' into 'main'gabi-2502024-02-215-74/+4
|\ \ | | | | | | | | | | | | | | | | | | arti, arti-client, tor-keymgr: Remove keystore dir configuration. Closes #1202 See merge request tpo/core/arti!1995
| * | arti, arti-client, tor-keymgr: Remove keystore dir configuration.Gabriela Moldovan2024-02-215-74/+4
| |/ | | | | | | Closes #1202
* | tor-hsservice: reconfigure: Allow changing rate_limit_at_introIan Jackson2024-02-213-5/+25
| |
* | tor-cell: impl Eq, PartialEq, Hash for est_intro::DosParamsIan Jackson2024-02-212-1/+2
| | | | | | | | | | | | We only need Eq and PartialEq but given those we should have Hash too. (We're going to want to be able to compare parameters for equality.)
* | tor-units: impl Hash for many types that are Eq, PartialEqIan Jackson2024-02-212-7/+8
| | | | | | | | | | This seems to just be an oversight. Best practice is for basic data types like this to promiscuously implement Hash where it's meaningful.
* | tor-hsservice: reconfigure: Prove we've handled all the fieldsIan Jackson2024-02-211-3/+2
| |
* | tor-hsservice: config: max_concurrent_streams_per_circuit: comment out (fmt)Ian Jackson2024-02-211-1/+0
| | | | | | | | Remove a wanted blank line.
* | tor-hsservice: config: max_concurrent_streams_per_circuit: comment outIan Jackson2024-02-212-4/+8
| | | | | | | | | | This is not implemented. It is better to have it commented out than providing a knob that isn't connected to anything.
* | tor-hsservice: reconfigure: reject changing rate_limit_at_intro for nowIan Jackson2024-02-211-0/+6
| |
* | tor-hsservice: reconfigure: changing num_intro_points is fineIan Jackson2024-02-211-0/+5
| |
* | tor-hsservice: reconfigure: Formalise field handlingIan Jackson2024-02-211-8/+59
|/
* Merge branch 'fast_and_stable' into 'main'Nick Mathewson2024-02-2014-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 settersIan Jackson2024-02-201-0/+6
| |
| * Use list_builder and sub-builder pattern for long_lived_ports.Nick Mathewson2024-02-201-6/+18
| |
| * Note a calculation we can clean up after doing spec work.Nick Mathewson2024-02-201-1/+3
| |
| * Add caveats on is_flagged_guard, and note possible deprecationNick Mathewson2024-02-201-1/+15
| |
| * Add and use "UncheckedRelay::is_suitable_as_guard"Nick Mathewson2024-02-202-1/+6
| |
| * Teach *CircUsage structs about stability.Nick Mathewson2024-02-205-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 Mathewson2024-02-202-0/+6
| |
| * When building paths, require the Stable flag as appropriateNick Mathewson2024-02-202-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 Mathewson2024-02-203-0/+21
| |
| * Require the Fast flag on all randomly selected relays.Nick Mathewson2024-02-201-9/+16
| | | | | | | | | | | | This matches the behavior of C tor. Part of #1100.
| * Only pick Fast-flagged relays as directory cachesNick Mathewson2024-02-201-1/+3
| | | | | | | | | | | | Matches the behavior of C tor. Part of #1100.
| * Only pick Fast relays as introduction points.Nick Mathewson2024-02-201-1/+1
| | | | | | | | This matches the behavior of C tor. Part of #1100.
| * Require that guards are Fast and Stable.Nick Mathewson2024-02-204-4/+12
| | | | | | | | | | | | This matches the behavior of C tor. Part of #1100.
| * netdir: Add Relay::is_flagged_{fast,stable} methods.Nick Mathewson2024-02-122-0/+15
| |
* | tor-hsservice: Clarify what UploadError::Stream is for.Gabriela Moldovan2024-02-201-1/+1
| |
* | tor-hsservice: Clarify what UploadError::Timeout is used for.Gabriela Moldovan2024-02-201-2/+2
| |
* | tor-hsservice: Log descriptor upload request errors.Gabriela Moldovan2024-02-191-1/+1
| |
* | tor-hsservice: Report a clearer error message for UploadError::Circuit.Gabriela Moldovan2024-02-191-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 Moldovan2024-02-191-3/+7
| |
* | tor-hsservice: Report IPT errors from all the IPTs we are maintaining.Gabriela Moldovan2024-02-191-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 Moldovan2024-02-193-18/+34
| |
* | tor-hsservice: Include the IptError in IptStatusStatus::Faulty.Gabriela Moldovan2024-02-192-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 Moldovan2024-02-191-3/+7
| |
* | tor-hsservice: Move certain IptEstablisherErrors to a separate enum.Gabriela Moldovan2024-02-191-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 Moldovan2024-02-191-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 Moldovan2024-02-191-10/+9
| |
* | tor-hsservice: Expand on State::Broken reachability notes.Gabriela Moldovan2024-02-191-1/+1
| |
* | tor-hsservice: Expand on reachability notes.Ian Jackson2024-02-191-2/+2
| |
* | tor-hsservice: Remove TODO about setting IptManager status.Gabriela Moldovan2024-02-191-2/+0
| | | | | | | | Closes #1083
* | tor-hsservice: Set the IptManager state to Bootstrapping on startup.Gabriela Moldovan2024-02-191-0/+3
| | | | | | | | Part of #1083
* | tor-hsservice: Include the IptManager errors in the onion service status.Gabriela Moldovan2024-02-191-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