Gabriela Moldovan
fb6d5dc0d9
dev docs: Add some impls for `LocalUserIdentity`.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:53:22 +01:00
Gabriela Moldovan
dc616d9e07
dev docs: Add key manager API sketch.
...
This is the first draft of the key manager API.
I don't expect this to be the final version of the API, and I'm sure
there are plenty of improvements to be made. This is mostly a request
for comments.
Closes #834
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:53:05 +01:00
Nick Mathewson
e524f05aa9
rpc spec: define method namespacing.
...
Closes #822
2023-04-13 10:50:30 -04:00
Nick Mathewson
cf00fd8e8a
Merge branch 'rpc_conformance' into 'main'
...
RPC: Terminology and error-handling conformance
Closes #826 and #825
See merge request tpo/core/arti!1136
2023-04-13 13:45:40 +00:00
Nick Mathewson
8dd65dcd5f
rpc, spec: Document current ObjectError, RequestError behavior as correct.
2023-04-13 09:03:52 -04:00
Nick Mathewson
ea77f959fb
rpc: Change `id=<SYNTAX>` to "no id".
...
Now instead of hoping that buggy clients will detect a magic `id`,
we can simply tell them that they will get no `id` at all. If they
can't handle that case, no major harm is done: the connection will
get closed anyway.
2023-04-13 09:03:52 -04:00
Nick Mathewson
99c64abb6a
Merge branch 'devdoc' into 'main'
...
Document some properties of semver
See merge request tpo/core/arti!1129
2023-04-12 20:37:25 +00:00
Nick Mathewson
89568ead54
rpc spec: Allocate a special ID for syntax errors.
2023-04-12 15:17:15 -04:00
Ian Jackson
1d0fae5467
dev docs: Reference semver trick
...
Discussion
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1129#note_2895839
2023-04-12 18:06:30 +01:00
Ian Jackson
5ae7e3c3f8
dev docs: Adding missing footnote
...
Discussion
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1129#note_2895837
2023-04-12 18:06:30 +01:00
Ian Jackson
09c7efe4a4
dev docs: Avoid main-verb-less sentence
...
Discussion
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1129#note_2895835
2023-04-12 18:06:30 +01:00
Ian Jackson
25b89af11c
dev docs: Add missing word
...
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1129#note_2895834
2023-04-12 18:06:30 +01:00
Nick Mathewson
81368f2b5b
dev docs: Clarify that it's two instances of the crate
2023-04-12 17:04:59 +00:00
Nick Mathewson
72277b902e
dev docs: Clarify wording re who is exporting what
2023-04-12 17:03:46 +00:00
Nick Mathewson
873f9285af
rpc spec: Change arti_kinds => kinds per discussion.
2023-04-12 12:20:24 -04:00
Nick Mathewson
ee5478ed40
rpc: terminology edits around "method" in spec draft
...
Always "method", never "command".
Always "authentication scheme", never "authentication method".
2023-04-12 11:11:01 -04:00
Nick Mathewson
d492e644ab
Merge branch 's101-q1' into 'main'
...
Update s101 values.
See merge request tpo/core/arti!1128
2023-04-12 14:53:36 +00:00
Nick Mathewson
4c020de38c
Add notes on how to test the RPC engine
2023-04-12 07:34:57 -04:00
Nick Mathewson
3648ea08c9
Add notes on how to test the RPC engine
2023-04-12 07:34:57 -04:00
Nick Mathewson
b9b5e9940a
rpc: Fix typos/grammar errors
2023-04-11 20:02:01 +01:00
Ian Jackson
0be641e49a
rpc: Rewrite `data` spec in JSON terms
2023-04-11 20:02:01 +01:00
Ian Jackson
3ac94956ef
rpc: Clarify that error formatting display is indicative
2023-04-11 20:02:01 +01:00
Ian Jackson
1268223cff
Use non-JSON-RPC-reserved values for our own errors
2023-04-11 20:02:01 +01:00
Ian Jackson
1e2a549960
rpc: Fix mistake in "JSON-RPC compatibility" section for errors
2023-04-11 20:02:01 +01:00
Ian Jackson
3d5ef53596
rpc: Discourage use of `code`
2023-04-11 20:02:01 +01:00
Ian Jackson
9c47558b10
rpc: Warn about relying too much about `data`
2023-04-11 20:02:01 +01:00
Ian Jackson
6c5577ab92
rpc: Provide example of an error response
2023-04-11 20:02:01 +01:00
Ian Jackson
ef834a2c0b
rpc: Provide a list of ErrorKind strings
...
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1107#note_2893078
2023-04-11 20:02:01 +01:00
Ian Jackson
9f8ba36814
rpc: Be more explicit about what the string error message is for (typo)
2023-04-11 20:02:01 +01:00
Nick Mathewson
1bc8bb4fb4
rpc: Be more explicit about what the string error message is for
2023-04-11 20:02:01 +01:00
Ian Jackson
fca4535066
rpc: Proposed error format
2023-04-11 20:02:01 +01:00
Ian Jackson
19799ceea4
dev docs: Make some explanation about semver
2023-04-11 19:41:28 +01:00
Ian Jackson
1c2bc8e92f
dev docs: Make a heading a subheading
2023-04-11 19:33:14 +01:00
Ian Jackson
ed46998f4a
dev docs: Remove an obsolete comment.
...
I think we've bedded in the new process.
2023-04-11 19:33:07 +01:00
Alexander Færøy
1ff417c020
Update s101 values.
2023-04-11 18:35:56 +02:00
Nick Mathewson
df0d5054a2
Merge branch 'release' into 'main'
...
doc/dev/Release.md: patch release workflow
See merge request tpo/core/arti!1111
2023-04-05 14:42:03 +00:00
Ian Jackson
d4760f6d50
Merge branch 'rpc' into 'main'
...
Proposed rpc protocol edits and tightenings-up
See merge request tpo/core/arti!1078
2023-04-04 15:15:40 +00:00
Nick Mathewson
371da67641
rpc: Fix typos
2023-04-04 14:43:37 +00:00
Ian Jackson
599e2ffb7d
doc/dev/Release.md: patch release workflow
...
We did roughly this today. We put the CHANGELOG.md change in its own
MR, so it didn't end up in the tor-llcrypto-v0.4.4 tag. It would have
been better to do it the other way so that's what I've documented.
I couldn't test-format this with pandoc because it got tricked by some
of the `$` into trying to run TeX.
2023-04-04 15:41:00 +01:00
Ian Jackson
854508d4ca
rpc: Speak of "Arti" rather than "arti"
...
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1078#note_2889618
2023-04-03 17:59:58 +01:00
Ian Jackson
b25cb1479c
rpc: State the integer round-trip range limits
...
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1078#note_2889617
2023-04-03 17:58:06 +01:00
Ian Jackson
22b1c89344
rpc: Don't talk about "properties" of objects: rather, "members"
...
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1078#note_2889616
2023-04-03 17:55:09 +01:00
Ian Jackson
826b85f873
rpc: Move notes about cancellation to right section
...
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1078#note_2889614
2023-04-03 17:53:17 +01:00
Ian Jackson
374f76e1df
rpc: Be clearer about updates content
...
You can't parse an update without knowing the request method (this was
already stated elsewhere).
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1078#note_2889613
2023-04-03 17:51:36 +01:00
Ian Jackson
250bb1aac6
rpc: Change how we talk about objects
...
Use just "object" in the introduction, but be specific that the
abstract data type is I-JSON, even if we later invent other
representations.
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1078#note_2889612
2023-04-03 17:47:09 +01:00
Ian Jackson
b0a8b272f5
rpc: Right at top, say I-JSON
...
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1078#note_2889612
2023-04-03 17:44:40 +01:00
Ian Jackson
6fad573921
rpc: Change wording about responses
...
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1078#note_2889611
2023-04-03 17:42:56 +01:00
Dimitris Apostolou
94ba102a3b
Fix typo
2023-03-24 21:43:32 +02:00
Ian Jackson
fc53f3ce98
rpc: Start on a list of the differences with JSON-RPC
2023-03-24 18:23:55 +00:00
Ian Jackson
53dbe74980
rpc: Discuss ordering and buffering
2023-03-24 18:23:55 +00:00
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
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
Nick Mathewson
18e8ac7cb6
Rename key identifiers that have changed in the spec
...
Generated with perl:
s/K([PS])_hs_intro_tid/K$1_hs_ipt_sid/g;
s/K([PS])_onion_ntor/K$1_ntor/g;
s/K([PS])_hs_intro_ntor/K$1_hss_ntor/g;
s/K([PS])_hs_desc_ephem/K$1_hss_desc_enc/g;
2023-02-08 11:57:51 -05:00
Nick Mathewson
d790ba2776
ffi_rpc_sketch: rearrange.
2023-02-03 08:55:21 -05:00
Nick Mathewson
19346ee891
ffi_rpc_sketch: tweak colors.
2023-02-03 08:54:02 -05:00
Nick Mathewson
49b217486a
Add a sketch for our FFI/RPC architecture
...
I think that this might be the way forward, depending on our current
requirements and our users' current needs. I've traced out some
challenges that would imply.
2023-02-03 08:48:33 -05:00
Alexander Færøy
d41dbc2a46
Update Tor number for s101 o3 (Tor: 2033cc7b5e).
2023-01-27 12:50:06 +01:00
Alexander Færøy
e30ece3532
Fix typo.
2023-01-27 12:46:14 +01:00
Nick Mathewson
79c6881366
exportedapisketc: note that HTTP can be tricky.
2023-01-26 08:29:46 -05:00
eta
51741398b2
Merge branch 'netdoc-builder' into 'main'
...
tor-netdoc: Provide NetdocEncoder (internal)
See merge request tpo/core/arti!984
2023-01-26 11:40:50 +00:00
Nick Mathewson
422e3382aa
New results for heap_and_download_size.md
2023-01-25 14:59:46 -05:00
Nick Mathewson
410d05697f
Try to be less ambigous about "maybe offline"...
...
...by defining "offline" as "maybe online".
@diziet is this what you had in mind?
2023-01-24 11:39:10 -05:00
Nick Mathewson
b667faf5c5
Try to specify which keys are which
...
Use the terminology in the current draft torspec!105 MR.
2023-01-24 11:39:10 -05:00
Nick Mathewson
8764c64564
Add a note about key storage in onion services and clients
2023-01-24 11:39:10 -05:00
Ian Jackson
16c4fee4b8
netdoc-builder: Move example into implementation doc comment
...
Not actually tested yet
2023-01-24 16:15:17 +00:00
Ian Jackson
e971d1ad59
netdoc-builder api: Move internal API into actual code file
...
Motion, plus the bare minimum needed to make it compile.
2023-01-24 16:15:17 +00:00
Ian Jackson
bb5565b800
netdoc-builder api: Remove obsolete proposed `Item` changes
...
We decided against these in !969
2023-01-24 16:15:17 +00:00
Ian Jackson
99686c61de
netdoc-builder api: Write down the correctness (non)-guarantees
2023-01-20 14:21:17 +00:00
Ian Jackson
6f17a88b0b
netdoc-builder api: Make object() take self
...
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/969#note_2869594
2023-01-20 14:21:17 +00:00
Ian Jackson
694de0e163
netdoc-builder api: Change object multiplicity to 0 or 1
2023-01-20 14:21:17 +00:00
Ian Jackson
673d13a82b
netdoc-builder api: Provide raw methods
2023-01-20 14:21:17 +00:00
Ian Jackson
2fdb65287d
netdoc-builder api: Fix typo
2023-01-20 14:21:17 +00:00
Ian Jackson
3ce394f168
netdoc-builder api: Clarify ItemEncoder.objects content
2023-01-20 14:21:17 +00:00
Ian Jackson
fa96addf01
netdoc-builder api: In internal notes don't promise not to eagerly add
2023-01-20 14:21:17 +00:00
Ian Jackson
0755069e5a
netdoc-builder api: Rename internal Builder to Encoder
...
This seems clearer now and also it solves the name clash with the
`NetdocBuilder` trait.
2023-01-20 14:21:17 +00:00
Ian Jackson
8f2263237b
netdoc-builder api: Get rid of Item, and error rework
2023-01-20 14:21:17 +00:00
Ian Jackson
46ad6cba06
netdoc-builder api: Add example of use
2023-01-20 14:21:17 +00:00
Ian Jackson
28b99004d0
NetdocBuilder: Improvements apropos review
2023-01-20 14:21:17 +00:00
Nick Mathewson
760ddbbc5d
Improved pseudocode commentary
2023-01-20 14:21:17 +00:00
Ian Jackson
7184777559
RFC netdoc builder API
2023-01-20 14:21:17 +00:00
Nick Mathewson
0ad44d2d6f
Update comments based on feedback
2023-01-17 12:21:17 -05:00
Ian Jackson
b6f5d3da7d
Apply 1 suggestion(s) to 1 file(s)
2023-01-13 16:44:03 +00:00
Ian Jackson
bf970ba486
Apply 1 suggestion(s) to 1 file(s)
2023-01-13 16:43:48 +00:00
Nick Mathewson
ecff8731cc
Sketch for some options and design issues around FFI/RPC
...
This is just a beginning, but hopefully we can expand it with more
information and options, and then use it to get everybody in our
nascent FFI/RPC working group on the same page.
2023-01-13 09:47:37 -05:00