Commit Graph

290 Commits

Author SHA1 Message Date
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
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
Nick Mathewson 2ad198784d Merge branch 'hilev_docs' into 'main'
Architecture: More high-level documentation and diagrams.

Closes #624

See merge request tpo/core/arti!963
2023-01-06 19:17:29 +00:00
Nick Mathewson a0ddf51f77 Architecture.md: Move title outside of diagram
Apparently, Mermaid 9.1 did not support this.
2023-01-06 13:37:27 -05:00
Nick Mathewson fe9bf17937 Add a protocol overview for onion services. 2023-01-06 13:03:50 -05:00
Nick Mathewson 5358339169 Architecture: More high-level documentation and diagrams.
Specifically, I'm adding a high-level MDD (simplified for clarity).

I'm also adding a diagram of the object relations among our manager
types.  (There are also communications that happen via channels, but
those aren't discussed here.)  That part closes #624.

There is probably more to say here, but this should form a scaffold
we can build on.
2023-01-05 17:11:38 -05:00
Emil Engler 4fc70ccacf
doc: update the crate list in Architecture.md
This commit updates the crate list in Architecture.md. Because of the
previous commit, which introduced consistency to these files, it was
possible to generate it fairly easy with a tiny Perl script.
2022-12-20 14:33:59 +01:00
Nick Mathewson 77c23b8474 Add another step to the release process 2022-12-10 16:16:42 -05:00
Nick Mathewson 2c240923fc Move developer-facing documentation into a doc/dev subdir
Closes #576.
2022-12-05 08:58:39 -05:00
Nick Mathewson 9d01c88c8c Update bridges.md a little 2022-11-30 16:21:50 -05:00
Nick Mathewson a2f148dc4e Add a quick "how to use bridges" explanation document. 2022-11-30 16:04:36 -05:00
trinity-1686a 614cf34284 Check more targets 2022-11-10 13:34:17 +00:00
Alexander Færøy d092c7fa90 Add September values to heap_and_download_size.md. 2022-10-25 21:52:16 +02:00
Alexander Færøy 2cc1996bb6 Add Methodologies section to our Heap and Download Size document. 2022-10-25 21:51:56 +02:00
Alexander Færøy 7a99555e9d Add missing data from October from Nick. 2022-10-25 21:51:37 +02:00
Alexander Færøy a8a2de747b Update heap and download size metrics for October
This patch updates the heap_and_download_size.md file with numbers from
October 2022 for our Sponsor 101 deliverables.
2022-10-25 19:56:35 +02:00
Nick Mathewson 5786637b4f Fix various typos (using typos tool and hand-inspection) 2022-10-18 15:39:33 -04:00
Ian Jackson 881f6edd9f Abolish maint/readmes
This is not needed any more
2022-10-12 15:29:04 +01:00
Nick Mathewson 239c1f044f Add a reminder to remove semver.md after release. 2022-09-07 09:20:30 -04:00
Nick Mathewson 35c2a5dc62 Merge branch 'bridge_writeup' into 'main'
Overview of issues with bridges in 1.1.0

See merge request tpo/core/arti!686
2022-08-26 18:20:49 +00:00
Nick Mathewson 8f7149931e Qualify a few statements about bridges. 2022-08-26 13:42:38 -04:00
Nick Mathewson 7700ee3892 Remove first person: Now my opinions are facts. ;) 2022-08-26 13:38:52 -04:00
Nick Mathewson 063c8fc545 Note tickets for TODO items.
Also remove controversial paragraph that is now maybe a bug.
2022-08-25 09:36:08 -04:00
eta 31e3649b3e Apply 1 suggestion(s) to 1 file(s) 2022-08-25 13:12:33 +00:00
Nick Mathewson 44e56d35aa First draft of "what is sensitive" document 2022-08-23 15:31:26 -04:00
Nick Mathewson 96d21cf4da Overview of issues with bridges in 1.1.0 2022-08-23 10:36:03 -04:00
Ian Jackson 12c5af9b7a doc/Compatibility.md: tick the box for link protocol 5
We do this now.  As per
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/657#note_2828364
2022-08-17 10:54:41 +01:00
Nick Mathewson e3cc533853 Merge branch 'zeroize' into 'main'
Revise our handling of the zeroize trait

Closes #254

See merge request tpo/core/arti!655
2022-08-04 14:54:21 +00:00
Nick Mathewson 96d1b500a7 ZeroizeStrategy.md: Clarify which list we're referring to. 2022-08-04 10:26:15 -04:00
Dimitris Apostolou 5eb45de6f8
Fix typos 2022-08-01 23:55:33 +03:00
Nick Mathewson c83ec273d0 Initial document describing our plans for zeroize 2022-08-01 11:52:23 -04:00
Nick Mathewson 054616c281 Checkpoint metrics and discussions on Sponsor 101 metrics
These metrics are primarily concerned about heap usage and download
size.  I've worked on them for our latest report, and I want to
check them in someplace so we don't forget them the next time we
want to run these.
2022-07-22 10:21:41 -04:00
Nick Mathewson c9552220dc Update semver_status.md with new procedure.
Now (per discussion on #471) we use one file per crate.

I've tried to be more explicit about the format to use, and what to
add when.
2022-05-27 11:55:29 -04:00
Nick Mathewson 4f7e06fe17 Clear out 0.4.0 semver-status 2022-05-27 11:36:33 -04:00
Ian Jackson 4bf87d61ca Merge branch 'config-split' into 'main'
Break TorClientConfig out of ArtiConfig and warn on unknown config keys

Closes #459 and #417

See merge request tpo/core/arti!529
2022-05-26 10:40:43 +00:00
Nick Mathewson bc3c9d475f Merge branch 'support_policy' into 'main'
Initial draft policy on supported platforms and dependencies

Closes #379

See merge request tpo/core/arti!513
2022-05-25 13:14:54 +00:00
Ian Jackson 112cce10ba semvar_status: Document config changes 2022-05-24 20:17:23 +01:00
Ian Jackson 814faf6398 Apply clarifications to SupportPolicy.md from @Diziet 2022-05-24 15:13:54 +00:00
Nick Mathewson de3c7baa4c Note that fs-mistrust has broken semver. 2022-05-24 10:54:02 -04:00
Nick Mathewson 6a00b74b0b Clarify which releases get advisories. 2022-05-20 11:57:03 -04:00
Nick Mathewson a42a6467a1 SupportPolicy: Add tiers, clarify what "support" means. 2022-05-20 11:52:22 -04:00
Nick Mathewson 8406cc3b7f Initial draft policy on supported platforms and dependencies 2022-05-18 09:24:46 -04:00
Nick Mathewson fb432924a3 Merge branch 'main' into 'ticket_466'
# Conflicts:
#   doc/semver_status.md
2022-05-16 15:10:00 +00:00
Ian Jackson 4b86818b30 Document semver changes 2022-05-13 12:47:38 +01:00