Commit Graph

4818 Commits

Author SHA1 Message Date
gabi-250 8c1e96a22c Merge branch 'arti-path-bug' into 'main'
keymgr: Allow periods in ArtiPath and ArtiPathComponent.

See merge request tpo/core/arti!1358
2023-06-30 11:30:45 +00:00
Gabriela Moldovan a61071f7b6 keystore: Change the dummy HsClientSpecifier to "default". 2023-06-30 11:49:07 +01:00
Gabriela Moldovan 35e063702f keymgr: Update ArtiPath and ArtiPathComponent docs.
The docs were lying, we actually support UTF-8 paths (though we might
later decide to restrict the charset further).
2023-06-30 11:49:05 +01:00
Gabriela Moldovan 474f273b6c keymgr: Allow periods in ArtiPath and ArtiPathComponent.
The `ArtiPath` of a client auth key contains the `HsId` of the onion
Since the `HsId` contains a `.onion` component, let's allow `.` for now.
In the future, we may want to update the code (and keystore structure)
to strip away the `.onion` part before building the `ArtiPath`.
2023-06-30 11:48:27 +01:00
Ian Jackson 5d99725c65 Merge branch 'keymgr-docs' into 'main'
keymgr: Downgrade "TODO hs" to "TODO HSS"

See merge request tpo/core/arti!1360
2023-06-30 10:48:25 +00:00
Ian Jackson 88527d14c8 Merge branch 'fix-unfortunate-merge-outcome' into 'main'
arti-client: Rename KeyStore to Keystore.

See merge request tpo/core/arti!1359
2023-06-30 10:41:58 +00:00
Ian Jackson a7334f86ae Merge branch 'docsrs-fix' into 'main'
Add a missing "experimental-api" rustdoc notation

See merge request tpo/core/arti!1353
2023-06-30 10:41:12 +00:00
Ian Jackson f177a5bde4 Merge branch 'fixup-features' into 'main'
Run fixup-features on current `main`

