summaryrefslogtreecommitdiff
path: root/crates/tor-hsservice
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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
| |
* | tor-hsservice: ipt_set: Define the APIIan Jackson2023-09-061-1/+90
| |
* | tor-hsservice: ipt_set: Define the shared data structureIan Jackson2023-09-063-2/+50
| | | | | | | | | | | | | | | | | | Put a last_descriptor_expiry_including_slop into the IptSet. Define who is responsible for which data. The code at the sites that interacts with this needs to be bodged, to make it still compile. That code is wrong, and the new API for sharing the state doesn't exist yet.
* | tor-hsservice: Move PublishIptSet and its pieces into a new module (fmt)Ian Jackson2023-09-061-1/+1
| |
* | tor-hsservice: Move PublishIptSet and its pieces into a new moduleIan Jackson2023-09-066-48/+54
| | | | | | | | | | This is going to be complicated enough we probably want it split out of the publisher.
* | tor-hsservice: Update our list of relevant TPs whenever the consensus changes.Gabriela Moldovan2023-09-061-3/+3
| |
* | tor-hsservice: Update outdated docs.Gabriela Moldovan2023-09-061-1/+1
| |
* | tor-hsservice: Remove outdated TODO.Gabriela Moldovan2023-09-061-2/+0
| |
* | tor-hsservice: Replace {current,previous}_period with a list of time periods.Gabriela Moldovan2023-09-061-43/+42
| | | | | | | | | | | | | | | | The descriptor publisher reactor was (incorrectly) only keeping track of the "current" and "previous" time periods. The reactor now maintains a list of all relevant time periods (obtained from `Netdir::hs_all_time_periods`).
* | tor-hsservice: Only build the Descriptor once.Gabriela Moldovan2023-09-061-25/+32
| | | | | | | | | | We don't need to build the `Descriptor` for each time period (it contains TP-agnostic information).
* | tor-hsservice: Remove unnecessary time period change handler.Gabriela Moldovan2023-09-061-37/+0
| | | | | | | | | | | | | | | | | | | | This was based on the incorrect assumption there would be an external source notifying the reactor of time period changes. Time period changes will be handled in the consensus change handler of the reactor. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1545#note_2935668
* | Merge branch 'bumps' into 'main'arti-v1.1.8Ian Jackson2023-09-051-15/+15
|\ \ | | | | | | | | | | | | Version bumps in preparation for today's release See merge request tpo/core/arti!1570
| * | Update patchlevel for crates with nontrivial changes.Nick Mathewson2023-09-051-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are: ``` hashx equix tor-async-utils tor-error tor-config tor-rtmock tor-llcrypto tor-bytes tor-hscrypto tor-hspow tor-cert tor-linkspec tor-cell tor-proto tor-netdoc tor-netdir tor-chanmgr tor-guardmgr tor-dirmgr tor-keymgr tor-hsclient tor-hsservice arti-client arti ```
| * | Minor-version bumps for crates with breaking changes.Nick Mathewson2023-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | These are: ``` tor-dirclient tor-ptmgr ```
* | | tor-hsservice: De-linkify a docs link to a private itemIan Jackson2023-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Weirdly, rustdoc says 189 | /// TODO HSS surely this should be [`tor_proto::crypto::handshake::ntor::NtorSecretKey`] ? | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `crypto` in module `tor_proto` when it should probably complain the item is private. Anyway, we can't link to it, so don't.
* | | Run "fixup-features" in preparation for release.Nick Mathewson2023-09-051-1/+1
|/ /
* | Merge branch 'doc-fixes' into 'main'Nick Mathewson2023-09-052-3/+3
|\ \ | | | | | | | | | | | | tor-hsservice: Fix broken doc links. See merge request tpo/core/arti!1565
| * | tor-hsservice: Fix IPT establisher broken doc link.Gabriela Moldovan2023-09-051-1/+1
| | |
| * | tor-hsservice: Fix broken publisher reactor broken doc link.Gabriela Moldovan2023-09-051-2/+2
| | |
* | | tor-hsservice: Add a TODO HSS re expiry timesIan Jackson2023-09-052-1/+2
| | |
* | | tor-hsservice: publish: Add type alias for PublishIptSetIan Jackson2023-09-053-11/+15
|/ /
* | tor-hsservice: Add a TODO re PublishIptSetIan Jackson2023-09-051-0/+2
| |
* | tor-hsservice: Add commentary re VerbatimLinkSpecCircTargetIan Jackson2023-09-051-0/+9
| |
* | RustfmtIan Jackson2023-08-301-2/+2
| |
* | tor-hsservice: ipt_mgr: Clarify/correct `is_good` commentIan Jackson2023-08-301-1/+1
| | | | | | | | | | Apropos https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1559#note_2937979
* | tor-hsservice: ipt_mgr: Actually generate k_sidIan Jackson2023-08-301-6/+2
| | | | | | | | | | Apropos https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1559#note_2937978
* | tor-hsservice: Fix type of descriptor expiryIan Jackson2023-08-301-3/+3
| | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1559#note_2937976 If we're publishing with Durations, then we can use Instant at least while everything remains in-core.
* | tor-hsservice: Fix type of descriptor lifetime in IptSetIan Jackson2023-08-303-6/+6
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1559#note_2937976
* | tor-hsservice: publish: Add more docs for `Option<IptSet>`Ian Jackson2023-08-301-0/+2
| | | | | | | | | | Apropos https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1559#note_2937975
* | tor-hsservice: ipt_estblish: Add TODOs re netdir monitoringIan Jackson2023-08-301-0/+16
| | | | | | | | | | Apropos https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1559#note_2937973
* | tor-hsservice: ipt_mgr: Replace a panicIan Jackson2023-08-301-1/+1
| | | | | | | | | | Apropos https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1559#note_2937971