summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | llcrypto: make "traits" module present unconditionally.Nick Mathewson2023-12-121-1/+0
| |/ | | | | | | Removes a TODO HSS, since this trait is generally useful.
* | Merge branch 'report-anyhow' into 'main'Nick Mathewson2023-12-125-4/+64
|\ \ | |/ |/| | | | | | | | | Enable use of warn_report etc with anyhow::Error Closes #1157 See merge request tpo/core/arti!1818
| * tor-error: Correct docs for ErrorReport to reflect improved situationIan Jackson2023-12-121-2/+4
| |
| * tor-error: tests: Demonstrate warn_report on bare error and anyhowIan Jackson2023-12-122-0/+38
| |
| * tor-error: ErrorReport: impl for StdError + 'staticIan Jackson2023-12-122-0/+8
| |
| * tor-error: ErrorReport: remove Sized bound from traitIan Jackson2023-12-121-1/+1
| | | | | | | | This will let us impl for dyn StdError.
| * tor-error: ErrorReport: move blanket impl code into implIan Jackson2023-12-121-2/+4
| | | | | | | | | | This impl can only compile for Self: Sized. This will let us remove the Sized bound from the trait itself.
| * tor-error: ErrorReport: sealIan Jackson2023-12-123-1/+11
| | | | | | | | | | | | We're going to need to make change to this trait which would be breaking for out-of-crate implementors. This should have been sealed all along.
* | Merge branch 'clippy' into 'main'Nick Mathewson2023-12-121-1/+1
|\ \ | | | | | | | | | | | | Fix a clippy lint See merge request tpo/core/arti!1814
| * | Fix a clippy lintIan Jackson2023-12-121-1/+1
| |/ | | | | | | | | | | | | | | | | | | warning: consider adding a `;` to the last statement for consistent formatting --> crates/tor-circmgr/src/build.rs:162:13 | 162 | handshake_res = circ.create_firsthop_ntor(ct, params).await | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `handshake_res = circ.create_firsthop_ntor(ct, params).await;` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
* | hsclient: Remove comment about tearing down circuit.Nick Mathewson2023-12-111-2/+0
| | | | | | | | This is now in the spec, with torspec!236.
* | Merge branch 'todo_hsrproxy' into 'main'Nick Mathewson2023-12-115-35/+58
|\ \ | | | | | | | | | | | | Resolve several TODO HSS items in hsrproxy See merge request tpo/core/arti!1809
| * | Apply 1 suggestion(s) to 1 file(s)Ian Jackson2023-12-111-0/+2
| | |
| * | hsrproxy: replace "TODO HSS" instances with references to #1154Nick Mathewson2023-12-071-3/+8
| | | | | | | | | | | | | | | (These are the ones about warning on questionable configuration choices.)
| * | hsproxy: Downgrade a TODO.Nick Mathewson2023-12-071-1/+1
| | | | | | | | | | | | | | | "We might someday want to do X" does not really rise to the level of a "must-fix".
| * | hsrproxy: Log rate-limited failures of other types as wellNick Mathewson2023-12-071-22/+18
| | | | | | | | | | | | | | | We separate these from our failures to connect to a local proxy, since that is a much more common error.
| * | hsproxy: remove TODO about retroactive limitsNick Mathewson2023-12-071-1/+1
| | | | | | | | | | | | | | | See arti#1153 for followup work here. The current behavior is IMO a decent default.
| * | hsrproxy: Remove TODO about empty Connected messagesNick Mathewson2023-12-071-1/+0
| | | | | | | | | | | | See torspec!237
| * | hsproxy: Add a rate-limited log for forwarding errors.Nick Mathewson2023-12-072-5/+10
| | |
| * | hsrproxy: Reformat Cargo.toml.Nick Mathewson2023-12-071-1/+2
| | |
| * | hsrproxy: Take nickname as an argument and pass it to forwarding functionNick Mathewson2023-12-073-5/+20
| | | | | | | | | | | | We'll use this for logging.
* | | Merge branch 'desc-note-publication' into 'main'gabi-2502023-12-112-152/+143
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | tor-hsservice: Publish the IptPublishSet we called note_publication_attempt on Closes #1097 See merge request tpo/core/arti!1805
| * | tor-hsservice: Reformat long match statement.Gabriela Moldovan2023-12-111-1/+3
| | |
| * | tor-hsservice: Reformat a long trace! statement.Gabriela Moldovan2023-12-111-1/+3
| | |
| * | tor-hsservice: Rephrase and reformat a comment.Gabriela Moldovan2023-12-111-2/+2
| | | | | | | | | | | | This line is too long.
| * | tor-hsservice: Remove duplicate trace! log.Gabriela Moldovan2023-12-111-5/+0
| | | | | | | | | | | | | | | We already log the outcome of the HsDir upload in the function that calls this code.
| * | tor-hsservice: Use debug! instead of trace! to log upload outcome.Gabriela Moldovan2023-12-111-1/+1
| | | | | | | | | | | | This also wraps the line.
| * | tor-hsservice: Remove some TODOs that have been addressed.Gabriela Moldovan2023-12-111-11/+0
| | |
| * | tor-hsservice: Publish the IptPublishSet we called note_publication_attempt on.Gabriela Moldovan2023-12-111-50/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, it was possible for the `IptPublishSet` used to generate the descriptor and the `IptPublishSet` `note_publication_attempt` to differ. Now, the publisher generates the descriptor using the same `IptPublishSet` it calls `note_publication_attempt` on. Note that as a consequence, the publisher generates a new descriptor just before _each_ HsDir upload. This means each HsDir could, in theory, receive a different descriptor (not just in terms of revision-counters, but also with a different set of IPTs). It may seem like this could lead to some HsDirs being left with an outdated descriptor, but that's not the case: after the upload completes, the publisher will be notified by the ipt_watcher of the IPT change event (if there was one to begin with), which will trigger another upload job. Previously, the publisher would only generate a single descriptor for each time period (all HsDirs in a given time period would receive the same descriptor). Closes #1097
| * | tor-hsservice: Move revision_counter to HsDirUploadResult.Gabriela Moldovan2023-12-111-5/+5
| | | | | | | | | | | | | | | | | | This was previously in `TimePeriodUploadResult`. We will soon have different revision_counter for each `HsDirUploadResult`, so let's preemptively move the field there.
| * | tor-hsservice: Make build_sign also return the revision counter used.Gabriela Moldovan2023-12-112-10/+11
| | |
| * | tor-hsservice: Derive Clone for VersionedDescriptor.Gabriela Moldovan2023-12-111-0/+1
| | | | | | | | | | | | We're going to need to clone it soon.
| * | tor-hsservice: Move generate_revision_counter to Immutable.Gabriela Moldovan2023-12-111-74/+75
| | | | | | | | | | | | | | | | | | | | | | | | `generate_revision_counter` and `create_ope_key` don't use anything from `self` other than `imm`, so they might as well be methods on `Immutable`. This change is needed because we're soon going to need to use `generate_revision_counter` from an associated `Reactor` function (where we don't have `self`).
* | | hsrproxy: Add a test for the contents of a parsed configuration.Nick Mathewson2023-12-111-1/+34
|/ /
* | Merge branch 'local-resource-error' into 'main'Ian Jackson2023-12-111-0/+22
|\ \ | | | | | | | | | | | | tor-error: Introduce ErrorKind::LocalResourceAlreadyInUse See merge request tpo/core/arti!1775
| * | tor-error: Introduce ErrorKind::LocalResourceAlreadyInUseIan Jackson2023-12-111-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | Our HSS code isn't going to work if you run more than one copy. Soon we'll detect this (via our use of tor_persist). There may be other places this ought to be used. Eg if we get EADDRINUSE from trying to set up a proxy, maybe ...
* | | Merge branch 'publisher-todos' into 'main'Ian Jackson2023-12-111-19/+25
|\ \ \ | |/ / |/| | | | | | | | | | | | | | tor-hsservice: Remove a publisher TODO that has been addressed. Closes #1131 See merge request tpo/core/arti!1807
| * | tor-hsservice: Reformat a long log line.Gabriela Moldovan2023-12-081-1/+5
| | |
| * | tor-hsservice: Add more context to the publisher logs.Gabriela Moldovan2023-12-081-10/+20
| | |
| * | tor-hsservice: Remove a publisher TODO that has been addressed.Gabriela Moldovan2023-12-081-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The publisher doesn't reupload unless explicitly asked to do so by the `IptManager` (via `await_update()`). Also, when the consensus changes, we always trigger a reupload, but only to those HsDirs that don't already have the descriptor (the HsDirs marked as "clean" stay "clean", and any new HsDirs are marked "dirty" until they get a copy of the descriptor. See !1806). Similarly, a config change only triggers a reupload if the change means we need to generate a new descriptor (e.g. if the `anonymity` of the service changes). Note, however, that this logic is currently commented out (it depends on #1028). Closes #1131
* | | Merge branch 'onion-reconfigure' into 'main'Nick Mathewson2023-12-113-52/+210
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | arti: Reconfigure onion services as needed Closes #1089 See merge request tpo/core/arti!1798
| * | | Add a TODO HSS comment about Reconfigure.Ian Jackson2023-12-111-0/+1
| | | |
| * | | Reconfigure onion services when their configuration changes.Nick Mathewson2023-12-052-28/+20
| | | | | | | | | | | | | | | | Closes #1089.
| * | | arti: Make reconfiguration slightly more abstractNick Mathewson2023-12-052-24/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now instead of having a hardwired list of of things to reconfigure, the watch_cfg module now has a vector of ReconfigurableModule. As noted in the documentation, I don't intend that this should be our final API here: It is deliberately not exposed. When we revisit the structure of `arti` more, we should probably do this differently.
| * | | arti: Backend support for reconfiguring onion proxies.Nick Mathewson2023-12-051-6/+101
| | | |
* | | | tor-hsservice: Add functions to update the IPT mgr/publisher states.Gabriela Moldovan2023-12-111-7/+21
| | | | | | | | | | | | | | | | Part of #1083
* | | | tor-hsservice: Derive service state from the state of its components.Gabriela Moldovan2023-12-111-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to know the status of each component to be able to report the overall status of the service. Without this change, the service (and its components) have no way of knowing if a given transition is valid: if the state of a component (say, the IPT manager) is `Bootstrapping`, `Recovering` or `Broken`, a transition out of the current state is only valid if it is initiated by the same component that caused the current state (for example, if the publisher sets the state to `Recovering`, the IPT manager should not be allowed to trigger an overall state transition to `Running`). Part of #1083
* | | | tor-hsservice: Trim trailing whitespace.Gabriela Moldovan2023-12-111-1/+1
| |/ / |/| |
* | | Merge branch 'publisher-recompute-hsdir' into 'main'gabi-2502023-12-071-25/+30
|\ \ \ | | | | | | | | | | | | | | | | tor-hsservice: Fix publisher bug causing unnecessary uploads. See merge request tpo/core/arti!1806
| * | | tor-hsservice: Remove unused lifetime.Gabriela Moldovan2023-12-071-1/+1
| | | | | | | | | | | | | | | | Fixes a clippy lint.