See merge request tpo/core/arti!1352
2023-06-30 10:38:53 +00:00
Gabriela Moldovan 90183368a2 keymgr: Downgrade "TODO hs" to "TODO HSS"
This TODO doesn't need to block the release.
2023-06-30 11:16:28 +01:00
Gabriela Moldovan e899c41135 arti-client: Rename KeyStore to Keystore.
`KeyStore` was renamed to `Keystore` globally in !1355. This fixes a
compile error caused an unfortunate series of non-conflicting (from
git's POV) but incompatible merges:

* !1356 added a line threferencing an error variant that capitalizes the
  "s" in "KeyStore" (`ErrorDetail::KeyStore`)
* !1356 landed just before !1355 (the global renaming). Since there was
  no conflict between the 2, we're now in a state where the code added
  in !1356 is referencing an `ErrorDetail` variant that no longer
  exists.
2023-06-30 11:01:58 +01:00
Alexander Færøy 60f6fe7460 Merge branch 'keymgr-naming' into 'main'
keymgr: Rename KeyStore to Keystore globally.

See merge request tpo/core/arti!1355
2023-06-30 00:11:17 +00:00
Gabriela Moldovan 458af6e007 keymgr: Fix another infinite loop around Keymgr error handling.
This `From` impl was just calling itself recursively...
2023-06-29 23:30:28 +01:00
Gabriela Moldovan 36606a66dd keymgr: Rename KeyStore to Keystore globally.
We've been capitalizing the "s" in "KeyStore" inconsistently. This
`s/KeyStore/Keystore/g` across the codebase.
2023-06-29 22:46:15 +01:00
Nick Mathewson 8fe79b5a1d Add a missing "experimental-api" rustdoc notation 2023-06-29 17:18:23 -04:00
Nick Mathewson a88fa71f25 Resolve XXXs from fixup-features.
Some of these seem spurious: it looks like fixup-features resolved
an issue and then complained about it too.  I'll investigate further.
2023-06-29 17:14:00 -04:00
Nick Mathewson f8ee830a94 Run "cargo sort". 2023-06-29 17:10:27 -04:00
Nick Mathewson 23c67d92e6 Run "fixup-features". 2023-06-29 17:09:52 -04:00
Nick Mathewson 6e2b48c6b9 Merge branch 'rustdoc_fix' into 'main'
Fix a rustdoc link.

See merge request tpo/core/arti!1351
2023-06-29 20:53:41 +00:00
Ian Jackson 3c85863aa1 Merge branch 'exp' into 'main'
tor-error: Make KeystoreFsPermissions experimental for now

See merge request tpo/core/arti!1350
2023-06-29 19:55:06 +00:00
Ian Jackson 9ef65775c9 Merge branch 'validate-client-spec' into 'main'
keymgr: Validate ArtiPaths, replace HsClientSpecifier with generic ArtiPathComponent

See merge request tpo/core/arti!1262
2023-06-29 19:49:30 +00:00
gabi-250 09cb5eed4e Merge branch 'keymgr-config' into 'main'
arti-client: Add keystore_dir to StorageConfig.

See merge request tpo/core/arti!1312
2023-06-29 19:30:41 +00:00
Ian Jackson e299c2b4f7 Merge branch 'keymgr' into 'main'
tor-keymgr: Adjust stability guarantees for release

Closes #934

See merge request tpo/core/arti!1346
2023-06-29 19:27:14 +00:00
Ian Jackson 16a00846bd Run rustfmt 2023-06-29 19:59:26 +01:00
Ian Jackson 69129bf2b4 tor-error: Make KeystoreFsPermissions experimental for now
Let's defer this decision.
2023-06-29 19:51:04 +01:00
Ian Jackson effded7728 tor-keymgr: When keymgr enabled, enable tor-error's experimental too 2023-06-29 19:51:04 +01:00
Nick Mathewson 90b5ce7fd7 Merge branch 'stabilize-hs-client' into 'main'
Mark all {hs,onion-serivce}-client features as non-experimental.

Closes #896

See merge request tpo/core/arti!1347
2023-06-29 18:50:30 +00:00
Ian Jackson 5ea89846b1 Merge branch 'default' into 'main'
Turn off HS client connections by default

See merge request tpo/core/arti!1345
2023-06-29 18:48:43 +00:00
Nick Mathewson 474c313ab0 Fix a rustdoc link. 2023-06-29 14:33:34 -04:00
Gabriela Moldovan 541e56fce4 arti-client: Fix clippy lint. 2023-06-29 19:30:48 +01:00
Gabriela Moldovan c9f4ef010f keymgr: Remove unstable ErrorKind, use internal! for ArtiPath errors. 2023-06-29 19:28:22 +01:00
Gabriela Moldovan f81d16ff9b keymgr: Validate the individual ArtiPahtComponents of ArtiPath.
This also implicitly forbids leading and trailing slashes in an
`ArtiPath`.
2023-06-29 19:28:22 +01:00
Gabriela Moldovan 0ebb002de8 keymgr: Rephrase ArtiPath docs.
This updates the docs with Diziet's suggested doc improvements.
2023-06-29 19:28:22 +01:00
Gabriela Moldovan b5e190d05d keymgr: Remove ArtiPath normalization, introduce additional restrictions. 2023-06-29 19:28:22 +01:00
Gabriela Moldovan d59c3bdea9 keymgr: Document how ArtiPath validation is actually supposed to work. 2023-06-29 19:28:22 +01:00
Gabriela Moldovan e8ef82b78d keymgr: Move validation requirements to the ArtiPath docs. 2023-06-29 19:28:22 +01:00
Gabriela Moldovan 66e6ab3f9e keymgr: Make ArtiPath platform-independent by always using '/' as a separator. 2023-06-29 19:28:22 +01:00
Gabriela Moldovan b8b8a0d3ac hsclient: Make HsClientSpecifier a newtype instead of a type alias. 2023-06-29 19:28:22 +01:00
Gabriela Moldovan adfde95703 keymgr: Add tests for ArtiPath validation. 2023-06-29 19:28:22 +01:00
Gabriela Moldovan f56ed918b0 keymgr: Validate ArtiPath and ArtiPathComponent. 2023-06-29 19:28:22 +01:00
Gabriela Moldovan 2825dfc2bc keymgr: Derive Into for ArtiPath and ArtiPathComponent. 2023-06-29 19:28:22 +01:00
Gabriela Moldovan 0972fc5b2d keymgr: Define an error type for bad `ArtiPathComponents`. 2023-06-29 19:28:22 +01:00
Gabriela Moldovan 20713b24bf arti-client, hsclient: Typealias HsClientSpecifier to ArtiPathComponent.
`ArtiPathComponent` is a more generic version of `HsClientSpecifier`.
2023-06-29 19:28:22 +01:00
Gabriela Moldovan 095faf9c5c keymgr: Derive Display for ArtiPath and ArtiPathComponent. 2023-06-29 19:28:22 +01:00
Gabriela Moldovan 89238f25a6 keymgr: Define `ArtiPathComponent`.
An `ArtiPathComponent` is a substring of an `ArtiPath`. An
`ArtiPathComponent` will be validated according to the same rules as
`ArtiPath`.

In the future we can replace `HsClientSpecifier` with
`ArtiPathComponent` (they both serve the same purpose except
`ArtiPathComponent` is more generic).
2023-06-29 19:28:22 +01:00
Ian Jackson 954e20bb50 tor-keymgr: Add missing footnote 2023-06-29 19:26:15 +01:00
Gabriela Moldovan 28fae4d1fd arti-client: Make keystore_dir an experimental option. 2023-06-29 19:19:51 +01:00
Ian Jackson aa55fd8c13 arti-client: StreamPrefs: Add security note 2023-06-29 19:01:33 +01:00
Ian Jackson d8e185a4bb Turn off HS client connections by default
As per IRC discussion, re lack of Vanguards.
2023-06-29 19:01:33 +01:00
Ian Jackson ea0fb30b2e arti-client tests: Explicitly enable .onion in most tests
These tests include tests of .onion, which we are disabling by
default.  So we must make some prefs that enable them.
2023-06-29 19:01:30 +01:00
Gabriela Moldovan 4693359d8b arti-client: Add TODO regarding keystore_dir deserialization. 2023-06-29 18:59:27 +01:00