summaryrefslogtreecommitdiff
path: root/crates/tor-hsservice
Commit message (Collapse)AuthorAgeFilesLines
...
| * tor-hsservice: Remove unnecessary allow annotations.Gabriela Moldovan2023-09-071-2/+0
| |
| * tor-hsservice: Use existing postage::watch import.Gabriela Moldovan2023-09-071-1/+1
| |
* | tor-hsservice: ipt mgr: merge_join_subset_by: testIan Jackson2023-09-121-0/+27
| |
* | tor-hsservice: ipt mgr: Add an empty test moduleIan Jackson2023-09-121-0/+18
| |
* | tor-hsservice: ipt mgr: Commentary about performanceIan Jackson2023-09-121-0/+59
| |
* | tor-hsservice: ipt mgr: merge_join_subset_by: rustfmtIan Jackson2023-09-121-2/+2
| |
* | tor-hsservice: ipt mgr: merge_join_subset_by: fix clippy lintsIan Jackson2023-09-121-11/+5
| |
* | tor-hsservice: ipt mgr: merge_join_subset_by: drop Debug boundsIan Jackson2023-09-121-3/+3
| | | | | | | | Now it's not fallible, we don't need to construct error messages.
* | tor-hsservice: ipt mgr: merge_join_subset_by: return an iteratorIan Jackson2023-09-121-12/+7
| |
* | tor-hsservice: ipt mgr: merge_join_subset_by: Introduce 'outIan Jackson2023-09-121-8/+8
| | | | | | | | No functional change.
* | tor-hsservice: ipt mgr: merge_join_subset_by: Replace algorithmIan Jackson2023-09-121-77/+20
| | | | | | | | | | Use HashMap-based algorithm, as per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1583#note_2941645
* | tor-hsservice: ipt mgr: merge_join_subset_by: document working setIan Jackson2023-09-121-1/+2
| |
* | tor-hsservice: ipt mgr: merge_join_subset_by: check more for dupesIan Jackson2023-09-121-0/+4
| |
* | tor-hsservice: ipt mgr: Break out merge_join_subset_byIan Jackson2023-09-121-19/+109
| | | | | | | | | | Propted by this conversation https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1578#note_2940675
* | tor-hsservice: ipt mgr: Handle ipt relay selection failure (fmt)Ian Jackson2023-09-111-1/+1
| |
* | tor-hsservice: ipt mgr: Handle ipt relay selection failureIan Jackson2023-09-111-4/+34
| | | | | | | | Without panicking.
* | tor-hsservice: ipt_mgr: Document expiry NoneIan Jackson2023-09-071-0/+2
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1578#note_2940673
* | tor-hsservice: ipt_mgr: Explain more about expiry time data flowIan Jackson2023-09-072-0/+16
| | | | | | | | | | Apropos https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1578#note_2940676
* | tor-hsservice: ipt_mgr: Add a TODO about the joinIan Jackson2023-09-071-0/+4
| | | | | | | | | | Apropos https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1578#note_2940675
* | tor-hsservice: ipt_mgr: Explicitly drop publish_setIan Jackson2023-09-071-0/+2
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1578#note_2940674
* | tor-hsservice: ipt_mgr: Actually send ipts to publisherIan Jackson2023-09-071-4/+2
| |
* | tor-hsservice: ipt_mgr: Fix output expiry time handling (fmt)Ian Jackson2023-09-071-2/+2
| |
* | tor-hsservice: ipt_mgr: Fix output expiry time handlingIan Jackson2023-09-071-10/+9
| | | | | | | | | | | | | | For the expiry times for descriptors we are intending to publish, copy out of our data structure. We don't need to actually update it to account for (possible) imminent publication; the publisher will do that.
* | tor-hsservice: ipt_mgr: Import updated expiry timesIan Jackson2023-09-071-0/+38
| |
* | tor-hsservice: ipt_mgr: Call borrow_for_update()Ian Jackson2023-09-071-5/+11
| | | | | | | | | | | | And plumb the reference through to places that will need it. We don't actually do anything with the results yet.
* | tor-hsservice: ipt_mgr: Call borrow_for_update() (pre fmt)Ian Jackson2023-09-071-3/+10
| |
* | tor-hsservice: ipt_mgr: Reorganise main loop a bitIan Jackson2023-09-071-9/+13
| | | | | | | | | | We are going to need to hold the ipt_set lock while we loop around making changes to our data structures etc.
* | tor-hsservice: ipt_mgr: Document further data structure stabilityIan Jackson2023-09-071-0/+7
| |
* | tor-hsservice: ipt_mgr: Fix last_descriptor_expiry_including_slop (fmt)Ian Jackson2023-09-071-4/+5
| |
* | tor-hsservice: ipt_mgr: Fix last_descriptor_expiry_including_slopIan Jackson2023-09-071-4/+7
| | | | | | | | This should be an Option, to correspond to what's in IptSet.
* | tor-hsservice: ipt_set: Add a missing Debug deriveIan Jackson2023-09-071-0/+1
| |
* | tor-hsservice: ipt_set: Add an IptLocalId fieldIan Jackson2023-09-072-0/+9
| |
* | tor-hsservice: Move IptLocalId into crate toplevelIan Jackson2023-09-072-14/+14
| |
* | Merge branch 'hss_config' into 'main'Nick Mathewson2023-09-075-29/+281
|\ \ | |/ |/| | | | | Begin working on configuration logic for onion services See merge request tpo/core/arti!1557
| * Allow max_concurrent_streams_per_circuit to be impossibly high.Nick Mathewson2023-09-071-1/+1
| |
| * hss: clarify and document deserialization for AnonymityNick Mathewson2023-09-071-5/+14
| | | | | | | | | | Don't make people say "Dangerous!" in the configuration, document the formats, and make the strings case-insensitive.
| * hsservice: add TODO about authorized client pluginsNick Mathewson2023-09-071-0/+5
| |
| * add a TODO about rate limits and their relationship.Nick Mathewson2023-09-071-0/+4
| |
| * hsservice: Make configs members pub(crate).Nick Mathewson2023-09-071-5/+5
| |
| * HSS: Parser/encoder for AuthorizedClientConfigNick Mathewson2023-09-072-2/+55
| |
| * HSS: Start making builders for config structs.Nick Mathewson2023-09-072-12/+51
| | | | | | | | Note a few issues encountered while doing so.
| * HSS: adjust two options.Nick Mathewson2023-09-071-4/+1
| | | | | | | | | | | | | | | | | | For rate-limiting, we make it optional. If it isn't set, we don't tell the intro to rate-limit. We condense our two max-streams options into one. We had two options here because we were looking for feature parity with C, but I think I had misunderstood what C provides.
| * hss: Move Anonymity to module and make it serde.Nick Mathewson2023-09-072-15/+77
| |
| * hss: Add configuration fields for onion services.Nick Mathewson2023-08-282-5/+88
| |
* | tor-hsservice: Remove unused Event struct (fmt).Gabriela Moldovan2023-09-062-3/+3
| |
* | tor-hsservice: Remove unused Event struct.Gabriela Moldovan2023-09-062-68/+4
| | | | | | | | | | | | | | | | | | | | The reactor events are no longer received on the same channel, so we don't need the `Event` enum or the old `Publisher` APIs any more. Svc config changes are received on a wseparate `postage::watch` channel, whereas IPT changes are detected through the `IptsPublisherView`. The publisher will (eventually) be informed of keystore changes through another `postage::watch` channel.
* | tor-hsservice: Use a postage::watch channel to watch for config changes.Gabriela Moldovan2023-09-062-1/+13
| | | | | | | | | | If multiple config changes happen in quick succession, we don't want the publisher to publish a new descriptor for every single one.
* | tor-hsservice: Use the new IPT change notifier API (fmt).Gabriela Moldovan2023-09-062-4/+12
| |
* | tor-hsservice: Use the new IPT change notifier API.Gabriela Moldovan2023-09-062-3/+19
| | | | | | | | | | | | | | | | This makes the publisher watch for IPT changes using the `IptsPublisherView` added in arti#1023 (instead of waiting for an `Event::NewIntroPoints`. The `Event` enum will soon be replaced by multiple `postage::watch` channels, one for every type of change it needs to react to).
* | tor-hsservice: Add PublisherError::Bug variant.Gabriela Moldovan2023-09-061-0/+4
| |