summaryrefslogtreecommitdiff
path: root/crates/tor-netdoc
Commit message (Collapse)AuthorAgeFilesLines
...
* netdoc: Use a dev-dependency on anyhow to fix a doc exampleNick Mathewson2023-06-222-1/+2
|
* netdoc: Introduce HsDescErrorNick Mathewson2023-06-223-37/+124
| | | | | | | | | | For higher-level HsDesc-related functions, this type indicates where exactly an error occurred. It lets us distinguish decryption errors from parsing errors, and attribute responsibility to the hsdir, the onion service, or the user's lack of encryption. This lets us remove some just-introduced complexity in tor-hsclient.
* Merge branch 'socks_errorkinds' into 'main'Nick Mathewson2023-06-222-1/+9
|\ | | | | | | | | | | | | Generate correct-ish socks5 errors for onion service errors. Closes #736 See merge request tpo/core/arti!1279
| * Generate correct ErrorKinds for hsdesc decryption failures.Nick Mathewson2023-06-212-1/+9
| | | | | | | | Part of #736
* | Merge branch 'stderr' into 'main'Alexander Færøy2023-06-211-0/+2
|\ \ | | | | | | | | | | | | lints: Promote clippy::print_stderr and clippy::print_stdout See merge request tpo/core/arti!1271
| * | lints: Run maint/add_warning to actually apply new lintsIan Jackson2023-06-211-0/+2
| |/
* | netdoc: downgrade two accessor-related TODOsNick Mathewson2023-06-201-4/+1
| |
* | netdoc: Use derive amplify::Getters for HsDesc accessors.Nick Mathewson2023-06-202-46/+9
|/ | | | Closes #909.
* hsdesc.rs: finally remove "allows".Nick Mathewson2023-06-162-13/+9
| | | | | | The last piece here is removing some needless keygen from the tests. This causes the test output (using the deterministic PRNG) to change.
* netdoc::doc::hsdesc changes to let us downgrade/remove allowsNick Mathewson2023-06-166-10/+9
|
* netdoc: unmark MAC_KEY_LEN as conjectural.Nick Mathewson2023-06-161-1/+1
| | | | | The value here is 32 bytes; I'm adding it to to the specification as torspec!141
* SharedRandVal: Note that it doesn't have to be Ct.Nick Mathewson2023-06-161-2/+1
|
* netdoc: remove a TODO about moving a module to where it already is.Nick Mathewson2023-06-161-2/+0
|
* netdoc: use ct_lookup for rend descriptor cookie lookupNick Mathewson2023-06-162-6/+4
| | | | | (I doubt that there is a viable side channel here, but still we might as well get in the habit of doing these things properly.)
* netdoc: Downgrade an HS todo wrt HS_DESC_AUTH_TYPENick Mathewson2023-06-161-2/+3
|
* netdoc: downgrade some TODO HS to TODO HSS.Nick Mathewson2023-06-162-7/+10
| | | | I'm using HSS for hs-service features.
* netdoc::build remove very broken example.Nick Mathewson2023-06-161-20/+3
| | | | | | | | | | | This could never be a full rustdoc test, since rustdoc never runs tests for private items. Even if it were a rustdoc test, it uses a bunch of types that aren't exposed in the right places, and it invokes nonexistent functions, and it assumes a `self` that isn't there. In lieu of writing a new untested test, I've added a note to refer the developer to where they can find working example code.
* netdoc: Remove a TODO that we already solved.Nick Mathewson2023-06-161-1/+0
|
* netdoc::build: remove or narrow `allow`s.Nick Mathewson2023-06-141-12/+4
|
* Merge branch 'ipt_to_circtarget' into 'main'Nick Mathewson2023-06-072-0/+34
|\ | | | | | | | | Construct a CircTarget from an IntroPointDesc. See merge request tpo/core/arti!1221
| * netdir, netdoc: Add accessors for protocol version status.Nick Mathewson2023-06-062-0/+34
| | | | | | | | | | | | | | | | | | | | | | The consensus includes a listing for clients and for relays, saying which protocol versions are _required_ for participation on the network, and which versions are _recommended_. We have been parsing this, but not yet exposing it. This commit adds accessors to expose it, since we'll need that in order to create CircTargets for introduction points and rendezvous points.
* | Merge branch 'access' into 'main'Alexander Færøy2023-06-061-4/+69
|\| | | | | | | | | hsdesc docs: Provide some accessors See merge request tpo/core/arti!1220
| * hsdesc: Add minimal set of accessors for HsDesc and IntroPointDescIan Jackson2023-06-051-0/+65
| |
| * hsdesc docs: Don't imply that a thing has been done, which hasn't yetIan Jackson2023-06-051-1/+1
| |
| * hsdesc docs: Use the definite articleIan Jackson2023-06-051-3/+3
| | | | | | | | | | These are (I hope) the only key matching the description. If they're not, the description needs to be expanded.
* | Merge branch 'remove_arrayref' into 'main'Nick Mathewson2023-06-062-4/+7
|\ \ | |/ |/| | | | | | | | | Remove use of arrayref Closes #872 See merge request tpo/core/arti!1214
| * tor-netdoc: remove use of arrayref.Nick Mathewson2023-06-012-4/+7
| |
* | Remove semver.md files from 1.1.5Nick Mathewson2023-06-011-1/+0
| |
* | Bump crate versions in preparation for v1.1.5 release.Nick Mathewson2023-06-011-12/+12
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generated with the following commands: ``` cargo set-version --bump minor -p tor-cell cargo set-version --bump minor -p tor-linkspec cargo set-version --bump minor -p tor-proto cargo set-version --bump minor -p tor-netdoc cargo set-version --bump minor -p tor-circmgr cargo set-version --bump patch -p tor-cert cargo set-version --bump patch -p tor-basic-utils cargo set-version --bump patch -p tor-rpcbase cargo set-version --bump patch -p tor-llcrypto cargo set-version --bump patch -p tor-hscrypto cargo set-version --bump patch -p tor-checkable cargo set-version --bump patch -p tor-async-utils cargo set-version --bump patch -p caret cargo set-version --bump patch -p fs-mistrust cargo set-version --bump patch -p safelog cargo set-version --bump patch -p retry-error cargo set-version --bump patch -p tor-error cargo set-version --bump patch -p tor-config cargo set-version --bump patch -p tor-events cargo set-version --bump patch -p tor-units cargo set-version --bump patch -p tor-rtcompat cargo set-version --bump patch -p tor-rtmock cargo set-version --bump patch -p tor-protover cargo set-version --bump patch -p tor-bytes cargo set-version --bump patch -p tor-socksproto cargo set-version --bump patch -p tor-consdiff cargo set-version --bump patch -p tor-netdir cargo set-version --bump patch -p tor-congestion cargo set-version --bump patch -p tor-persist cargo set-version --bump patch -p tor-chanmgr cargo set-version --bump patch -p tor-ptmgr cargo set-version --bump patch -p tor-guardmgr cargo set-version --bump patch -p tor-dirclient cargo set-version --bump patch -p tor-dirmgr cargo set-version --bump patch -p tor-hsclient cargo set-version --bump patch -p tor-hsservice cargo set-version --bump patch -p arti-client cargo set-version --bump patch -p arti-rpcserver cargo set-version --bump patch -p arti-config cargo set-version --bump patch -p arti-hyper cargo set-version --bump patch -p arti cargo set-version --bump patch -p arti-bench cargo set-version --bump patch -p arti-testing ```
* Upgrade serde_with dependency to 3.0.0Nick Mathewson2023-05-221-1/+1
|
* netdoc, hsclient: Update remaining ed25519::SecretKey usersNick Mathewson2023-05-182-20/+17
| | | | | | Fortunately, these are all in experimental code. Closes #798
* Merge branch 'ticket_759' into 'main'Nick Mathewson2023-05-163-4/+4
|\ | | | | | | | | | | | | tor-cert: Replace the KeyUnknownCert::check_key API Closes #759 See merge request tpo/core/arti!1184
| * Replace usage of KeyUnknownCert::check_key.Nick Mathewson2023-05-163-4/+4
| |
* | Revise all XXXXs from fixup-featuresNick Mathewson2023-05-151-4/+9
| |
* | Run fixup-features _with_ annotations.Nick Mathewson2023-05-151-0/+2
| | | | | | | | | | This litters our Cargo.toml files with "XXX" entries that we should fix.
* | Reformat Cargo.toml files.Nick Mathewson2023-05-151-7/+14
| |
* | Run fixup-features --no-annotate for initial Cargo.toml fixes.Nick Mathewson2023-05-151-6/+7
|/ | | | | | | | | This does the following: - Gives every crate a `full`. - Cause every `full` to depend on `full` from the lower-level crates. - Makes every feature listed _directly_ in `experimental` depend on `__is_experimental`.
* Use non-deprecated *Secret::random_from_rng.Nick Mathewson2023-05-132-6/+7
| | | | The `new` function is deprecated in x25519-dalek 2.0.0-rc.2
* netdoc: Use the RangeBoundsExt impl of TimerangeBound.Gabriela Moldovan2023-05-132-11/+25
| | | | | | We can now get rid of the standalone `intersect_bounds` function. Signed-off-by: Gabriela Moldovan <[email protected]>
* netdoc: Do not consume EncryptedHsDesc when decrypting.Gabriela Moldovan2023-05-131-1/+1
| | | | | | | | | `parse_decrypt_validate` will need to "peek" inside an encrypted descriptor (before validating it) to extract the `TimerangeBound` of the inner layer. This is needed to compute the intersection of the `TimerangeBound`s of both layers. Signed-off-by: Gabriela Moldovan <[email protected]>
* hsclient: Compute HsDesc validity time from the TimerangeBounds of its layers.Gabriela Moldovan2023-05-131-13/+16
| | | | | | | This makes `descriptor_ensure` refetch the descriptor if either of its layers (inner or outer) expires. Signed-off-by: Gabriela Moldovan <[email protected]>
* hsclient: Build cached descriptor TimerangeBounds from descriptor lifetime.Gabriela Moldovan2023-05-131-0/+7
| | | | | | | This makes `descriptor_ensure` refetch the descriptor if it has been cached for longer than `descriptor-lifetime` minutes. Signed-off-by: Gabriela Moldovan <[email protected]>
* netdoc: Rename parse_error_kind() to netdoc_error_kind().Gabriela Moldovan2023-05-113-5/+5
| | | | | | | `ParseErrorKind` was renamed to `NetdocErrorKind`, so we need to rename this acccessor too. Signed-off-by: Gabriela Moldovan <[email protected]>
* Merge branch 'hs-linkspec-work-v2' into 'main'Nick Mathewson2023-05-111-2/+2
|\ | | | | | | | | | | | | Second take on linkspec manipulation code needed by onion services Closes #794 See merge request tpo/core/arti!1177
| * Rename UnparsedLinkSpec => EncodedLinkSpecNick Mathewson2023-05-101-2/+2
| |
* | netdoc: Remove experimental-api gate from parse_decrypt_validate.Gabriela Moldovan2023-05-102-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | `parse_decrypt_validate` was marked as experimental because it was unclear if the newly added `BadTimeBound` error kind belongs in `ParseErrorKind`. However, we have since renamed `ParseErrorKind` to `NetdocErrorKind` and decided to keep the new variant, so this API doesn't need to be experimental anymore. Closes arti #852 Signed-off-by: Gabriela Moldovan <[email protected]>
* | netdoc: Rename `ParseError{Kind, Source}` to `NetdocError{Kind, Source}`.Gabriela Moldovan2023-05-1017-43/+42
|/ | | | | | | | | | | `ParseErrorSource` was originally meant to represent a parsing error, this enum has since gained some variants that aren't really parsing related (`Signature`, `CertSignature`, `UntimelyDescriptor`). Since this error type is now used for general-purpose netdoc errors, let's rename `ParseError{Kind, Source}` to `NetdocError{Kind, Source}`. Signed-off-by: Gabriela Moldovan <[email protected]>
* Merge branch 'hsdesc-parse-decrypt-validate' into 'main'gabi-2502023-05-032-1/+75
|\ | | | | | | | | | | | | netdoc: Add a convenience method for HS descriptor parsing. Closes #809 See merge request tpo/core/arti!1152
| * netdoc: Mark parse_decrypt_validate as experimental.Gabriela Moldovan2023-05-022-0/+6
| | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * netdoc: Document how to extract an `HsDesc` out of an ↵Gabriela Moldovan2023-04-251-0/+32
| | | | | | | | | | | | | | | | | | `UncheckedEncryptedHsDesc`. This adds an example to the `HsDesc::parse` docs. The constants from the example are lifted from the `parse_desc_good` test. Signed-off-by: Gabriela Moldovan <[email protected]>