Gabriela Moldovan
099b2315b0
netdoc: Rename `ParseError{Kind, Source}` to `NetdocError{Kind, Source}`.
...
`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 <gabi@torproject.org>
2023-05-10 15:52:28 +01:00
Nick Mathewson
6584bbc424
Merge branch 'upgrade-bumpalo' into 'main'
...
bump to latest version of bumpalo to appease cargo_audit.
See merge request tpo/core/arti!1175
2023-05-09 19:34:52 +00:00
Nick Mathewson
66aff12f19
bump to latest version of bumpalo to appease cargo_audit.
2023-05-09 15:08:58 -04:00
Alexander Færøy
24051b1d1a
Merge branch 'ticket_839' into 'main'
...
Downgrade and clarify message about dir replacment time.
Closes #839
See merge request tpo/core/arti!1171
2023-05-09 13:14:11 +00:00
Alexander Færøy
867663f2e5
Merge branch 'print-stati-feature' into 'main'
...
print both static sqlite/tls when 'static' feature is used
See merge request tpo/core/arti!1169
2023-05-09 13:12:51 +00:00
Nick Mathewson
e6aa947c45
Downgrade and clarify message about dir replacment time.
...
Closes #839
2023-05-08 14:01:19 -04:00
Nick Mathewson
52de1ab27e
Merge branch 'update-deps' into 'main'
...
Update deps
Closes #844 and #841
See merge request tpo/core/arti!1170
2023-05-08 16:45:56 +00:00
trinity-1686a
6d25a81a01
allow rustls-webpki license
2023-05-08 18:22:43 +02:00
trinity-1686a
fe68f0a119
fix a couple clippy lints
2023-05-08 18:01:28 +02:00
trinity-1686a
a8fd2d390e
update rustls to 0.21
2023-05-08 18:01:00 +02:00
trinity-1686a
7d50a34a3a
update rsa to 0.9.x
2023-05-08 17:24:23 +02:00
trinity-1686a
f390440bbf
print both static sqlite/tls when 'static' feature is used
2023-05-08 16:59:35 +02:00
gabi-250
3725939aba
Merge branch 'shuffle-hsdirs' into 'main'
...
tor-netdir: Shuffle the list of HS dirs used for downloading descriptors.
See merge request tpo/core/arti!1155
2023-05-04 17:20:20 +00:00
Gabriela Moldovan
6b9e37e07c
tor-netdir: Shuffle the list of HS dirs used for downloading descriptors.
...
We'll probably need the hsdir list to be shuffled deterministically for
testing purposes (this might be desirable, for example, when we write a
test for HS descriptor download retries).
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-04 17:53:58 +01:00
Nick Mathewson
64b4744166
Merge branch 'rpc_mgr' into 'main'
...
Refactor RPC once more; institute capabilities-style authentication; expose a Client.
Closes #820
See merge request tpo/core/arti!1160
2023-05-04 14:58:45 +00:00
Nick Mathewson
da185223c0
objmap: move types to top of file.
2023-05-04 10:37:27 -04:00
Nick Mathewson
7918904b99
Note/clean more TODOs in objmap.
2023-05-04 10:37:27 -04:00
Nick Mathewson
6fb5d08103
RPC: Make the "client" return optional.
2023-05-04 10:37:27 -04:00
Nick Mathewson
0e3fa38c03
RPC: Make "Weak" and "Strong" entries separate.
...
Now there can be one of each, since we want references and handles
to be conceptually separate.
(The alternative would be to say that an operation either "returns a
handle" or "returns a reference (which may become a handle) unless a
handle already exists.")
2023-05-04 10:37:27 -04:00
Nick Mathewson
7f59d7dae5
Temporarily replace generational-arena with a fake version.
...
This fake version is completely silly, but it will do the job until
we figure out our MPL2 concerns.
2023-05-04 10:37:27 -04:00
Nick Mathewson
54dabdbd0c
RPC: make arti-rpcserver require the arti-client/rpc feature
2023-05-04 10:37:25 -04:00
Nick Mathewson
6cfc387f14
check-licenses: Permit MPL-2.0
...
The generational-arena crate is distributed under MPL-2.0,
so we need to allow it.
I believe that this license is fine and does not interfere with
our code or our users; the reviewer should double-check.
2023-05-04 10:35:05 -04:00
Nick Mathewson
b807e834a3
RPC: Rename session.rs to connection.rs
2023-05-04 10:35:05 -04:00
Nick Mathewson
7845f04908
RPC: rename Session to Connection.
...
To me, "Session" suggests that we're authenticated, when we are
not necessarily authenticated. Also, we may eventually want to have
some kind of persistent session object; if we do, then we'll want
Connections to be separate.
2023-05-04 10:35:05 -04:00
Nick Mathewson
94df123932
RPC: Make authentication return a TorClient.
...
(This is the correct capabilities-based behavior. For now it will only
work if the TorClient uses a PreferredRuntime, but with luck we will
find a solution for #837 soon.)
2023-05-04 10:35:05 -04:00
Nick Mathewson
475da9b802
Add a generational arena for object mapping for RPC.
...
See the comments on `TypedAddr` for some explanations about
why this is so tricky. Thanks to @diziet for helping me figure
this out.
2023-05-04 10:35:05 -04:00
Nick Mathewson
9be9ddb902
RPC: Add "register" methods to RequestContext.
2023-05-04 10:35:05 -04:00
Nick Mathewson
d7ab388faf
RPC: Start on plumbing TorClient into our RPC code
...
Because of #837 , we won't be able to work with _every_ TorClient<R>,
so I'm only going to be using TorClient<PreferredRuntime> for now.
2023-05-04 10:35:03 -04:00
Nick Mathewson
879a453212
RPC: Move the "listen" part of the RPC listener code to `arti`.
...
Now there's a module in `arti` that runs the loop for an RPC
listener. The part of the old `listener` module that made
the framed connections is now part of the `Session` object.
There is now yet another a temporary location for the pipe; we
should pick something better. At least now it's configurable.
2023-05-04 10:30:40 -04:00
Nick Mathewson
25398b5a3b
rpc: Make an RpcMgr type to own the DispatchTable.
...
In the future, this will probably hold more data as well, like a
TorClient and some configuration info.
The TorClient will present an issue; I've made comments about that.
Closes #820
2023-05-04 10:22:27 -04:00
gabi-250
287a619d99
Merge branch 'connect-parse-hsdesc' into 'main'
...
hs-client: Use a real HsDesc instead of an unparsed string.
See merge request tpo/core/arti!1153
2023-05-03 16:52:27 +00:00
Gabriela Moldovan
f6456d469d
tor-error: Add a TODO regarding HS desc parsing errors.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-03 17:25:36 +01:00
Gabriela Moldovan
b168fd36de
hscrypto: Add comment about impl that will be removed after we address #798 .
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-03 17:25:32 +01:00
Gabriela Moldovan
c2cb96a623
Clarify what the new ErrorKinds mean.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-03 17:25:29 +01:00
Gabriela Moldovan
30983c764f
tor-netdir: Update tests to parse the descriptor, make test consensus lifetime configurable.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-03 17:25:25 +01:00
Gabriela Moldovan
c6fccbbb01
hsclient: Use a real HsDesc instead of an unparsed string.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-03 17:25:21 +01:00
Gabriela Moldovan
18cb1671c4
hscrypto: Add From impl for deriving KP_hsc_desc_enc out of KS_hsc_desc_enc.
...
The `HsClientSecretKeys` stored in the HS client connection context only
have the secret keys. Certain APIs (such as `HsDesc::parse`) expect a
keypair (both `HsClientDescEncKey` and `HsClientDescEncSecretKey`). This
`From` impl makes it possible to get a `HsClientDescEncKey` out of
`HsClientDescEncSecretKey`.
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-03 17:25:17 +01:00
Nick Mathewson
02a0afbae4
Merge branch 'more_dir_logging' into 'main'
...
Lots more dirmgr log messages
Closes #803
See merge request tpo/core/arti!1163
2023-05-03 15:39:13 +00:00
Nick Mathewson
e845a553f3
Upgrade tracing to 0.1.36.
...
This is the first version to impl Value for String.
With luck, this will get minimal_versions CI passing.
2023-05-03 11:09:21 -04:00
Nick Mathewson
a7612ecdf8
DirMgr: More logs in top-level bootstrapping code.
...
Closes #803 , I hope.
2023-05-03 11:08:19 -04:00
Nick Mathewson
8151fa504f
DirMgr: more trace!() logs and information in download/load functions.
...
My goal here is to make sure that we can't confuse
one download operation and another, and that we actually know
what's going on. Previously, not all state transitions or
attempts to fetch information actually corresponded to a log.
2023-05-03 11:08:19 -04:00
Nick Mathewson
b2486bba1e
DirMgr: Log at trace! when starting a new "AttemptId".
2023-05-03 11:08:19 -04:00
gabi-250
2c2d9e9425
Merge branch 'hsdesc-parse-decrypt-validate' into 'main'
...
netdoc: Add a convenience method for HS descriptor parsing.
Closes #809
See merge request tpo/core/arti!1152
2023-05-03 14:34:42 +00:00
Nick Mathewson
ca74fb448b
Merge branch 'api-sketch' into 'main'
...
Add a sketch for our FFI/RPC architecture
See merge request tpo/core/arti!1005
2023-05-03 14:05:29 +00:00
Nick Mathewson
65d935c8c1
Merge branch 'finalize_release' into 'main'
...
Final work for releasing 1.1.4
See merge request tpo/core/arti!1168
2023-05-03 13:01:00 +00:00
Nick Mathewson
c65b52e552
Remove semver.md files.
2023-05-03 08:33:20 -04:00
Nick Mathewson
1904cfc8b9
Increment crate versions.
...
Because of the errorkind bumps, we're calling this a breaking change
in everything lower-level than `arti`.
Generated with:
```
cargo set-version -p tor-basic-utils --bump minor
cargo set-version -p tor-async-utils --bump minor
cargo set-version -p caret --bump minor
cargo set-version -p fs-mistrust --bump minor
cargo set-version -p safelog --bump minor
cargo set-version -p retry-error --bump minor
cargo set-version -p tor-error --bump minor
cargo set-version -p tor-config --bump minor
cargo set-version -p tor-events --bump minor
cargo set-version -p tor-units --bump minor
cargo set-version -p tor-rtcompat --bump minor
cargo set-version -p tor-rtmock --bump minor
cargo set-version -p tor-rpcbase --bump minor
cargo set-version -p tor-llcrypto --bump minor
cargo set-version -p tor-protover --bump minor
cargo set-version -p tor-bytes --bump minor
cargo set-version -p tor-hscrypto --bump minor
cargo set-version -p tor-socksproto --bump minor
cargo set-version -p tor-checkable --bump minor
cargo set-version -p tor-cert --bump minor
cargo set-version -p tor-linkspec --bump minor
cargo set-version -p tor-cell --bump minor
cargo set-version -p tor-proto --bump minor
cargo set-version -p tor-netdoc --bump minor
cargo set-version -p tor-consdiff --bump minor
cargo set-version -p tor-netdir --bump minor
cargo set-version -p tor-congestion --bump minor
cargo set-version -p tor-persist --bump minor
cargo set-version -p tor-chanmgr --bump minor
cargo set-version -p tor-ptmgr --bump minor
cargo set-version -p tor-guardmgr --bump minor
cargo set-version -p tor-circmgr --bump minor
cargo set-version -p tor-dirclient --bump minor
cargo set-version -p tor-dirmgr --bump minor
cargo set-version -p tor-hsclient --bump minor
cargo set-version -p tor-hsservice --bump minor
cargo set-version -p arti-client --bump minor
cargo set-version -p arti-rpcserver --bump minor
cargo set-version -p arti-config --bump minor
cargo set-version -p arti-hyper --bump minor
cargo set-version -p arti --bump patch
cargo set-version -p arti-bench --bump patch
cargo set-version -p arti-testing --bump patch
```
2023-05-03 08:31:11 -04:00
Nick Mathewson
15f4199590
Finalize changelog.
2023-05-03 08:25:25 -04:00
Ian Jackson
dc5092601f
Merge branch 'more_links_in_readme' into 'main'
...
Add a couple of links to the top-level README.
See merge request tpo/core/arti!1164
2023-05-03 11:31:02 +00:00
Nick Mathewson
bba754f525
Merge branch 'changelog_20230501' into 'main'
...
Start on a changelog for Wednesday's release of Arti 1.1.4
See merge request tpo/core/arti!1165
2023-05-02 23:56:31 +00:00