Nick Mathewson
157d134a65
Explain better why you would use build_unmanaged_channel
2023-07-13 11:51:12 -04:00
gabi-250
56d96e4253
Resolve numerous typos in `ChanMgr::build_unmanaged_channel` code
2023-07-13 15:47:05 +00:00
Nick Mathewson
6b61eec987
chanmgr: Remove now-unused (and never usable) builder() method.
2023-07-13 09:33:06 -04:00
Nick Mathewson
ed455023c2
chanmgr: Document makeup and timeout behavior of our factories
...
Basically, it's all ChanBuilder at some point, and ChanBuilder
has a timeout.
2023-07-13 09:33:06 -04:00
Nick Mathewson
7a38d68528
chanmgr: Add an experimental build_unmanaged_channel() method.
...
This method will let the user construct a channel that isn't
stored or monitored by the ChanMgr.
2023-07-13 09:31:57 -04:00
gabi-250
42115116e4
Merge branch 'keymgr-integration-test' into 'main'
...
CI: Add client auth integration test.
Closes #954
See merge request tpo/core/arti!1399
2023-07-12 16:35:43 +00:00
Alexander Færøy
89a3d43aa6
Merge branch 'feat' into 'main'
...
"Fix" CI complaints about "Conversation"
See merge request tpo/core/arti!1402
2023-07-12 15:34:45 +00:00
Gabriela Moldovan
c942f02dea
arti-client: Log whether the client auth keys were retrieved.
2023-07-12 16:30:06 +01:00
Saksham Mittal
7933a93d3a
Gate builder() behind experimental-api feature
2023-07-12 20:14:12 +05:30
Ian Jackson
f6d5cae574
tor-circmgr: Add two possibly-needed docsrs annotations
...
I don't know if these are needed because the rules are not documented
afaict. But it seems like probably they ought to be there?
2023-07-12 15:32:26 +01:00
Ian Jackson
1fa692d63d
tor-proto: Conversation: drop two otiose cfg(feature)
...
These fns are in a feature-gated impls on feature-gated structs.
2023-07-12 15:31:30 +01:00
Nick Mathewson
1737832164
Merge branch 'channelfactory' into 'main'
...
Expose channel builder in order to create channels more efficiently in external code
See merge request tpo/core/arti!1374
2023-07-12 13:40:54 +00:00
Gabriela Moldovan
674fc9d7dc
arti-client: Remove outdated TODO.
...
These errors aren't ignored anymore.
2023-07-11 16:49:44 +01:00
Nick Mathewson
bcf574cef5
Merge branch 'explain_952_fix' into 'main'
...
Explain the code for the #952 fix.
See merge request tpo/core/arti!1391
2023-07-11 09:53:09 +00:00
Ian Jackson
3acc2af4f3
Merge branch 'clippy-allow' into 'main'
...
clippy: Allow some of our existing code patterns
See merge request tpo/core/arti!1396
2023-07-11 09:37:42 +00:00
Ian Jackson
24bec4552b
rng docs: Fix two links
2023-07-10 16:08:03 +01:00
Ian Jackson
a0a17e4074
rng ranges: Provide examples (doctests)
2023-07-10 16:08:03 +01:00
Ian Jackson
d1ed505b61
rng ranges: Forbid use of panicky Rng::gen_range
...
Fixes #920
2023-07-10 16:08:03 +01:00
Ian Jackson
b151237a7f
rng ranges: Use gen_range_infallible() for Duration::ZERO..=T
2023-07-10 16:08:03 +01:00
Ian Jackson
09f0ecaa71
rng ranges: Introduce gen_range_infallible
...
There are a number of places where we generate random Durations
in a range which starts at zero.
These call sites currently (i) have to write out Duration::ZERO
or equivalent, and (ii) would have to use gen_range_checked and expect
the result, even though it can be statically proven to be OK.
To make this slightly smoother, provide `GenRangeInfallible` and
`gen_range_infallible`.
2023-07-10 16:07:18 +01:00
Ian Jackson
8ae759ef95
rng ranges: Use gen_range_checked().unwrap() in test case
...
Ideally we would be allowed to use vanilla gen_range() here, but there
doesn't seem to be a way to allow a specific clippy-forbidden method
using #[allow] and we probably don't want to make a blanket allow.
2023-07-10 16:07:18 +01:00
Ian Jackson
332285015f
rng ranges: Use gen_range_checked().expect() in obvious cases (fmt)
2023-07-10 16:07:18 +01:00
Ian Jackson
5e10805ede
rng ranges: Use gen_range_checked().expect() in obvious cases
...
In each of these, it is locally obvious that the range is nonempty.
2023-07-10 16:07:18 +01:00
Ian Jackson
36f998b690
tor-basic-utils: retry: Use and justify gen_range_checked
...
delay_bounds's implementation ensures the postcondition, so the
potential p[anic in next_delay_msec cannot happen.
2023-07-10 16:07:18 +01:00
Ian Jackson
58da20b708
rng ranges: Introduce RngExt and gen_range_checked
...
We will use this in many places instead of gen_range.
2023-07-10 16:07:18 +01:00
gabi-250
1510cf42b7
Merge branch 'keymgr-erased-key' into 'main'
...
keymgr: Use Box<dyn EncodableKey> instead of Box<dyn Any>.
Closes #937
See merge request tpo/core/arti!1398
2023-07-10 15:06:34 +00:00
Gabriela Moldovan
bd4955f9ed
keymgr: Add semver.md.
2023-07-10 15:38:58 +01:00
Gabriela Moldovan
9cde64c2c8
keymgr: Use Box<dyn EncodableKey> instead of Box<dyn Any>.
...
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1337#note_2917701
This will make it harder to accidentally return the wrong value from
`Keystore::get` (the returned value is now at least guaranteed to
implement `EncodableKey`).
Closes #937
2023-07-10 14:41:30 +01:00
Alexander Færøy
6be6352b98
Merge branch 'conversation' into 'main'
...
Overhaul send_control_message
See merge request tpo/core/arti!1367
2023-07-10 13:14:11 +00:00
Alexander Færøy
943c12739d
Merge branch 'recurse' into 'main'
...
tor-hsclient: Mock traits: Work around an async boobytrap
See merge request tpo/core/arti!1365
2023-07-10 13:13:31 +00:00
Ian Jackson
fd2e4979be
clippy: tor-error: Use convert::identity for into_internal!
...
This launders the closure so that clippy's
clippy::redundant_closure_call can't see it.
We can't have a local #[allow] because it would be on an expression,
which isn't allowed on stable.
This avoids having to use more clumsy idioms at call sites.
2023-07-10 13:49:51 +01:00
Ian Jackson
1a8395cd11
tor-llcrypto: Add a missing instance of the standard lint block
...
This fixes a needless_vec lint on nightly.
2023-07-10 13:49:51 +01:00
Ian Jackson
473447a82e
Run maint/add_warning to actually apply new lint allows
2023-07-10 13:49:51 +01:00
Nick Mathewson
9f3619d5c9
Merge branch 'clippy-vec' into 'main'
...
Fix new "useless_vec" warning from clippy +nightly
See merge request tpo/core/arti!1395
2023-07-10 12:07:31 +00:00
Nick Mathewson
c2601ec896
Explain the code for the #952 fix.
...
Let's explain what Trinity did in its fix for #952 , so that we know
why this code is here the next time we find it.
2023-07-10 08:00:08 -04:00
Ian Jackson
501454370f
Fix new "useless_vec" warning from clippy +nightly
...
Explanation at
https://rust-lang.github.io/rust-clippy/master/index.html#/useless_vec
This is the non-tests subset of the same-named commmit in !1388 ,
(recreated by hand by me, and then checked against that commit;
I stole the commit message from Nick's.)
This should be uncontroversial I think.
2023-07-10 12:35:21 +01:00
Nick Mathewson
22f55b7cf8
Remove some needless into_iter() calls.
...
Clippy nightly now detects when you're calling into_iter() and
passing the result into something that accepts an
`impl IntoIterator`.
2023-07-10 12:33:21 +01:00
Nick Mathewson
0b6cc7ba5e
Add exceptions for some cases of diverging_sub_expression
...
See here for documentation on the lint:
https://rust-lang.github.io/rust-clippy/master/index.html#/diverging_sub_expression
The issue here, from what I can tell, is that the lint triggers
whenever you use a diverging expression as a function body within an
2023-07-10 12:33:21 +01:00
Nick Mathewson
7e78224460
Add an exception for clippy::arc_with_non_send_sync.
...
We're doing this deliberately, I believe.
2023-07-10 12:33:21 +01:00
gabi-250
2db3e73434
Merge branch 'da-task' into 'main'
...
RFC: tor-rtmock: Use derive-adhoc for composite runtimes
See merge request tpo/core/arti!1381
2023-07-10 10:53:23 +00:00
Kunal Mehta
7acd7de369
Update documentation regarding the `onion-service-client` feature
...
It is no longer experimental, but still not rated for security-sensitive
usage per <https://blog.torproject.org/arti_116_released/ >.
2023-07-07 22:01:51 -04:00
Nick Mathewson
53c599d50f
Fix warn_report and error_report macros.
...
Originally they didn't check err.kind(), since err.kind() can never
increase their severity. We lost that behavior with !1386 , and we
became dependent on it with arti!1383. Since they both merged at
the same time, CI broke.
This patch restores their original behavior.
2023-07-07 15:46:41 -04:00
Nick Mathewson
ba3876b22a
Merge branch 'feat' into 'main'
...
arti: Build with HS client support by default
Closes #948
See merge request tpo/core/arti!1382
2023-07-07 19:28:05 +00:00
Nick Mathewson
b6b7edad59
Merge branch 'event_report_everywhere' into 'main'
...
Throughout: Use event_report!() macros for reporting Errors.
Closes #949
See merge request tpo/core/arti!1383
2023-07-07 19:27:20 +00:00
trinity-1686a
2d170425c0
be more lenient while parsing inner hs desc
2023-07-07 21:06:05 +02:00
Ian Jackson
778244c3af
Merge branch 'report' into 'main'
...
tor-error: tracing module: Use macro to generate macros
See merge request tpo/core/arti!1386
2023-07-07 18:09:46 +00:00
Ian Jackson
696adc3c94
tor-error: tracing module: Use macro to generate macros
...
This abolishes some quintuplication.
The output is identical except that:
* The syntax display in the rustdoc output for the resulting macros
seems to have somewhat less whitepsace.
* The whimsical error messages in the examples are all identical.
Ah well.
2023-07-07 18:38:24 +01:00
Nick Mathewson
7d1c8dfde0
Merge branch 'inclusive' into 'main'
...
rng ranges: Use inclusive Duration ranges in several places
See merge request tpo/core/arti!1385
2023-07-07 17:07:58 +00:00
Nick Mathewson
25c6fe61e4
Throughout: Use *_report!() macros for reporting Errors.
...
I identified the cases to replace by searching for the string
`.report()`. There are a few that I didn't change:
* A couple of cases that used anyhow::Error,
* One case that reported two Errors.
* Two cases in `tor_hsclient::err` that just did
`error!("Bug: {}")`.
I have also not audited the cases in `tor-hsclient` where we're using
`tor_error::Report` manually.
Nonetheless, closes #949 .
2023-07-07 13:00:21 -04:00
Ian Jackson
220900a852
tor-error: tracing module: Fix link to tracing macro
2023-07-07 17:48:05 +01:00