summaryrefslogtreecommitdiff
path: root/doc/dev/notes
Commit message (Collapse)AuthorAgeFilesLines
...
* | dev docs: Remove HSM APIs.Gabriela Moldovan2023-04-251-22/+0
| | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
* | dev docs: clarify what a "key identity" is.Gabriela Moldovan2023-04-251-35/+99
| | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
* | dev docs: Allow multiple key stores to be in use at the same time.Gabriela Moldovan2023-04-251-18/+92
| | | | | | | | | | | | | | | | | | The key manager needs to be flexible enough to support loading keys from one of several key stores. This is because when we add support for smart cards, users will want to be able to store some keys on the smart card, and others in one of the disk key stores (for example). Signed-off-by: Gabriela Moldovan <[email protected]>
* | dev docs: Add some impls for `LocalUserIdentity`.Gabriela Moldovan2023-04-251-1/+4
| | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
* | dev docs: Add key manager API sketch.Gabriela Moldovan2023-04-251-0/+239
| | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
* | rpc spec: define method namespacing.Nick Mathewson2023-04-131-5/+29
| | | | | | | | Closes #822
* | rpc, spec: Document current ObjectError, RequestError behavior as correct.Nick Mathewson2023-04-131-2/+2
| |
* | rpc: Change `id=<SYNTAX>` to "no id".Nick Mathewson2023-04-131-3/+5
| | | | | | | | | | | | | | 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.
* | rpc spec: Allocate a special ID for syntax errors.Nick Mathewson2023-04-121-0/+6
| |
* | rpc spec: Change arti_kinds => kinds per discussion.Nick Mathewson2023-04-121-6/+11
| |
* | rpc: terminology edits around "method" in spec draftNick Mathewson2023-04-121-4/+4
| | | | | | | | | | | | Always "method", never "command". Always "authentication scheme", never "authentication method".
* | Add notes on how to test the RPC engineNick Mathewson2023-04-121-0/+1
| |
* | Add notes on how to test the RPC engineNick Mathewson2023-04-121-0/+27
| |
* | rpc: Fix typos/grammar errorsNick Mathewson2023-04-111-2/+2
| |
* | rpc: Rewrite `data` spec in JSON termsIan Jackson2023-04-111-4/+12
| |
* | rpc: Clarify that error formatting display is indicativeIan Jackson2023-04-111-0/+4
| |
* | Use non-JSON-RPC-reserved values for our own errorsIan Jackson2023-04-111-2/+4
| |
* | rpc: Fix mistake in "JSON-RPC compatibility" section for errorsIan Jackson2023-04-111-1/+2
| |
* | rpc: Discourage use of `code`Ian Jackson2023-04-111-1/+8
| |
* | rpc: Warn about relying too much about `data`Ian Jackson2023-04-111-0/+5
| |
* | rpc: Provide example of an error responseIan Jackson2023-04-111-0/+18
| |
* | rpc: Provide a list of ErrorKind stringsIan Jackson2023-04-111-2/+17
| | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1107#note_2893078
* | rpc: Be more explicit about what the string error message is for (typo)Ian Jackson2023-04-111-1/+1
| |
* | rpc: Be more explicit about what the string error message is forNick Mathewson2023-04-111-1/+3
| |
* | rpc: Proposed error formatIan Jackson2023-04-111-0/+52
| |
* | Merge branch 'rpc' into 'main'Ian Jackson2023-04-041-43/+122
|\ \ | | | | | | | | | | | | Proposed rpc protocol edits and tightenings-up See merge request tpo/core/arti!1078
| * | rpc: Fix typosNick Mathewson2023-04-041-2/+2
| | |
| * | rpc: Speak of "Arti" rather than "arti"Ian Jackson2023-04-031-2/+2
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1078#note_2889618
| * | rpc: State the integer round-trip range limitsIan Jackson2023-04-031-1/+5
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1078#note_2889617
| * | rpc: Don't talk about "properties" of objects: rather, "members"Ian Jackson2023-04-031-1/+1
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1078#note_2889616
| * | rpc: Move notes about cancellation to right sectionIan Jackson2023-04-031-7/+7
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1078#note_2889614
| * | rpc: Be clearer about updates contentIan Jackson2023-04-031-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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
| * | rpc: Change how we talk about objectsIan Jackson2023-04-031-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | rpc: Right at top, say I-JSONIan Jackson2023-04-031-1/+1
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1078#note_2889612
| * | rpc: Change wording about responsesIan Jackson2023-04-031-1/+1
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1078#note_2889611
| * | rpc: Start on a list of the differences with JSON-RPCIan Jackson2023-03-241-0/+23
| | |
| * | rpc: Discuss ordering and bufferingIan Jackson2023-03-241-0/+13
| | |
| * | rpc: Define term `field`Ian Jackson2023-03-241-0/+2
| | |
| * | rpc: Discuss cancellation request objIan Jackson2023-03-241-0/+9
| | |
| * | rpc: Clarify what precisely the responses depend onIan Jackson2023-03-241-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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.)
| * | rpc: State that we're using I-JSONIan Jackson2023-03-241-0/+8
| | |
| * | rpc: Forbid troublesome numbers as idsIan Jackson2023-03-241-2/+4
| | | | | | | | | | | | | | | This is a bit sad but I think we should have a conservative JSON profile.
| * | rpc: Be more explicit about ignoring JSON fieldsIan Jackson2023-03-241-1/+4
| | |
| * | rpc: Clarify/restate method definition requirementsIan Jackson2023-03-241-9/+10
| | | | | | | | | | | | | | | | | | | | | 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).
| * | rpc: Use Object for method targets and JSON object for document objectsIan Jackson2023-03-241-29/+31
| | |
| * | rpc: Make `params` in a request non-optionalIan Jackson2023-03-241-1/+5
| | | | | | | | | | | | | | | | | | *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.
* | | Fix typoDimitris Apostolou2023-03-241-1/+1
|/ /
* | rpc-meta-draft: Sketch an even-lower-level API.Nick Mathewson2023-03-241-0/+11
| |
* | rpc-draft: Sketch out more commands to add, start sketching APIsNick Mathewson2023-03-241-1/+112
| |
* | rpc-meta: clarify when "object" means "JSON object".Nick Mathewson2023-03-241-8/+7
| |