aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | tor-hsservice: Move IptLocalId into crate toplevelIan Jackson2023-09-072-14/+14
| | |
* | | tor-ptmgr: Test for empty valuesEmil Engler2023-09-071-0/+7
| | | | | | | | | | | | | | | | | | | | | This commit adds a unit test that checks if an empty value is parsed properly. It fixes the coverage in `crates/tor-ptmgr/src/ipc.rs:120`.
* | | tor-ptmgr: Test for missing valuesEmil Engler2023-09-071-0/+6
| | | | | | | | | | | | | | | This commit adds a test which checks for a missing value in an SMETHOD argument.
* | | tor-ptmgr: Test for forbidden `=`Emil Engler2023-09-071-0/+6
| | | | | | | | | | | | | | | This commit adds a unit test to the `tor-ptmgr` crate, which checks for forbidden `=` signs while reading a value.
* | | tor-ptmgr: Test argument ending with backslashEmil Engler2023-09-071-0/+6
| | | | | | | | | | | | | | | This commit adds a unit test to the `tor-ptmgr` crate, which checks if arguments are terminated with a backslash, which is forbidden.
* | | tor-ptmgr: Test unsupported octal sequencesEmil Engler2023-09-071-0/+9
| | | | | | | | | | | | | | | This commit adds a unit test that checks if all octal escape sequences are treated as an unsupported error.
* | | tor-ptmgr: Test escape sequencesEmil Engler2023-09-071-0/+8
|/ / | | | | | | | | This commit adds a test to the `tor-ptmgr` crate, which increases the test coverage by checking for escape sequences in values.
* | Merge branch 'hss_config' into 'main'Nick Mathewson2023-09-079-29/+752
|\ \ | |/ |/| | | | | Begin working on configuration logic for onion services See merge request tpo/core/arti!1557
| * hsrproxy: repair emptyportrange behaviorNick Mathewson2023-09-071-0/+2
| |
| * hsproxy: add TODO link to thread.Nick Mathewson2023-09-071-0/+3
| |
| * hsprproxy: add note about possible validation stepNick Mathewson2023-09-071-0/+2
| |
| * 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.
| * hsrproxy: tests for (not accepting) legacy ipv4 formatsNick Mathewson2023-09-071-0/+17
| |
| * hsrproxy: Add todos about udp and haproxyNick Mathewson2023-09-071-1/+9
| |
| * hsrproxy: Refactor ProxyPattern to use RangeInclusive.Nick Mathewson2023-09-071-50/+33
| | | | | | | | | | Also, allow nonempty ranges starting with 0- and implement Eq and PartialEq.
| * 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
| |
| * hsrproxy: Make config member pub(crate).Nick Mathewson2023-09-071-1/+1
| |
| * 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
| |
| * hsrproxy: implement builders and serde.Nick Mathewson2023-09-072-5/+75
| |
| * hsrproxy: implement parse/encode for patterns and targets.Nick Mathewson2023-09-072-5/+257
| |
| * Create a tor-hsrproxy crate to handle "proxy to local port".Nick Mathewson2023-09-074-0/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | I'm calling this a "reverse proxy" since I think a lot of folks like that terminology, though I'm not personally a huge fan. Calling it "`tor-hsproxy`" would IMO confuse people more about what kind of proxy it was. This is a separate crate from `tor-hsservice` because it's logically at a different level: if you're writing a little embedded onion service, you don't need this code. Right now there is only configuration logic here.
| * hss: Add configuration fields for onion services.Nick Mathewson2023-08-282-5/+88
| |
* | Merge branch 'publisher-postage' into 'main'Ian Jackson2023-09-073-69/+45
|\ \ | | | | | | | | | | | | tor-hsservice: Use the new IPT change notifier API. See merge request tpo/core/arti!1576
| * | 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
| | |
* | | Merge branch 'fixed-capacity-vec' into 'main'gabi-2502023-09-066-300/+16
|\ \ \ | | | | | | | | | | | | | | | | Switch to FixedCapacityVec from crates.io See merge request tpo/core/arti!1563
| * | | Switch to FixedCapacityVec 0.1.0 from crates.ioIan Jackson2023-09-066-300/+16
| | | |
* | | | Merge branch 'arti-merge-sample-projects-redux-rebased' into 'main'Nick Mathewson2023-09-068-0/+10
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | Rebased attempt to merge gsoc2023 examples See merge request tpo/core/arti!1574
| * | | Add cognitive-complexity exceptions for clippy.Nick Mathewson2023-09-058-0/+10
| | | | | | | | | | | | | | | | I have no idea why these became necessary.
* | | | 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
* | Remove semver.md now that 1.1.8 is out.Nick Mathewson2023-09-0513-58/+0
| |