Commit Graph

7501 Commits

Author SHA1 Message Date
Ian Jackson 4f446d59e3 Merge branch 'changelog2' into 'main'
More changelog entries for 1.next

See merge request tpo/core/arti!1349
2023-06-29 18:57:05 +00:00
Ian Jackson bd7b64259c Merge branch 'how' into 'main'
Some README/CHANGELOG updates

Closes #929

See merge request tpo/core/arti!1348
2023-06-29 18:55:10 +00: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
Nick Mathewson b0294c171b Merge branch 'semver-checks-cleanup' into 'main'
Replace our old complex semver-checks script.

See merge request tpo/core/arti!1339
2023-06-29 18:33:17 +00: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 ff71b843b8 README: document how to test .onion connections
Not giving Tor Browser instructions just yet because of the security
caveat.
2023-06-29 19:03:29 +01:00
Ian Jackson aa55fd8c13 arti-client: StreamPrefs: Add security note 2023-06-29 19:01:33 +01:00
Ian Jackson eb70b24c7d README: explain how to turn on HS client support 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
Gabriela Moldovan 434a8b3f0d arti cfg tests: Add declare_exceptions for storage.keystore_dir.
This moves `storage.keystore_dir` to a separate `declare_exceptions`
block and explains why we have this exception.
2023-06-29 18:59:27 +01:00
Gabriela Moldovan 65f85b813c tor-config: Remove semver.md
The APIs mentioned in semver.md are all `experimental` now so we don't
really need the file anymore.
2023-06-29 18:59:27 +01:00
Gabriela Moldovan 26eefdc564 tor-config: Make ItemOrBool an experimental feature. 2023-06-29 18:59:27 +01:00
Gabriela Moldovan 373fd6acd2 example-config: Temporarily remove keystore_dir example.
Let's remove this until we figure out how the config should behave when
the `keymgr` feature is disabled (should it accept or reject
`keystore_dir = true`?)
2023-06-29 18:59:27 +01:00
Gabriela Moldovan 0ce5fd8f92 arti-client: Fix clippy lints.
Part of #891
2023-06-29 18:59:27 +01:00
Gabriela Moldovan 0c5c25f470 arti-client: Load keystore dir and permissions from config.
Part of #891
2023-06-29 18:59:27 +01:00
Gabriela Moldovan c93fac997e arti-client: Add expand_keystore_dir function.
Part of #891
2023-06-29 18:59:27 +01:00
Gabriela Moldovan 67db6e3127 arti-client: Add keystore_dir to StorageConfig. 2023-06-29 18:59:27 +01:00
Gabriela Moldovan 450fa5c474 config: Add ItemOrBool helper for deserializing a bool or a value.
This will enable us to support the new `keystore_dir` field, which can
be either a boolean indicating whether the keystore is disabled or
enabled and initialized with the default keystore dir, or a string which
points to a custom keystore directory (and implies the keystore is
enabled):
```
# use this path, fail if compiled out
# keystore = "/path/to/arti/keystore"
#
# use default path, fail if compiled out
# keystore = true
#
# disable
# keystore = false
```

Part of #891
2023-06-29 18:59:27 +01:00
Nick Mathewson 213eb4f01f changelog: Tweak onion-client warning 2023-06-29 13:27:19 -04:00
Ian Jackson 97a85719ba CHANGELOG: Expand on .onion support, say it's 1.1.6
Ideally README.md would be a link but I@m not sure of the proper link
target.
2023-06-29 13:25:15 -04:00
Nick Mathewson e98f79617a Replace our old complex semver-checks script.
Now with cargo semver-checks >= 0.22.1, we no longer need to
jump through hoops in order to only look at the `full` features.
This, combined with our work on `fixup-features`, lets us be
confident that we're only looking at semver breakage in experimental
code.
2023-06-29 13:22:25 -04:00
Ian Jackson c90f9308c5 Merge branch 'timeouts' into 'main'
tor-hsclient: Use estimated timeouts

See merge request tpo/core/arti!1342
2023-06-29 17:19:53 +00:00
Nick Mathewson be0c5151e1 More changelog entries for 1.next 2023-06-29 13:19:53 -04:00
Ian Jackson 729bff6ff9 Merge branch 'maxintro3' into 'main'
tor-netdoc: Handle anomalous numbers of introduction points

See merge request tpo/core/arti!1332
2023-06-29 17:09:46 +00:00
Nick Mathewson d164a9dac2 Mark all {hs,onion-serivce}-client features as non-experimental. 2023-06-29 13:09:37 -04:00
Ian Jackson f5532eafe7 tor-keymgr: Replace whole-crate-is-unstable warning
arti-client is going to use this so it can't be whole-crate-unstable,
but it can be rapidly-changing.
2023-06-29 17:47:54 +01:00
gabi-250 d960e7c15f Merge branch 'keymgr-docs' into 'main'
keymgr: Fix keymgr docs

See merge request tpo/core/arti!1343
2023-06-29 16:45:07 +00:00