summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | rpc: Document pipelining and concurrency.Nick Mathewson2024-09-111-2/+15
| | | | |
| * | | | rpc: Add a "Cancelled" code to our docs.Nick Mathewson2024-09-111-0/+1
| | | | |
| * | | | rpc: Replace strong/weak objectIds with reference/handle againNick Mathewson2024-09-111-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | Diziet prefers this terminology; we'll defer a reckoning here till #849 is resolved.
| * | | | 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
| | | |