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
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
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
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
Ian Jackson
6addbd056b
tor-keymgr features: Document that "keymgr" is experimental
2023-06-29 17:44:51 +01:00
Ian Jackson
eb12a6e665
tor-keymgr features: Make "keymgr" disabled by default
2023-06-29 17:43:25 +01:00
Ian Jackson
9f3ec25a08
tor-hsclient: Add some notes about timeouts and hops
2023-06-29 17:41:49 +01:00
Ian Jackson
a604989ba7
tor-hsclient: Use estimated timeouts for introduction and rendezvous (fmt)
2023-06-29 17:41:49 +01:00
Ian Jackson
202104d05c
tor-hsclient: Use estimated timeouts for introduction and rendezvous
...
Replacing RPT_IPT_TIMEOUT is not entirely straightforward.
2023-06-29 17:41:49 +01:00
Ian Jackson
d48215a961
tor-hsclient: Use estimated timeout for hsdir fetches (fmt)
2023-06-29 17:41:49 +01:00
Ian Jackson
2563256f42
tor-hsclient: Use estimated timeout for hsdir fetches
2023-06-29 17:41:49 +01:00
Ian Jackson
a84460426f
tor-hsclient: Provide bodge constant for circuit length
2023-06-29 17:41:49 +01:00
Ian Jackson
fe2935d7c5
tor-hsclient: Plumb timeout estimation machinery
2023-06-29 17:41:49 +01:00
Ian Jackson
a7d1efe2ce
tor-circmgr: Provide estimate_timeout as a method on HsCircPool
2023-06-29 17:41:49 +01:00
Nick Mathewson
b9530d0762
Merge branch 'netdir_by_rsa_experimental_apis' into 'main'
...
netdir: Conditionally expose APIs for working with unusable relays; document what "usable" means.
See merge request tpo/core/arti!1325
2023-06-29 16:08:51 +00:00
Gabriela Moldovan
429e5d2512
keymgr: Fix dummy keymgr doc links.
...
`Error` is private to `dummy.rs` so let's not mention it in the docs of
the public items.
2023-06-29 17:08:14 +01:00
Gabriela Moldovan
7bdc28014e
keymgr: Add missing dummy implementation for KeyType::arti_extension.
...
This fixes a rustdoc warning when building with:
```
cargo doc --locked --offline -p arti --no-default-features --features=full,onion-service-client
```
2023-06-29 17:08:14 +01:00
Ian Jackson
8133f8e456
Merge branch 'debug' into 'main'
...
tor-hsclient: Reimplement Debug for MockCirc
See merge request tpo/core/arti!1324
2023-06-29 15:46:25 +00:00
Ian Jackson
2b2ecfbb39
tor-hsclient: Reimplement Debug for MockCirc
...
This is less code. Also it now dumps the connect_called field which
was introduced in the meantime.
2023-06-29 16:11:03 +01:00
Ian Jackson
799480d885
Merge branch 'circparams' into 'main'
...
tor-hsclient: Use proper CircParameters
Closes #935
See merge request tpo/core/arti!1340
2023-06-29 15:03:40 +00:00
Gabriela Moldovan
4941a88494
keymgr: Fix wrong_key_type test.
...
The string representation of `SshKeyAlgorithm` on `main` changed between
the time the tests were introduced and the time they were merged.
2023-06-29 15:21:27 +01:00
Nick Mathewson
930ecc9eda
Merge branch 'handshake-error' into 'main'
...
tor-hsclient: Handle handshake completion error correctly
See merge request tpo/core/arti!1336
2023-06-29 13:44:48 +00:00
Ian Jackson
5c85ba5cf8
tor-hsclient: Use proper CircParameters
...
Fixes #935
2023-06-29 14:24:24 +01:00
Ian Jackson
f73c06314c
tor-circmgr: Expose CircParameters from NetParameters construction
...
As per #935 .
I called this "circparameters_from_netparameters" not
"circparameters_from_netparams" because the type is "NetParameters"
not "NetParams".
2023-06-29 14:24:19 +01:00
Ian Jackson
355b40bf84
tor-hsclient: err: Mention RENDEZVOUS2 in actual messages (fmt)
2023-06-29 14:05:25 +01:00
Ian Jackson
855898ef2f
tor-hsclient: err: Rename to RendezvousCompletionCircuitError
...
Thsi is a bit of a mouthful now, but it is comprehensible.
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1336#note_2917235
2023-06-29 14:04:17 +01:00
Ian Jackson
d055e105fa
tor-hsclient: err: Mention RENDEZVOUS2 in actual messages
2023-06-29 14:02:50 +01:00
gabi-250
9407fe1ab5
Merge branch 'keymgr-tests' into 'main'
...
keymgr: Add tests for ArtiNativeKeyStore
See merge request tpo/core/arti!1337
2023-06-29 13:02:07 +00:00
Ian Jackson
b13aa66a16
tor-hsclient: err: Move doc comment to correct impl
...
See
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1336#note_2917236
2023-06-29 13:59:33 +01:00
Ian Jackson
4f8c718c09
tor-hsclient: err: Mention RENDEZVOUS2
2023-06-29 13:57:38 +01:00
Ian Jackson
bfad582d1e
tor-hsclient: err: Reword comments about error
2023-06-29 13:56:12 +01:00
Nick Mathewson
9790f820f7
netdir: add crosslinks to our definition of "usable".
2023-06-29 08:53:59 -04:00
Nick Mathewson
a902f320b5
netdir: document what we mean by a "usable" relay.
2023-06-29 08:53:59 -04:00
Nick Mathewson
7ac362eba7
netdir: Conditionally expose some by_rsa APIs as experimental.
...
Network-health wants these to see whether a given relay is listed in
the consensus.
cc @juga
2023-06-29 08:53:59 -04:00
Nick Mathewson
83552b559f
Merge branch 'netdir_todos' into 'main'
...
Resolve or defer most TODO HS items in tor-netdir.
See merge request tpo/core/arti!1310
2023-06-29 12:48:32 +00:00
Nick Mathewson
9c853e5b54
Merge branch 'badonion_error_2' into 'main'
...
arti_client: Move BadOnion from TorAddrError to ErrorDetail.
Closes #932
See merge request tpo/core/arti!1331
2023-06-29 12:48:04 +00:00
Nick Mathewson
76376b2abd
netdir: Remove a TODO HS
...
The function this comment is asking us to write is `circtarget_from_pieces`.
2023-06-29 08:19:37 -04:00
Nick Mathewson
c565a67689
Downgrade TODO HS on HsDirParams::compute().expect()
...
(Adding comments explaining that these errors are really
unlikely to occur, unless there is a bug in our code or in Rust's
time handling.)
2023-06-29 08:19:37 -04:00
Nick Mathewson
768452d9e5
netdir: Defer a TODO HS but add a comment
...
This issue with walking over the ring is an issue we really must
solve on the services timeframe, as is the one about looking only at
the rings for which a blinded ID is germane.
2023-06-29 08:19:37 -04:00
Nick Mathewson
2bdf10db84
netdir: take n_replicas and spread_fetch from consensus parameters
...
This makes them configurable, since we allow the user to override
any consensus parameter.
2023-06-29 08:19:37 -04:00
Nick Mathewson
3db0f74e22
netdir: Downgrade/remove/defer some TODO hs entries.
2023-06-29 08:19:37 -04:00
Nick Mathewson
0c43801598
netdir: remove some now-needless warning suppressions.
2023-06-29 08:19:37 -04:00
Nick Mathewson
f2a6754c88
dirmgr: use voting_period.
2023-06-29 08:19:37 -04:00
Nick Mathewson
a9da1283bc
netdir: remove unnecessary wraps from srv_interval, extract_srvs
2023-06-29 08:19:37 -04:00
Nick Mathewson
4803f6447d
netdir: Move voting_period() to netdoc::Lifetime
...
I was going to add a comment about "doing this if we need the voting
period anywhere else" but it turns out that we also use it in dirmgr.
2023-06-29 08:19:37 -04:00
Nick Mathewson
6c06acc02c
arti_client: Add a warning comment to TorAddrError.
2023-06-29 08:16:51 -04:00
Nick Mathewson
800061e70e
arti_client: Move BadOnion from TorAddrError to ErrorDetail.
...
This variant can never be constructed when parsing a TorAddr, so it
doesn't make sense to have it in TorAddrError: the use can never see
it unless they enable `error_detail`.
Not a semver break because the client feature is not yet stable.
Closes #932 .
2023-06-29 08:16:51 -04:00
gabi-250
b059e02093
Merge branch 'keymgr-x25519-keys' into 'main'
...
keymgr: Add support for x25519 keys.
Closes #900
See merge request tpo/core/arti!1321
2023-06-29 11:46:03 +00:00
Gabriela Moldovan
294bb728cf
keymgr: Add a TODO about implementing and testing has_key_bundle.
2023-06-29 12:10:35 +01:00
Gabriela Moldovan
68c91223f1
keymgr: Add some basic insert and remove tests.
2023-06-29 12:10:35 +01:00
Gabriela Moldovan
4d5f414017
keymgr: Add assert_found! test helper.
2023-06-29 11:54:54 +01:00
Gabriela Moldovan
91573c6cbc
keymgr: Add some key retrieval tests for ArtiNativeKeyStore.
2023-06-29 11:54:54 +01:00
Gabriela Moldovan
fd3b42688d
keymgr: Add a gen_keys param to init_keystore.
...
This will enable future tests to optionally initialize the test key
store with some test keys.
2023-06-29 11:54:54 +01:00
Gabriela Moldovan
bc447524c2
keymgr: Add tests for ArtiNativeKeyStore::key_path.
2023-06-29 11:54:54 +01:00
Gabriela Moldovan
89d52fff3e
keymgr: Derive Debug for ArtiNativeKeyStore.
2023-06-29 11:49:31 +01:00
Gabriela Moldovan
ff02270307
keymgr: Add tests for ssh key handling.
...
Part of #895
2023-06-29 11:49:31 +01:00
Gabriela Moldovan
16a7bb4624
keymgr: Return the key, not Box<()>.
...
This fixes a bug which caused the function to always return a
type-erased `()` instead of the actual key!
2023-06-29 11:49:31 +01:00
gabi-250
d999ea07ba
Merge branch 'config-option' into 'main'
...
arti cfg tests: exception declaration improvements
See merge request tpo/core/arti!1330
2023-06-29 10:43:00 +00:00
Nick Mathewson
c1ab36dbec
Merge branch 'cleanup-todos-circmgr' into 'main'
...
Resolve a few "TODO HS" items in circmgr.
See merge request tpo/core/arti!1322
2023-06-28 20:14:24 +00:00
Nick Mathewson
48f7fbbc96
Merge branch 'lifecycle_doc_tweaks' into 'main'
...
Documentation, mostly on channel and circuit lifecycles
See merge request tpo/core/arti!1318
2023-06-28 20:06:58 +00:00
Nick Mathewson
02878518b8
circmgr: Refactor duplicate logic.
...
These two functions are only slightly different, and benefit from
taking a Fn.
2023-06-28 15:28:52 -04:00
Nick Mathewson
6affb50c1a
circmgr: Remove a "TODO HS" about path restrictions.
...
I looked through the C tor source code and couldn't find any
additional path restrictions.
2023-06-28 15:28:52 -04:00
Nick Mathewson
d32ba9ed18
circmgr: Defer two "TODO HS" in hspool
...
One of these is test-related; one is vanguards-related.
2023-06-28 15:28:52 -04:00
Nick Mathewson
4ad1a5c6ac
ChanMgr: Tweak documentation a bit.
...
Adjust formatting, add more references to lower-level APIs, and
clarify lifetimes a little more.
2023-06-28 15:26:22 -04:00
Nick Mathewson
2944d4f91f
proto: ClientCirc: remove now-obsolete note on Clone-ness
2023-06-28 15:26:22 -04:00
Nick Mathewson
644c51173a
proto: document ClientCirc lifecycle better.
2023-06-28 15:26:22 -04:00
Nick Mathewson
e8e95ec03b
proto: document channel lifecycle better.
2023-06-28 15:26:22 -04:00
Nick Mathewson
4003e032d6
Remove spurious todo-hs items in tor-cert.
...
I am not sure why we wrote these comments, but they are incorrect:
I've investigated the C code and found only 3 key types. The
"unimplemented" types that the TODO comment here complains about are
in fact certificate types.
2023-06-28 15:18:13 -04:00
Ian Jackson
47b577d7a0
tor-netdoc: Placate clippy (fmt)
2023-06-28 18:57:06 +01:00
Ian Jackson
56813d9650
tor-netdoc: Placate clippy
2023-06-28 18:56:49 +01:00
Alexander Færøy
f136e8ac41
Merge branch 'more-keymgr-todos' into 'main'
...
keymgr: Downgrade "TODO hs" to "TODO HSS".
See merge request tpo/core/arti!1334
2023-06-28 17:30:43 +00:00
Ian Jackson
8f1a71850c
tor-hsclient: Handle handshake completion error correctly
2023-06-28 17:14:45 +01:00
Ian Jackson
9216f628f1
tor-hsclient: Rename RendezvousCompletionCircuit from RendezvousCompletion
...
We need to handle errors during the handshake. That also produces a
`tor_proto::Error` but we want to print a different message for that,
so let's rename this before adding the new variant.
2023-06-28 17:14:26 +01:00
Ian Jackson
4eb3e3b6ec
tor-hsclient: Move handling of Bug to new section
...
It was wrong where ti was.
2023-06-28 17:14:26 +01:00
Ian Jackson
18478b47a7
tor-hsclient: Make RendPtIdentityForError use RelayIds
...
Since arti!1233 this is trivial.
2023-06-28 16:49:49 +01:00
Ian Jackson
4d071d1c07
tor-hsclient: Use RendPtIdentityForError in more places
...
For some reason this wasn't used in the actual errors,
although it *was* used in the types of the functions etc.
2023-06-28 16:47:55 +01:00
Gabriela Moldovan
609e6ce7c7
keymgr: Downgrade "TODO hs" to "TODO HSS".
...
These TODOs can be deferred for now: we're not declaring the keymgr APIs
stable until we add support for hidden services.
2023-06-28 16:44:06 +01:00
Ian Jackson
8908d39872
tor-netdoc: Test hsdescs inners with a variety of IPT counts (fmt)
2023-06-28 16:29:05 +01:00
Ian Jackson
de63a6092d
tor-netdoc: Test hsdescs inners with a variety of IPT counts
2023-06-28 16:28:19 +01:00
Ian Jackson
cf4adad96e
tor-netdoc: hsdesc: Disregard intro points after the MAX'th
2023-06-28 16:28:11 +01:00
Ian Jackson
0e2f804d8f
tor-netdoc: Reject hsdescs with no intro points
...
None of the existing NetdocErrorKinds seemed right.
2023-06-28 16:27:05 +01:00
Ian Jackson
c95595227a
tor-hscrypto: Provide values for NUM_INTRO_POINT
...
These are in the spec and tor-hsclient is about to want them.
2023-06-28 14:49:49 +01:00
Ian Jackson
cbb8eb4fdd
Merge branch 'reuse' into 'main'
...
tor-hsclient: Discuss intro circuit extend-and-reuse
See merge request tpo/core/arti!1298
2023-06-28 13:48:12 +00:00
Alexander Færøy
ea3f93d0e2
Merge branch 'keymgr-todos' into 'main'
...
keymgr: Remove/downgrade a few "TODO hs"
See merge request tpo/core/arti!1328
2023-06-28 13:45:19 +00:00
Ian Jackson
68aacc2140
arti cfg tests: Suppress an undesriable clippy lint
2023-06-28 14:43:48 +01:00
Ian Jackson
464c5e5efa
arti cfg tests: declare_exceptions: Annotate the types for clarity (fmt)
2023-06-28 14:25:55 +01:00
Ian Jackson
5f20b0ec29
arti cfg tests: declare_exceptions: Annotate the types for clarity
2023-06-28 14:25:55 +01:00
Ian Jackson
14b1cc0cc1
arti cfg tests: Point the reader to the types used in declarations
2023-06-28 14:25:55 +01:00
Ian Jackson
2ff494d081
arti cfg tests: Move InCode into declare_config_example
...
It's used for declarations only, and they should all be here.
2023-06-28 14:25:55 +01:00
Ian Jackson
5672b75de2
arti cfg tests: Make declare_exception take distinguished old/new types
...
As per discussion in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1320#note_2916689
and IRC followup.
2023-06-28 14:23:13 +01:00
Ian Jackson
1be71b87d0
Merge branch 'config' into 'main'
...
tor-hsclient: Add configuration settings
See merge request tpo/core/arti!1305
2023-06-28 13:10:39 +00:00
Nick Mathewson
e06cd63ffd
Merge branch 'dirclient-semver-entry' into 'main'
...
Missing semver entry for new dirclient API from !1323
See merge request tpo/core/arti!1327
2023-06-28 12:58:19 +00:00
Ian Jackson
cf5235a713
HS timeout parameters: Restore some TODOs
...
Conceptually this is a fixup to
HS configuration: Add retry parameters to configuration
which erroneously removed these comments - they were intended to apply
to *all* these parameters, not just the max attempts.
Not marking it as fixup! because that would involve merge conflicts.
2023-06-28 13:32:54 +01:00
Ian Jackson
11bb7e8a90
HS configuration: Use configured maximum attempts - comment
...
Explain why this fallback to MAX is good.
Discussion
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1305#note_2915927
2023-06-28 13:32:54 +01:00
Ian Jackson
2bfe12983a
HS configuration: Use configured maximum attempts (fmt)
2023-06-28 13:32:54 +01:00
Ian Jackson
be33f00b31
HS configuration: Use configured maximum attempts
2023-06-28 13:32:54 +01:00
Ian Jackson
a0b6f34e42
HS configuration: Plumb configuration through (fmt)
...
Apply deferred rustfmt churn.
2023-06-28 13:32:54 +01:00
Ian Jackson
3ebc3216e3
HS configuration: Plumb configuration through (clippy)
...
Apply deferred clippy churn.
2023-06-28 13:32:54 +01:00
Ian Jackson
984652217a
HS configuration: Plumb configuration through
...
Invent a trait a la circmgr config for the hs client connector config.
Plumb a suitable value all the way through to the code that will use it.
2023-06-28 13:32:54 +01:00
Ian Jackson
cdad2db082
HS configuration: Add retry parameters to configuration
...
I think these should go in `[circuit_timing]`. That section already
has some retry parameters, so is not strictly *timing*.
This is not honoured yet.
2023-06-28 13:32:54 +01:00
Ian Jackson
cc25c82d4b
HS configuration: Add and honour `allow_onion_addrs` in configuration
...
We put this in `[address_filter]`.
The interaction with the corresponding stream preference is a bit
complicated. We must turn the stream pref into a `BoolOrAuto`.
2023-06-28 13:32:54 +01:00
Nick Mathewson
2bee27a737
Merge branch 'hsdir-identity' into 'main'
...
tor-hsclient: Completely hide hsdir identities in errors
See merge request tpo/core/arti!1326
2023-06-28 12:30:22 +00:00
Gabriela Moldovan
70f468d0f1
keymgr: Downgrade some TODOs to "TODO HSS".
...
These don't need to be blockers for the next release.
2023-06-28 13:11:53 +01:00
Gabriela Moldovan
928a9cd7ca
keymgr: Remove outdated TODOs regarding error handling.
...
These were tackled in #901 .
2023-06-28 13:07:52 +01:00
Nick Mathewson
42e4929226
Missing semver entry for new dirclient API from !1323
2023-06-28 08:06:32 -04:00
Ian Jackson
41737efced
tor-hsclient: Completely hide hsdir identities in errors
2023-06-28 13:02:44 +01:00
gabi-250
63a7b25711
art cfg tests: Fix garbled doc wording
2023-06-28 12:56:09 +01:00
gabi-250
d56f28bc6f
arti cfg tests: Fix doc comment
2023-06-28 12:56:09 +01:00
Ian Jackson
ac38c862ec
arti cfg tests: Overhaul exception handling (fmt)
2023-06-28 12:56:09 +01:00
Ian Jackson
c0c0beb8e1
arti cfg tests: Overhaul exception handling
...
This was super confusing and fragile. Amongst the problems:
* Information about exceptional config keys was spread across a
number of places, manipulated in ad-hoc ways (conditional Vec
appends, etc).
* As a consequence, each exceptional table has confusing and unclear
semantics.
* It doesn't deal well with the way that cargo sometimes enables
features for dependency crates even if arti itself wouldn't demand
them; this can lead to sub-crates supporting config keys when the
tests in arti don't expect them to, causing spurious test failures.
Fix this:
* Introduce a new, systematic, way of writing information about
configuration keys that need some kind of special handling.
* Use this new approach in *both* sets of "thorough" config tests.
* Be more relaxed about deprecated keys. We don't want to tightly
couple this to absence in the supported file, I think.
* Understand more clearly the concept of keys of which we don't know,
in the current build config, whether the code is expected to
accept them.
I have tested this locally with:
for p in '-p arti' '--workspace'; do for f in '--no-default-features --features=tokio,native-tls' '--all-features' ''; do nailing-cargo test $p $f; done; done
2023-06-28 12:56:09 +01:00
Ian Jackson
479ed9d168
arti cfg tests: Remove a comment relating to work already done
...
We *do* have a thing that works like this.
It's fragile and confusing and that's what I'm about to fix.
2023-06-28 12:56:09 +01:00
Ian Jackson
0cde6134d0
arti cfg tests: Code motion
...
Bring the exciting tests together, and move some more normal tests out
of the middle.
2023-06-28 12:56:09 +01:00
Ian Jackson
2656b8fa04
geoip: conditionalise a test
...
Without this, the build fails with
cargo test --workspace --no-default-features --features=tokio,native-tls
2023-06-28 12:56:09 +01:00
Ian Jackson
ebb3455b3e
Conditionalise an import
...
Fixes a warning with
cargo clippy --locked --offline --workspace --all-targets
2023-06-28 12:56:09 +01:00
Ian Jackson
a6aa113865
Mark a builder as non-exhaustive
...
If all the fields vanish, this generates a warning with
cargo clippy --locked --offline --workspace --all-targets
Fix that.
2023-06-28 12:56:09 +01:00
gabi-250
6b8218f960
Merge branch 'keymgr-error-kind' into 'main'
...
keymgr: Implement ErrorKind for keymgr error types
See merge request tpo/core/arti!1315
2023-06-28 11:34:23 +00:00
Alexander Færøy
26c4a274c7
Merge branch 'dirclient-todos' into 'main'
...
Resolve remaining dirclient HS todos
See merge request tpo/core/arti!1323
2023-06-28 11:33:32 +00:00
Gabriela Moldovan
dff8c0163b
keymgr: Implement HasKind for ArtiNativeKeystoreError.
2023-06-28 11:59:00 +01:00
Gabriela Moldovan
6ed8f5b9ea
tor-error: Add KeystoreAccessFailed, KeystoreFsPermissions to ErrorKind.
2023-06-28 11:59:00 +01:00
Gabriela Moldovan
ef1c969c73
keymgr: Implement HasKind for SshKeyError.
2023-06-28 11:59:00 +01:00
Gabriela Moldovan
c8a128cc59
tor-error: Add KeystoreCorrupted to ErrorKind.
2023-06-28 11:59:00 +01:00
Nick Mathewson
f778d32a0e
Merge branch 'ticket_914' into 'main'
...
Remove support for receiving unauthenticated SENDMEs.
Closes #914
See merge request tpo/core/arti!1283
2023-06-28 10:54:05 +00:00
Nick Mathewson
6f3761c24f
dirclient: use correct default max_len
...
Yes, it's 50 kilobytes, not 50 kibibytes. I double-checked this with
the C implementation and with param-spec.txt's documentation for
`HSV3MaxDescriptorSize`.
2023-06-27 16:21:29 -04:00
Nick Mathewson
4692dba5e0
hsclient: Use HsDescDownloadRequest::set_max_len.
2023-06-27 16:21:29 -04:00
Nick Mathewson
32e3cde3fd
dirclient: Correct an erroneous comment.
2023-06-27 16:21:29 -04:00
Nick Mathewson
38db06ee4b
dirclient: Make maximum hsdesc length adjustable.
2023-06-27 16:21:29 -04:00
Nick Mathewson
01ea20759b
dirclient: Explain why hardcoding "3" is ok.
2023-06-27 16:04:49 -04:00
Gabriela Moldovan
e332caf562
keymgr: Remove unneeded error variant.
...
The `Unsupported` variant is no longer needed now that we support
`KeyType::X25519StaticSecret`s.
2023-06-27 20:11:07 +01:00