aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-hsservice
Commit message (Collapse)AuthorAgeFilesLines
...
| * 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
* | tor-hsservice: ipt_mgr: Discussion of IPT publication strategyIan Jackson2023-08-301-2/+20
| | | | | | | | | | Apropos https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1559#note_2937970
* | tor-hsservice: ipt_mgr: Remove stray commentIan Jackson2023-08-301-2/+0
| | | | | | | | | | Apropos https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1559#note_2937969
* | tor-hsservice: ipt_mgr: Calculate a publish::IptSetIan Jackson2023-08-291-6/+79
| |
* | tor-hsservice: ipt_mgr: Break out Ipt::is_good (fmt)Ian Jackson2023-08-291-2/+1
| |
* | tor-hsservice: ipt_mgr: Break out Ipt::is_goodIan Jackson2023-08-291-4/+11
| | | | | | | | | | I'm going to want to reuse this, and it makes the code clearer at the one call site already.
* | tor-hsservice: ipt_mgr: Sort-of create IPT key materialIan Jackson2023-08-291-2/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the key material to `struct Ipt`, and add some code to generate it. However, this is all rather unsatisfactory. I got a bit lost in the maze of 25519 key types, and neded up making a provisional dummy `NtorKeyPair` type, which will need to be deleted again. And, I wasn't able to generate K_hs_ipt_sid because of a mismatch in Rng traits, which seems to be caused by us not properly wrapping up the underlying crypto key types ? At least the warts seem to be fairly localised.