Commit Graph

6653 Commits

Author SHA1 Message Date
Nick Mathewson 3a93c94f4b RPC: Make Session objects get a GlobalId. 2023-06-05 14:46:51 -04:00
Nick Mathewson 9f51bcb0be RPC: tell the `arti` SOCKS code about an RpcMgr object.
It will use this to find which TorClient to use when opening a
stream.
2023-06-05 14:46:51 -04:00
Nick Mathewson 27a5074635 RPC: Give out and accept GlobalIds for appropriate objects. 2023-06-05 14:46:51 -04:00
Nick Mathewson b7feb034a9 RPC: Let objects declare that they need a GlobalId. 2023-06-05 14:46:51 -04:00
Nick Mathewson 71e98b1a12 RPC: Implement a "global identifier" for non-session-bound IDs
These identifiers are actually only "global" with respect to a given
`RpcMgr`, but they should not be forgeable or reusable across RpcMgr
objects.  We're going to use them so that we have a kind of identifier
for `TorClient`s that we can expose to SOCKS.
2023-06-05 14:46:51 -04:00
Nick Mathewson d6944bf003 rpc: Slightly refactor GenIdx encoding. 2023-06-05 14:45:42 -04:00
Nick Mathewson 545984b095 rpc: Give RpcMgr a registry of connections.
We're going to use this to implement arti#863, which requires that
some RPC objects be globally nameable.
2023-06-05 14:45:42 -04:00
Nick Mathewson 0b2511dd2b rpc: Move Arc::new() to RpcMgr code. 2023-06-05 14:45:42 -04:00
Nick Mathewson 3e239085cd Merge branch 'ctrldoc2' into 'main'
tor-circmgr: send_control_message: Furrher docs changes

See merge request tpo/core/arti!1219
2023-06-05 13:21:42 +00:00
Ian Jackson 660726b2f0 tor-circmgr: send_control_message: Add reference to MR discussion 2023-06-05 13:54:49 +01:00
Ian Jackson bfe575bc64 tor-circmgr: send_control_message: Change a rename proposal
As per
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1218#note_2908119
2023-06-05 13:51:01 +01:00
Ian Jackson 9b36697282 tor-circmgr: send_control_message: Fix reference to circuit 2023-06-05 13:50:51 +01:00
Ian Jackson 89fa00b203 Merge branch 'ctrldoc' into 'main'
tor-circmgr: send_control_message: Clarify some corner cases

See merge request tpo/core/arti!1218
2023-06-05 12:50:47 +00:00
Ian Jackson e35d4e6a46 tor-circmgr: send_control_message: API change proposal
I am hoping we can merge this as a "TODO (Diziet)",  even though I
think it may be controversial.  Ie merging this doesn't represent a
decision to do as I suggest.
2023-06-05 13:19:58 +01:00
Ian Jackson eecbf85b4c tor-circmgr: Propose to rename `MetaCellDisposition::UninstallHandler` 2023-06-05 13:19:58 +01:00
Ian Jackson a9ff778ba5 tor-circmgr: send_control_message: Clarify some corner cases
Also, no longer talk about handlers being "installed".  That's not
something that's exposed by this API.

And, say that `send_control_message` can be called again only
after *`send_control_message`* returns, not when `handle_msg` has
returned `UinstallHandler`.  IMO this makes more sense.

Explain that we can't maintain a continuous watch while holding a
conversation with the peer.  (This is surely an API bug.)
2023-06-05 13:19:58 +01:00
Ian Jackson 84e0ef2531 Merge branch 'cargo-audit-ignore' into 'main'
maint/cargo-audit: Ignore RUSTSEC-2023-0040 (the users crate is unmaintained)

See merge request tpo/core/arti!1217
2023-06-05 11:26:02 +00:00
Gabriela Moldovan 54120b37bd
maint/cargo-audit: Ignore RUSTSEC-2023-0040 (the users crate is unmaintained)
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-06-05 11:52:06 +01:00
Nick Mathewson 469f62a983 Remove semver.md files from 1.1.5 2023-06-01 14:08:24 -04:00
Ian Jackson 254d4c93a7 Merge branch 'bump-versions-v115' into 'main'
Bump crate versions in preparation for v1.1.5 release.

