| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| | * | | | | tor-hsservice: Share an IptsPublisherUploadView with each upload task. | Gabriela Moldovan | 2023-10-04 | 1 | -21/+50 | |
| |/ / / / | | | | | | | | | | | | | | | | | | | | | This enables us to specify a more accurate `worst_case_end` publish time. Closes #1050 | |||||
| * | | | | Merge branch 'fix-compile-errors' into 'main' | Ian Jackson | 2023-10-04 | 1 | -3/+1 | |
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | tor-hsservice: Fix semantic conflict. See merge request tpo/core/arti!1643 | |||||
| | * | | | | tor-hsservice: Fix semantic conflict. | Gabriela Moldovan | 2023-10-04 | 1 | -3/+1 | |
| |/ / / / | | | | | | | | | | | | | | | | | This fixes a compile error that resulted from a semantic conflict between !1634 and !1638. | |||||
| * | | | | Merge branch 'configure_onion_service' into 'main' | Nick Mathewson | 2023-10-03 | 17 | -29/+264 | |
| |\ \ \ \ | | |/ / | |/| | | | | | | | | | | Initial work on top-level onion service configuration See merge request tpo/core/arti!1638 | |||||
| | * | | | Add/clarify comments about name duplication. | Nick Mathewson | 2023-10-03 | 2 | -1/+6 | |
| | | | | | ||||||
| | * | | | arti: make sure nicknames in builders match (or are absent) | Nick Mathewson | 2023-10-03 | 1 | -7/+16 | |
| | | | | | ||||||
| | * | | | arti: Fix up the example config to use the new onion_services format. | Nick Mathewson | 2023-10-03 | 1 | -6/+5 | |
| | | | | | ||||||
| | * | | | arti: in onion service builder, rename "transports" to "services" | Nick Mathewson | 2023-10-03 | 1 | -4/+3 | |
| | | | | | | | | | | | | | | | | | The old name was a copy-paste error. | |||||
| | * | | | arti: Make onion_services serialize as a map. | Nick Mathewson | 2023-10-03 | 4 | -1/+48 | |
| | | | | | | | | | | | | | | | | | This lets us write `[onion_services.allium_cepa]`. | |||||
| | * | | | arti: Make onion_service configuration option plural | Nick Mathewson | 2023-10-03 | 2 | -5/+5 | |
| | | | | | ||||||
| | * | | | hss: Rename the "name" config field to "nickname". | Nick Mathewson | 2023-10-03 | 4 | -4/+4 | |
| | | | | | ||||||
| | * | | | Note that we *do* need to actually test the onion service config. | Ian Jackson | 2023-10-03 | 1 | -1/+1 | |
| | | | | | ||||||
| | * | | | hsrproxy: fix a rustdoc link. | Nick Mathewson | 2023-10-03 | 1 | -1/+1 | |
| | | | | | ||||||
| | * | | | arti: Add a list of [[onion_service]]s to the config. | Nick Mathewson | 2023-10-03 | 3 | -2/+91 | |
| | | | | | | | | | | | | | | | | | There are no tests for parsing it yet. | |||||
| | * | | | hss: Temporarily disable POW config items. | Nick Mathewson | 2023-10-03 | 1 | -4/+5 | |
| | | | | | | | | | | | | | | | | | | | | | We plan to ship without them at first, so we may as well remove them. | |||||
| | * | | | hss: Make more of the configuration defaultable. | Nick Mathewson | 2023-10-03 | 1 | -0/+2 | |
| | | | | | ||||||
| | * | | | arti: add a set of OnionServiceProxyConfig types. | Nick Mathewson | 2023-10-03 | 4 | -1/+65 | |
| | | | | | | | | | | | | | | | | | | | | | These don't yet attach to the rest of the ArtiConfig, or actually launch any onion services, but they're a start. | |||||
| | * | | | arti-client: Re-export onion-service configuration types. | Nick Mathewson | 2023-10-03 | 1 | -0/+6 | |
| | | | | | ||||||
| | * | | | hsproxy: fix a documentation link. | Nick Mathewson | 2023-10-03 | 1 | -1/+1 | |
| | | | | | ||||||
| | * | | | hsrproxy: Make configs and builders implement more traits. | Nick Mathewson | 2023-10-03 | 2 | -2/+7 | |
| | | | | | ||||||
| | * | | | hss: Make configs and builders implement more traits. | Nick Mathewson | 2023-10-03 | 2 | -4/+6 | |
| | | | | | ||||||
| | * | | | tor-config: derive Default for Flatten | Nick Mathewson | 2023-10-03 | 1 | -1/+1 | |
| | | | | | ||||||
| | * | | | hsrproxy: remove allow(dead_code). | Nick Mathewson | 2023-10-03 | 1 | -2/+0 | |
| | | | | | ||||||
| | * | | | arti-client: fix up launch_onion_service a bit. | Nick Mathewson | 2023-10-03 | 1 | -10/+19 | |
| | |/ / | | | | | | | | | | Return a stream of requests, and document what to do with them. | |||||
| * | | | Merge branch 'publisher-nickname' into 'main' | Alexander Færøy | 2023-10-03 | 3 | -45/+45 | |
| |\ \ \ | | | | | | | | | | | | | | | | | tor-hsservice: Make the publisher not require callers to specify the hsid. See merge request tpo/core/arti!1637 | |||||
| | * | | | tor-hsservice: Remove a fixed TODO. | Gabriela Moldovan | 2023-10-03 | 1 | -1/+0 | |
| | | | | | ||||||
| | * | | | tor-hsservice: Make the publisher not require callers to specify the hsid. | Gabriela Moldovan | 2023-10-03 | 3 | -41/+42 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the descriptor publisher needed the `hsid` for logging purposes and for deriving the blinded public keys. This changes the publisher to log the `HsNickname` of the service instead of the hsid, and to read the blinded keys from the keystore. | |||||
| | * | | | tor-hsservice: Make Reactor::compute_time_periods a method. | Gabriela Moldovan | 2023-10-03 | 1 | -4/+4 | |
| | | | | | | | | | | | | | | | | | | | | | We will soon rewrite this function to load the blinded key from `KeyMgr` (instead of deriving it from `self.hsid_key`). | |||||
| * | | | | Merge branch 'refactor-kdf' into 'main' | Nick Mathewson | 2023-10-03 | 2 | -15/+42 | |
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | tor-proto: Refactor the key derivation See merge request tpo/core/arti!1629 | |||||
| | * | | | | tor-proto: Refactor the key derivation | Emil Engler | 2023-09-29 | 2 | -15/+42 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit refactors the key derivation, by applying the following: - The spaghetti slice creation with the hard-to-read boundaries got replaced by a closure, which accepts a length, advances the seed slice by n bytes as a side-effect, and returns the just advanced bytes - The use of `.except` got replaced by an `.or`, with the use of the already existing `InvalidKDFOutputLength` error, thereby removing a potential panic (probably not reachable in runtime though) - The conversion from a slice to a `CircuitBinding` got moved into a `TryFrom` trait of the appropriate data structure | |||||
| * | | | | | Merge branch 'publisher-tests' into 'main' | gabi-250 | 2023-10-03 | 13 | -174/+709 | |
| |\ \ \ \ \ | | |/ / / | |/| / / | |_|/ / |/| | | | tor-hsservice: Fix hsdesc publisher bugs, add tests See merge request tpo/core/arti!1634 | |||||
| | * | | | tor-dirclient: Mark `DirResponse` as `#[must_use]`. | Gabriela Moldovan | 2023-10-03 | 1 | -0/+1 | |
| | | | | | | | | | | | | | | | | | | | | | Not checking whether the response is successful can have unintended consequences. | |||||
| | * | | | tor-hsservice: Add tests for the descriptor publisher. | Gabriela Moldovan | 2023-10-03 | 3 | -1/+449 | |
| | | | | | ||||||
| | * | | | tor-hsservice: Make the upload fail if the HSDir responds with an error. | Gabriela Moldovan | 2023-10-03 | 1 | -1/+2 | |
| | | | | | ||||||
| | * | | | tor-hsservice: Do not discard the error source. | Gabriela Moldovan | 2023-10-03 | 1 | -3/+3 | |
| | | | | | | | | | | | | | | | | | | | | | We were previously converting the RequestFailedError to a RequestError, which discards the error source. | |||||
| | * | | | tor-dirclient: Set a non-zero expected response len for uploads. | Gabriela Moldovan | 2023-10-03 | 1 | -5/+5 | |
| | | | | | ||||||
| | * | | | tor-hsservice: Mock the client circ and data stream. | Gabriela Moldovan | 2023-10-03 | 1 | -2/+26 | |
| | | | | | ||||||
| | * | | | tor-hsservice: Abort the upload task if all HSDirs have the latest descriptor. | Gabriela Moldovan | 2023-10-03 | 1 | -0/+5 | |
| | | | | | ||||||
| | * | | | tor-hsservice: Rewrite map() as a for-loop (fmt). | Gabriela Moldovan | 2023-10-03 | 2 | -111/+112 | |
| | | | | | ||||||
| | * | | | tor-hsservice: Rewrite map() as a for-loop. | Gabriela Moldovan | 2023-10-03 | 1 | -8/+2 | |
| | | | | | | | | | | | | | | | | | | | | | This fixes a clippy complexity warning. It also makes the code more readable, IMO. | |||||
| | * | | | tor-hsservice: Add trace-level logs for the desc publisher. | Gabriela Moldovan | 2023-10-03 | 1 | -0/+10 | |
| | | | | | ||||||
| | * | | | tor-hsservice: Fix deadlock. | Gabriela Moldovan | 2023-10-03 | 1 | -13/+8 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When called by `Reactor::upload_all()`, `Reactor::netdir()` deadlocks (`netdir()` needs to acquire the `inner` lock, but `inner` is already held by `upload_all`). Since `netdir()` is only called in `upload_all()`, let's fix the deadlock by inlining it at the callsite. | |||||
| | * | | | tor-hsservice: Fix publisher state not being updated. | Gabriela Moldovan | 2023-10-03 | 1 | -9/+26 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The publisher was stuck in the `AwaitingIpts` state because of a logic bug in the `update_publisher_state` function. The publisher now breaks out of the `AwaitingIpts` state upon receiving new IPTs from the IPT manager. | |||||
| | * | | | tor-netdir: Fix broken condition. | Gabriela Moldovan | 2023-10-03 | 1 | -4/+5 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The statement ``` if hsids.all(|(_hsid, period)| rings.any(|(_, _, tp)| tp == period)) { ``` had 2 bugs: * the condition is reversed (it should be negated: we need to bail if one of the specified `hsids` cannot be found on any of our rings) * `rings.any()` mutates the `rings` iterator, causing `hs_dirs_upload` to return fewer HSDirs than expected | |||||
| | * | | | tor-hsservice: Log a warning if the publisher reactor shuts down. | Gabriela Moldovan | 2023-10-03 | 2 | -3/+8 | |
| | | | | | ||||||
| | * | | | tor-hsservice: Rename the real version of the publisher mockable state. | Gabriela Moldovan | 2023-10-03 | 3 | -15/+7 | |
| | | | | | | | | | | | | | | | | | | | | | This renames `ReactorState` to `Real`, for consistency with `ipt_mgr`, which calls the real version of its mockable state `Real`. | |||||
| | * | | | tor-hsservice: Make the publisher generic over the mockable state (circpool ↵ | Gabriela Moldovan | 2023-10-03 | 3 | -16/+20 | |
| | | | | | | | | | | | | | | | | | provider). | |||||
| | * | | | tor-keymgr: Implement ArtiNativeKeystore::insert for public keys. | Gabriela Moldovan | 2023-10-03 | 1 | -3/+7 | |
| | | | | | ||||||
| | * | | | tor-hsservice: Add more key roles. | Gabriela Moldovan | 2023-10-03 | 2 | -2/+37 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds a couple of new `HsSvcKeyRoles` for: * `KS_hs_id` keypairs * `KP_hs_blind_id` public keys keys | |||||
| | * | | | tor-proto: Fix clippy warning. | Gabriela Moldovan | 2023-10-03 | 1 | -1/+1 | |
| | | | | | ||||||
