summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | tor-config: Correct message and description for mistrust errorIan Jackson2024-07-101-2/+4
| | | | | | | | | | | | Part of #1473
| * | tor-keymgr: Correct message for mistrust errorIan Jackson2024-07-102-4/+4
| | |
| * | arti-client: Correct message for mistrust errorIan Jackson2024-07-101-1/+1
| | |
| * | fs-mistrust: Explain that Error might not be a permissions errorIan Jackson2024-07-101-0/+7
| | |
| * | fs-mistrust: Fix a formatting botchIan Jackson2024-07-101-2/+3
| | | | | | | | | | | | rustfmt didn't want to fix this, for some reason.
* | | arti-client: Gate generate_service_discovery_key() behind keymgr feature.Gabriela Moldovan2024-07-101-2/+10
|/ / | | | | | | | | Otherwise arti-client fails to build with `-no-default-features --features onion-service-client,experimental-api`.
* | Merge branch 'descriptor-publisher-warnings' into 'main'gabi-2502024-07-095-238/+26
|\ \ | | | | | | | | | | | | tor-hsservice: Remove dead code from the descriptor publisher See merge request tpo/core/arti!2251
| * | tor-hsservice: Remove unnecessary let-binding.Gabriela Moldovan2024-07-091-1/+2
| | |
| * | tor-hsservice: Specify the type when discarding value.Gabriela Moldovan2024-07-092-3/+3
| | | | | | | | | | | | | | | | | | | | | This should give us some confidence that we are not accidentally discarding results we should actually be using. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2251#note_3046219
| * | tor-hsservice: Resolve dead code warnings in publisher tests.Gabriela Moldovan2024-07-091-11/+7
| | |
| * | tor-hsservice: Ignore uninteresting netdir events in the publisher.Gabriela Moldovan2024-07-091-1/+12
| | | | | | | | | | | | This also makes the publisher exit if the netdir event stream ends.
| * | tor-hsservice: Resolve warning about unused response variable.Gabriela Moldovan2024-07-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | It is OK to discard the response string (the response is validated below where we call `DirResponse::into_output_string()`). (Perhaps we should just make `DirResponse::check_ok()` public. That way, we could validate the response without having to handle its output string).
| * | tor-hsservice: Resolve a handful of unused variable warnings.Gabriela Moldovan2024-07-092-4/+4
| | |
| * | tor-hsservice: Remove unused field from TimePeriodContext.Gabriela Moldovan2024-07-091-3/+0
| | |
| * | tor-hsservice: Remove unused variables.Gabriela Moldovan2024-07-092-14/+0
| | |
| * | tor-hsservice: Remove unnecessary locking.Gabriela Moldovan2024-07-091-2/+0
| | |
| * | tor-hsservice: Remove unused code (fmt).Gabriela Moldovan2024-07-091-1/+1
| | |
| * | tor-hsservice: Remove unused code.Gabriela Moldovan2024-07-094-188/+1
| | | | | | | | | | | | This is being reimplemented as #1292
| * | tor-hsservice: Remove unused publisher functions.Gabriela Moldovan2024-07-092-13/+0
| | | | | | | | | | | | | | | | | | | | | This removes a couple of unimplemented functions. These were supposed to be the starting point for #1217, but we won't be implementing that any time soon.
| * | tor-hsservice: Remove unnecessary allow.Gabriela Moldovan2024-07-091-1/+0
| | | | | | | | | | | | Note: #1217 is still open and we may want to implement it at some point.
* | | Remove reference to arti-hyper in arti-client README.mdIan Jackson2024-07-091-2/+0
|/ / | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2225#note_3043992 We have an example for how to use arti-client with hyper 1.x, but I don't think we need to to mention that here.
* | Merge branch 'fix-time-period-parsing-bug' into 'main'gabi-2502024-07-081-5/+7
|\ \ | | | | | | | | | | | | tor-keymgr: Use collect_tuple in TimePeriod::from_slug. See merge request tpo/core/arti!2248
| * | tor-keymgr: Use collect_tuple in TimePeriod::from_slug (fmt).Gabriela Moldovan2024-07-081-1/+2
| | |
| * | tor-keymgr: Use collect_tuple in TimePeriod::from_slug.Gabriela Moldovan2024-07-081-5/+5
| | | | | | | | | | | | | | | | | | The previous approach was buggy: collecting the parts of the time period into an `ArrayVec` of length 3 would panic if the number of parts was greater than 3.
| * | tor-keymgr: Test that parsing a TimePeriod with too many parts doesn't panic.Gabriela Moldovan2024-07-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This test currently fails because we have a bug in `TimePeriod`'s `from_slug()` implementation. `TimePeriod::from_slug()` splits the slug by `_`, and attempts to collect the parts into an `ArrayVec` of length 3. This is wrong, because the `collect()` will panic if there are more than 3 parts.
* | | Merge branch 'parse-client-auth-key' into 'main'gabi-2502024-07-082-17/+136
|\ \ \ | | | | | | | | | | | | | | | | tor-hscrypto: Implement FromStr for HsClientDescEncKey. See merge request tpo/core/arti!2246
| * | | tor-hscrypto: Use collect_tuple to avoid unnecessary Vec allocation.Gabriela Moldovan2024-07-081-6/+3
| | | |
| * | | tor-hscrypto: Remove HsClientDescKeyParseError's HasKind impl.Gabriela Moldovan2024-07-081-12/+0
| | | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2246#note_3045656
| * | | tor-hscrypto: Implement FromStr for HsClientDescEncKey.Gabriela Moldovan2024-07-081-3/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We will use this impl for parsing the authorized clients of a hidden service running in "restricted discovery" mode. NB: "Restricted discovery" is the new terminology for "services that require client authorization", i.e. services that implement "client authorization" as described in rend-spec HS-DESC-ENC[0]. Note we haven't fully transitioned to the new terminology yet (see #1476). Part of #1292 [0]: https://spec.torproject.org/rend-spec/hsdesc-encrypt.html#HS-DESC-SECOND-LAYER
| * | | tor-hscrypto: Remove unnecessary Display wrapper.Gabriela Moldovan2024-07-082-18/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I don't think we need a separate wrapper type for displaying `HsClientDescEncKey` keys in the "C Tor format" (`<auth-type>:<key-type>:<base32-encoded-public-key>`). I think this should be the canonical string representation of `HsClientDescEncKey`, so I'm removing the `display_authorized_client` function and corresponding `DisplayAuthorizedHsClientDescEncKey` wrapper type.
* | | | Fix a footnote reference that Nightly complains aboutIan Jackson2024-07-081-1/+1
|/ / /
* | | Merge branch 'deftly' into 'main'Ian Jackson2024-07-0813-14/+14
|\ \ \ | | | | | | | | | | | | | | | | Update to derive-deftly 0.14 See merge request tpo/core/arti!2241
| * | | Update to derive-deftly 0.14Ian Jackson2024-07-0813-14/+14
| | | | | | | | | | | | | | | | | | | | This removes the deprecated syntaxes. Updating now will prevent us re-introducing the old syntaxes, which we updated in arti!2209.
* | | | Merge branch 'warnings' into 'main'Ian Jackson2024-07-0811-26/+34
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix or allow warnings that show up in beta See merge request tpo/core/arti!2244
| * | | | Work around clippy::doc_lazy_continuation false positivesIan Jackson2024-07-082-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See https://github.com/rust-lang/rust-clippy/issues/13001 I think it's OK to change this in our tree, nevertheless.
| * | | | Fix clippy::doc_lazy_continuationIan Jackson2024-07-085-19/+20
| | | | |
| * | | | tor-dirmgr: Add some duplicate dead code allowsIan Jackson2024-07-082-2/+4
| | | | | | | | | | | | | | | | | | | | Sadly, rustc seems to want us to mark this allow in several places.
| * | | | Add allows for many dead code warnings in tor-protoIan Jackson2024-07-082-0/+5
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | I'm not sure how to resolve these. See #1467. We ought to fix them before they propagate to +stable, particularly since after !2242 they'll break CI.
* | | | Merge branch 'quote' into 'main'Nick Mathewson2024-07-081-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix markdown quoting and guard against regressions See merge request tpo/core/arti!2242
| * | | | Fix markdown quoting.Ian Jackson2024-07-081-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: warning: unclosed HTML tag `FILE` --> crates/arti/src/subcommands/hsc.rs:56:33 | 56 | /// Write the public key to <FILE>. Use - to write to stdout | ^^^^^^ | = note: `#[warn(rustdoc::invalid_html_tags)]` on by default
* / / / hashx: Abolish Shape::BUCKET_CAPACITYIan Jackson2024-07-081-7/+0
|/ / / | | | | | | | | | | | | This is not used anywhere. It's not clear to we why it exists and I think we can safely delete it.
* | | Merge branch 'todo-number' into 'main'Alexander Færøy2024-07-072-2/+2
|\ \ \ | |/ / |/| | | | | | | | Fix two TODO ticket numbers See merge request tpo/core/arti!2224
| * | Fix two TODO ticket numbersIan Jackson2024-06-252-2/+2
| | | | | | | | | | | | | | | I seem to have mistyped this ticket number. We meant #1397 aka "Circuit reactor isn't great", not some release ticket.
* | | Merge branch 'tap-out-phase-1' into 'main'Nick Mathewson2024-06-274-27/+107
|\ \ \ | | | | | | | | | | | | | | | | Make TAP keys optional when parsing documents. See merge request tpo/core/arti!2227
| * | | Make TAP keys optional when parsing documents.Nick Mathewson2024-06-274-27/+107
| | | | | | | | | | | | | | | | | | | | This is the client-side part of phase 1 for proposal 350, which will eventually remove TAP completely from the Tor network.
* | | | arti: Rewrite the hsc prepare-service-discovery-key command (fmt).Gabriela Moldovan2024-06-271-11/+6
| | | |
* | | | arti: Rewrite the hsc prepare-service-discovery-key command.Gabriela Moldovan2024-06-271-10/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The `arti hsc prepare-service-discovery-key` command is now `arti hsc get-key [--key-type=service-discovery]`. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2212#note_3042903
* | | | arti: Add an arti hsc subcommand.Gabriela Moldovan2024-06-274-1/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds an experimental `arti hsc` subcommand for managing client state and keys. Currently, it only supports the `prepare-service-discovery-keys` operation described in #1281 and `doc/dev/notes/client-auth.md`. A note on terminology: I am referring to services that encrypt the second layer of their descriptor as running in "restricted discovery" mode (because they can only be discovered, i.e. have their IPT points found out, by a set of authorized clients). The corresponding client "auth" keys, being the keys that enable the client to find out the list of intro points, pow-params etc. of the service, are referred to as service "discovery keys". Alternative names I considered: * extra descriptor encryption: accurate, but overly technical. IMO, the CLI should be accessible to users who aren't familiar with the nitty-gritty of the protocol * shielded mode: good, but slightly misleading. Calling it "shielded mode" makes it sound like a universally desirable "extra protection" that should almost always be enabled (which is not the case). Seeing `shielded_mode = off` in the config might be worry operators that don't fully understand what "extra descriptor encryption" or "shielded mode" means * restricted mode: slightly inaccurate. It implies this mechanism is a good substitute for conventional service-side authentication, which it isn't (because client authorization isn't instantaneous) Closes #1281
* | | | arti-client: Add a function for generating client authorization keys.Gabriela Moldovan2024-06-273-1/+90
| | | | | | | | | | | | | | | | Part of #1281
* | | | tor-hscrypto: Add helper for encoding client auth keys in C Tor format.Gabriela Moldovan2024-06-271-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This will enable us to implement the `arti hsc` client subcommand for generating client auth keys (#1281). Closes #1291