See merge request tpo/core/arti!1211
2023-06-01 17:32:41 +00:00
Nick Mathewson f2b08444c6 Merge branch 'one_more_cl_msg' into 'main'
changelog: mention fallback list update.

See merge request tpo/core/arti!1212
2023-06-01 14:54:12 +00:00
Nick Mathewson 03ec7bc80e changelog: mention fallback list update. 2023-06-01 10:11:28 -04:00
Nick Mathewson ee75b37033 Merge branch 'fallbackdir-2023-06-01' into 'main'
fallbackdir: Update list generated on June 01, 2023

See merge request tpo/core/arti!1210
2023-06-01 14:06:50 +00:00
Nick Mathewson daf5ecc153 Bump crate versions in preparation for v1.1.5 release.
Generated with the following commands:

```
cargo set-version --bump minor -p tor-cell
cargo set-version --bump minor -p tor-linkspec
cargo set-version --bump minor -p tor-proto
cargo set-version --bump minor -p tor-netdoc
cargo set-version --bump minor -p tor-circmgr

cargo set-version --bump patch -p tor-cert
cargo set-version --bump patch -p tor-basic-utils
cargo set-version --bump patch -p tor-rpcbase
cargo set-version --bump patch -p tor-llcrypto
cargo set-version --bump patch -p tor-hscrypto
cargo set-version --bump patch -p tor-checkable
cargo set-version --bump patch -p tor-async-utils
cargo set-version --bump patch -p caret
cargo set-version --bump patch -p fs-mistrust
cargo set-version --bump patch -p safelog
cargo set-version --bump patch -p retry-error
cargo set-version --bump patch -p tor-error
cargo set-version --bump patch -p tor-config
cargo set-version --bump patch -p tor-events
cargo set-version --bump patch -p tor-units
cargo set-version --bump patch -p tor-rtcompat
cargo set-version --bump patch -p tor-rtmock
cargo set-version --bump patch -p tor-protover
cargo set-version --bump patch -p tor-bytes
cargo set-version --bump patch -p tor-socksproto
cargo set-version --bump patch -p tor-consdiff
cargo set-version --bump patch -p tor-netdir
cargo set-version --bump patch -p tor-congestion
cargo set-version --bump patch -p tor-persist
cargo set-version --bump patch -p tor-chanmgr
cargo set-version --bump patch -p tor-ptmgr
cargo set-version --bump patch -p tor-guardmgr
cargo set-version --bump patch -p tor-dirclient
cargo set-version --bump patch -p tor-dirmgr
cargo set-version --bump patch -p tor-hsclient
cargo set-version --bump patch -p tor-hsservice
cargo set-version --bump patch -p arti-client
cargo set-version --bump patch -p arti-rpcserver
cargo set-version --bump patch -p arti-config
cargo set-version --bump patch -p arti-hyper
cargo set-version --bump patch -p arti
cargo set-version --bump patch -p arti-bench
cargo set-version --bump patch -p arti-testing
```
2023-06-01 10:03:05 -04:00
Tor CI Release 3aef515135 fallbackdir: Update list generated on June 01, 2023
Signed-off-by: Tor CI Release <no-email@torproject.org>
2023-06-01 09:41:28 -04:00
Nick Mathewson 6c8ac2dec8 Merge branch 'cl-more' into 'main'
changelog: add links for 1.1.5 changelog

See merge request tpo/core/arti!1209
2023-06-01 12:29:35 +00:00
Nick Mathewson 4875232b82 changelog: Minor cleanups 2023-06-01 07:56:27 -04:00
Nick Mathewson 865902e989 changelog: add links for 1.1.5 changelog 2023-06-01 07:40:30 -04:00
Alexander Færøy ef4c20ed01 Merge branch 'changelog' into 'main'
Draft a changelog for 1.1.5

See merge request tpo/core/arti!1207
2023-05-31 19:41:02 +00:00
gabi-250 b5c0366043 Merge branch 'semver_checks_script' into 'main'
New script to run cargo-semver-checks with appropriate options.

See merge request tpo/core/arti!1206
2023-05-31 17:49:08 +00:00
Nick Mathewson af2c3f28fe Draft a changelog for 1.1.5 2023-05-31 12:47:40 -04:00
Nick Mathewson 1f4cd3f389 New script to run cargo-semver-checks with appropriate options.
The options are rather complicated; because we do not want to
subject our experimental features to semver, we need to run generate
JSON rustdoc on our own and then pass that JSON to
cargo-semver-checks.  This in turn requires us to use the same
options that cargo-semver-checks uses, including "RUSTC_BOOTSTRAP".

