summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | rpc-draft: Adopt a stricter-but-looser rule for anti-framing defenseNick Mathewson2024-09-111-13/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of saying "no errors before authentication", we now say "no syntax errors ever." This should be easier to implement.
| * | | | rpc-draft: A few more tweaks based on review.Nick Mathewson2024-09-111-10/+12
| | | | |
| * | | | Several rpc-draft suggestions from diziet.Nick Mathewson2024-09-111-11/+22
| | | | |
| * | | | rpc-meta: Note that the appendix is obsolete.Nick Mathewson2024-09-111-0/+3
| | | | |
| * | | | rpc-meta: Note that most listed requests are hypotheticalNick Mathewson2024-09-111-0/+4
| | | | |
| * | | | rpc-meta: remove example apis sectionNick Mathewson2024-09-111-58/+0
| | | | | | | | | | | | | | | | | | | | (This is obsoleted by arti-rpc-client-core.)
| * | | | rpc-meta: update cancellation to latest thinkingNick Mathewson2024-09-111-16/+6
| | | | |
| * | | | rpc-meta: Tweaks to "authentication" section.Nick Mathewson2024-09-111-5/+10
| | | | |
| * | | | rpc-meta: clarify current method name rules.Nick Mathewson2024-09-111-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notably, identifiers SHOULD be C identifiers, and everything has a namespace. Reserve "rpc" as a namespace for things that were previously unnamespaced.
| * | | | rpc-meta: Light edits to parameter description.Nick Mathewson2024-09-111-3/+3
| | | | |
| * | | | rpc-meta: Rewrite and move documentation on object semantics.Nick Mathewson2024-09-111-32/+117
| | | | | | | | | | | | | | | | | | | | | | | | | This is probably still far too informal, but it is better than our previous documentation.
| * | | | rpc-meta: clarify status of Sessions.Nick Mathewson2024-09-111-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | (Note what isn't implemented, and one more kind of authentication we'll likely build someday.)
| * | | | rpc-meta: rewrite front matterNick Mathewson2024-09-111-29/+38
| | | | |
| * | | | rpc-meta: Add a top-level heading, and shift other headingsNick Mathewson2024-09-111-35/+37
|/ / / / | | | | | | | | | | | | (Markdown convention deprecates having more than one top-level heading.)
* | | | Merge branch 'publisher-svc-status' into 'main'David Goulet2024-09-1019-176/+667
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-hsservice: Improve descriptor publisher status reporting Closes #1216 and #1572 See merge request tpo/core/arti!2397
| * | | | tor-hsservice: Add tests for status changes induced by descriptor uploads.Gabriela Moldovan2024-09-091-1/+185
| | | | |
| * | | | tor-netdir: Allow access to the `ConsensusBuilder` when building test ↵Gabriela Moldovan2024-09-091-1/+6
| | | | | | | | | | | | | | | | | | | | netdirs (fmt).
| * | | | tor-netdir: Allow access to the `ConsensusBuilder` when building test netdirs.Gabriela Moldovan2024-09-0911-31/+32
| | | | | | | | | | | | | | | | | | | | | | | | | This allows us to set SRVs for example (needed because by default, the test `NetDir` is built from a consensus that doesn't contain any SRVs).
| * | | | tor-hsservice: Include descriptor upload errors in onion service status.Gabriela Moldovan2024-09-091-9/+17
| | | | |
| * | | | tor-hsservice: Change the error type in Problem::DescriptorUpload.Gabriela Moldovan2024-09-093-3/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We will need to return a list of descriptor upload errors. We can't return a `Vec<RetryError<DescUploadError>>` here because `DescUploadError` is a lower-level error type that can't express that e.g. the upload timed out.
| * | | | tor-hsservice: Remove unused UploadError variant (fmt).Gabriela Moldovan2024-09-091-3/+1
| | | | |
| * | | | tor-hsservice: Remove unused UploadError variant.Gabriela Moldovan2024-09-092-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | We never return `UploadError::Timeout` (timeouts are represented as `BackoffError::Timeout`).
| * | | | tor-hsservice: Rename UploadStatus to UploadResult.Gabriela Moldovan2024-09-091-4/+4
| | | | | | | | | | | | | | | | | | | | This type is a `Result`, renaming for clarity.
| * | | | tor-hsservice: Remove outdated comment about publisher.Gabriela Moldovan2024-09-091-17/+0
| | | | | | | | | | | | | | | | | | | | The descriptor publisher docs live in the `publisher` module.
| * | | | tor-hsservice: Fill out the missing descriptor publisher docs.Gabriela Moldovan2024-09-092-8/+66
| | | | | | | | | | | | | | | | | | | | Closes #1216
| * | | | tor-hsservice: Return Bug where possible.Gabriela Moldovan2024-09-091-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | This makes it clearer that some of these functions are essentially infallible.
| * | | | tor-hsservice: Update docs with new status reporting logic.Gabriela Moldovan2024-09-091-12/+32
| | | | |
| * | | | tor-hsservice: Add basic tests for publisher status reporting.Gabriela Moldovan2024-09-092-4/+52
| | | | |
| * | | | tor-hsservice: Validate the authorized clients before publishing.Gabriela Moldovan2024-09-092-2/+40
| | | | | | | | | | | | | | | | | | | | | | | | | This enables us to report a "broken" service status if restricted discovery is enabled but the authorized_clients list is empty.
| * | | | tor-hsservice: Set the publisher State based on the upload results.Gabriela Moldovan2024-09-091-29/+106
| | | | | | | | | | | | | | | | | | | | Closes #1572
| * | | | tor-hsservice: Add Degraded{Unr,R}eachable onion svc states.Gabriela Moldovan2024-09-093-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the `DegradedReachable` status is only reported by the the IPT manager and `DegradedUnreachable` is unused. Soon we'll the publisher reporting `DegradedReachable` or `DegradedUnreachable` or `Running`, depending on how the descriptor uploads went.
| * | | | tor-hsservice: Store the upload result in TimePeriodContext.Gabriela Moldovan2024-09-091-2/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allows us determine the ComponentStatus of the publisher (it'll be either `Running` or `Degraded`, depending on whether the upload failed).
| * | | | tor-hsservice: Don't update the onion svc status when publisher goes idle.Gabriela Moldovan2024-09-091-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After uploading the descriptor, the publisher transitions into the `Idle` state. This transition happens even if the upload was unsuccessful, so it shouldn't cause the onion service status to become `Running` (because `Running` implies the service is fully reachable, and if the publisher failed to upload the descriptor to some or all HsDirs, that won't necessarily be the case). A future commit will set the publisher's onion svc `State` to `Running`/`Recovering`/`Broken` according to the upload status.
| * | | | tor-hsservice: Add a comment noting where the publisher tests live.Gabriela Moldovan2024-09-091-0/+2
| | | | |
| * | | | tor-hsservice: Replace UploadStatus enum with type alias.Gabriela Moldovan2024-09-091-24/+6
| | | | | | | | | | | | | | | | | | | | This resolves a TODO.
| * | | | tor-hsservice: Store the authorized_clients in the mutable state of the reactor.Gabriela Moldovan2024-09-092-17/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, these were stored in the immutable state behind a mutex, but since they're not really immutable (we update them if the config changes), it makes more sense to put them in `State`.
| * | | | tor-hsservice: Remove outdated IPT manager TODOs.Gabriela Moldovan2024-09-091-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | These TODOs were addressed a while ago (when we introduced `IptManager::ipt_errors`).
| * | | | tor-hsservice: Remove dead_code allows.Gabriela Moldovan2024-09-091-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | These aren't dead code anymore, with the exception of `PublisherStatusSender::send_recovering`, which isn't used.
| * | | | tor-hsservice: Log the onion svc status.Gabriela Moldovan2024-09-091-1/+15
| | | | | | | | | | | | | | | | | | | | We now log the onion service status on change.
| * | | | tor-hsservice: Remove an outdated TODO.Gabriela Moldovan2024-09-091-2/+0
| | | | | | | | | | | | | | | | | | | | This is already implemented.
| * | | | tor-hsservice: Move a misplaced TODO.Gabriela Moldovan2024-09-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This TODO was added in !2353 and was supposed to be about reporting a broken/degraded onion service status if the restricted discovery config watcher fails.
* | | | | Merge branch 'socks-typo' into 'main'Nick Mathewson2024-09-101-2/+3
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | Fix a typo in WRONG_PROTOCOL_PAYLOAD. See merge request tpo/core/arti!2403
| * | | | Fix a typo in WRONG_PROTOCOL_PAYLOAD.Pier Angelo Vendrame2024-09-101-2/+3
|/ / / /
* | | | Merge branch 'bytes-deficit' into 'main'Ian Jackson2024-09-1014-36/+104
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | Add a deficit field to tor_bytes::Error::Truncated Closes #1592 See merge request tpo/core/arti!2390
| * | | tor-bytes: Error::Truncated: mark the deficit as Sensitive (fmt)Ian Jackson2024-09-101-2/+4
| | | |
| * | | tor-bytes: Error::Truncated: mark the deficit as SensitiveIan Jackson2024-09-103-1/+8
| | | | | | | | | | | | | | | | | | | | Suggested in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2390#note_3072975
| * | | tor-bytes: Add a deficit field to Error::Truncated (fmt)Ian Jackson2024-09-102-2/+6
| | | |
| * | | tor-bytes: Add a deficit field to Error::TruncatedIan Jackson2024-09-109-14/+23
| | | | | | | | | | | | | | | | This will allow us to fix #1592, but it doesn't do so yet.
| * | | Introduce and use tor_bytes::Error::new_truncated_for_test (fmt)Ian Jackson2024-09-101-1/+5
| | | |
| * | | Introduce and use tor_bytes::Error::new_truncated_for_testIan Jackson2024-09-104-21/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is going to want to do something more complicated (as described in the docs). In this commit we change all the tests that are expecting Truncated errors. That reduces noise in the next commit.