Ian Jackson
ba4e1b0a1e
rpc: Define term `field`
2023-03-24 18:23:55 +00:00
Ian Jackson
58fcb77825
rpc: Discuss cancellation request obj
2023-03-24 18:23:55 +00:00
Ian Jackson
2e0cad46bb
rpc: Clarify what precisely the responses depend on
...
The format of an update or result depends on the *method* but not the
parameters or the subject.
Declare that the format of an error is uniform. (It could have an
enum in it.)
2023-03-24 18:23:55 +00:00
Ian Jackson
c4b75d9890
rpc: State that we're using I-JSON
2023-03-24 18:23:55 +00:00
Ian Jackson
c64e44516b
rpc: Forbid troublesome numbers as ids
...
This is a bit sad but I think we should have a conservative JSON
profile.
2023-03-24 18:23:55 +00:00
Ian Jackson
e52b9ff9b6
rpc: Be more explicit about ignoring JSON fields
2023-03-24 18:23:55 +00:00
Ian Jackson
657c02c1ce
rpc: Clarify/restate method definition requirements
...
In particular, abolish the notion of a "response type". Since
responses don't come with a discriminant, each method may have only
one success response format (although of course that format might
itself have optional fields or be an enum or something).
2023-03-24 18:23:55 +00:00
Ian Jackson
131446620a
rpc: Use Object for method targets and JSON object for document objects
2023-03-24 18:23:55 +00:00
Ian Jackson
094748cc1a
rpc: Make `params` in a request non-optional
...
*If* it is optional that would depend on the request, which is a bit
complicated to specify precisely. And making it mandatory is more
orthogonal.
2023-03-24 18:23:55 +00:00
Ian Jackson
ad5946fcac
Merge branch 'rpc-meta-draft' into 'main'
...
Start drafting a dev note about a JSON-based OO RPC design.
See merge request tpo/core/arti!1061
2023-03-24 17:57:27 +00:00
Nick Mathewson
102a2ab540
rpc-meta-draft: Sketch an even-lower-level API.
2023-03-24 17:28:19 +00:00
Nick Mathewson
a3de60bd86
rpc-draft: Sketch out more commands to add, start sketching APIs
2023-03-24 17:28:19 +00:00
Nick Mathewson
d67dddcc8d
rpc-meta: clarify when "object" means "JSON object".
2023-03-24 17:28:19 +00:00
Nick Mathewson
67ee3b225f
rpc-meta: expand on handle/reference semantics.
2023-03-24 17:28:19 +00:00
Nick Mathewson
273b565b32
rpc-meta: Use "will" for what Arti does, "must" for what client does.
2023-03-24 17:28:19 +00:00
Nick Mathewson
b06d853e12
rpc-meta: Rename intermediate response to "update".
2023-03-24 17:28:19 +00:00
Nick Mathewson
eee5d847be
rpc-meta-draft: consistently say "request" or "method", not "command".
2023-03-24 17:28:19 +00:00
Nick Mathewson
5f9a28d227
rpc-meta-draft: make a number of localized changes from the review.
2023-03-24 17:28:19 +00:00
Nick Mathewson
906b4bb631
Start drafting a dev note about a JSON-based OO RPC design.
2023-03-24 17:28:19 +00:00
Ian Jackson
d06c809b06
Merge branch 'shellexpand' into 'main'
...
Update to shellexpand 3.1.0 so we can use dirs 5 everywhere
See merge request tpo/core/arti!1076
2023-03-24 13:49:00 +00:00
Ian Jackson
1cdfd4f109
Update to shellexpand 3.1.0 so we can use dirs 5 everywhere
...
Results of precisely
cargo update -p shellexpand
Incorporates changes I have made to shellexpand to allow use of
dirs 4 *or* dirs 5.
2023-03-24 13:18:11 +00:00
Ian Jackson
ba88761520
Merge branch 'openssl_update' into 'main'
...
Update required openssl version
See merge request tpo/core/arti!1077
2023-03-24 12:32:00 +00:00
Nick Mathewson
24ed544d75
Merge branch 'typos' into 'main'
...
Fix typos
See merge request tpo/core/arti!1075
2023-03-24 12:06:00 +00:00
Nick Mathewson
3459d39906
Update required openssl version
...
cargo-audit is complaining about 0.10.45.
2023-03-24 08:02:59 -04:00
Dimitris Apostolou
629fa80674
Fix typos
2023-03-24 09:56:08 +02:00
Alexander Færøy
f923e403f0
Merge branch 'paths' into 'main'
...
Do minimal $ and ~ handling even without expand-paths and fix build
Closes #790
See merge request tpo/core/arti!1069
2023-03-23 17:31:04 +00:00
Alexander Færøy
6fae5cc7e9
Merge branch 'upgrade_dirs' into 'main'
...
Bump to the lastest versions of dirs and directories.
See merge request tpo/core/arti!1072
2023-03-23 16:00:50 +00:00
Ian Jackson
03908427f7
Merge branch 'circuit_accessor' into 'main'
...
Add an experimental circuit accessor to DataStream.
Closes #784
See merge request tpo/core/arti!1073
2023-03-23 14:00:44 +00:00
Nick Mathewson
a7b238483e
Add an experimental circuit accessor to DataStream.
...
Closes #784 .
2023-03-23 09:18:42 -04:00
Ian Jackson
91b7c735c5
Merge branch 'hsplumb' into 'main'
...
Plumb HS client connections through down to tor-hsclient
See merge request tpo/core/arti!1071
2023-03-23 12:24:47 +00:00
Ian Jackson
b6f5c066b4
Apply deferred rustfmt churn
2023-03-23 11:50:18 +00:00
Ian Jackson
9d7983a6ea
arti-client: Include redacted HsId in ObtainHsCircuit error
...
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1071/diffs?commit_id=580fe1118dbbbfa086d11b28e3e26d7c91afe21c#fbd7ab2d6d0a5b515697d4f9f99a42ebd508aa4b_153_165
2023-03-23 11:50:18 +00:00
Ian Jackson
1f2728caab
safelog: impl From<T> for Redacted<T>
...
I think this is uncontroversial; we already have it for Sensitive.
2023-03-23 11:50:18 +00:00
Ian Jackson
58311571d9
arti-client: Fix wording of docs for TorClient::isolation
2023-03-23 11:50:18 +00:00
Nick Mathewson
8a11e0f6ad
arti-client: Strengthen an HS todo
2023-03-23 11:50:18 +00:00
Ian Jackson
b834535347
tor-proto: Feature-conditionalise some enum variants
...
This avoids some dead code warnings when building without send-control-msg.
2023-03-23 11:50:18 +00:00
Ian Jackson
93809cc594
tor-proto: Split off send-control-msg feature
2023-03-23 11:50:18 +00:00
Ian Jackson
14e5219f55
arti: Provide onion-service-client feature
...
Here I use the name I propose in !1039 .
2023-03-23 11:50:18 +00:00
Ian Jackson
cb93d1bee7
arti-client: Call tor-hsclient to create HS connections
...
Obviously this still doesn't work because the actual impl in hsclient
is just a todo!().
2023-03-23 11:50:18 +00:00
Ian Jackson
3d33ad7fdf
arti-client: Create an HsClientConnector
2023-03-23 11:50:18 +00:00
Ian Jackson
a2aa701eb6
arti-client: Move client stream creation out of match, in connect
...
We want this part for HS too.
2023-03-23 11:50:14 +00:00
Ian Jackson
ca73dcfb31
arti-client: Break out TorClient::isolation(prefs)
...
We're going to want to reuse this.
Also: rename StreamPrefs::isolation and update the docs, to better
reflect its rather limited functionality. The new
TorClient::isolation is the only call site.
2023-03-23 11:50:14 +00:00
Ian Jackson
c36177733d
tor-hsclient: Have the public API take StreamIsolation
2023-03-23 11:50:14 +00:00
Ian Jackson
adc180294a
tor-hsclient: impl HasKind for errors
2023-03-23 11:50:14 +00:00
Ian Jackson
2edd71a4f0
tor-hsclient: Swap errors so Bug comes last
...
This seems more consistent with the way it's done elsewhere.
2023-03-23 11:50:14 +00:00
Ian Jackson
a2f4260666
tor-hsclient: Document clone-nature of HsClientConnector
2023-03-23 11:50:14 +00:00
Nick Mathewson
19cdb239bf
Bump to the lastest versions of dirs and directories.
2023-03-22 15:15:42 -04:00
Nick Mathewson
e08b2b7ffd
Merge branch 'build_hs_circuits' into 'main'
...
First cut at a circuit launcher for onion services
Closes #691
See merge request tpo/core/arti!1065
2023-03-22 17:07:54 +00:00
Nick Mathewson
dffaf60e4a
hspool: simplify loop and add a maximum
2023-03-22 12:35:41 -04:00
Nick Mathewson
bd80125d73
hspool: Clarify/document more TODO HS items.
2023-03-22 12:35:41 -04:00