I've left some TODOs here in places where we will likely want to
improve our code in the future.

See #711.
2023-05-31 10:04:29 -04:00
Nick Mathewson 4b8b137880 Merge branch 'fixup-features' into 'main'
Run fixup-features script and resolve its complaints.

See merge request tpo/core/arti!1205
2023-05-31 12:48:12 +00:00
Nick Mathewson 8d32e1f65f Run fixup-features script and resolve its complaints. 2023-05-31 08:04:10 -04:00
Nick Mathewson 079e19b725 Merge branch 'pre-release-updates' into 'main'
Run "cargo update" in preparation for Thursday release.

See merge request tpo/core/arti!1204
2023-05-30 15:31:15 +00:00
Nick Mathewson 65be721f46 Run "cargo update" in preparation for Thursday release. 2023-05-30 10:37:24 -04:00
Nick Mathewson 6703f3d52a Merge branch 'stream_ctrl' into 'main'
Experimental new stream-ctrl feature

Closes #847

See merge request tpo/core/arti!1198
2023-05-24 20:01:40 +00:00
Nick Mathewson e4758a754e Add "TODO RPC" notes around DataStreamCtrl per review. 2023-05-24 15:25:33 -04:00
Nick Mathewson a397ca77d9 proto: Add stream-status functionality to DataStreamCtrl.
There are some weaknesses and problems here; see TODO notes.
2023-05-24 15:25:33 -04:00
Ian Jackson 14b7fae113 Merge branch 'virtual_conditional' into 'main'
proto: Make PathEntry::Virtual feature-conditional.

See merge request tpo/core/arti!1201
2023-05-24 14:57:24 +00:00
Nick Mathewson 3d4b9aa1b7 Merge branch 'rpc-auth-and-meta' into 'main'
rpc: authentication and basic handle manipulation

See merge request tpo/core/arti!1200
2023-05-24 14:53:29 +00:00
Nick Mathewson 7178ab85eb Merge branch 'real_generational_arena' into 'main'
rpc: Use the real generational-arena crate

See merge request tpo/core/arti!1203
2023-05-24 14:50:20 +00:00
Nick Mathewson 936387efee rpc: Remove downgrade_owned for now
Rationale: Our weak-vs-strong design is a bit confused at the moment
due to concerns about deduplication and  capability semantics.  It's
not clear that a general "change strong to weak" method is
compatible with what we want to provide.
2023-05-24 10:15:56 -04:00
Nick Mathewson 4a9c6fba7d rpc: Disable auth:get_rpc_protocol for now. 2023-05-24 10:15:56 -04:00
Nick Mathewson 9713e8d305 rpc: Implement functionality to remove objects from a session
I've made doing some design choices here:
  * Reserving "rpc" as a prefix for post-authentication
    functionality that is not arti-specific.
  * Declaring these to be methods on the session rather than methods
    on the objects themselves.

There's a problem with defining an API to drop a weak reference; see
comment in code.
2023-05-24 10:15:56 -04:00
Nick Mathewson 15a8644bf7 rpc: fix documentation for methods in Context. 2023-05-24 10:15:56 -04:00
Nick Mathewson a939b19479 rpc: update rpc-meta-draft with new behavior. 2023-05-24 10:15:56 -04:00
Nick Mathewson fef8342be3 rpc: Make the top-level returned object a "session".
This will make it easier to change the semantics of what exactly we
return, whether it has to be/contain a client, whether you can use
it to look up all the live objects, &etc.
2023-05-24 10:15:56 -04:00
Ian Jackson 642dc10907 Merge branch 'cookie_in_est_intro' into 'main'
cell: Make EstablishRendezvous contain a RendCookie.

See merge request tpo/core/arti!1202
2023-05-24 13:09:13 +00:00
Nick Mathewson 45b4845f3a rpc: Remove fake_generational_arena
Now that generation-arena has merged [@diziet's patch] to clarify
their license, we no longer need to disable it.

[@diziet's patch]: https://github.com/fitzgen/generational-arena/pull/56
2023-05-23 13:58:08 -04:00