summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge branch 'misc_upgrades' into 'main'gabi-2502023-04-1314-43/+43
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Upgrade a couple more dependencies See merge request tpo/core/arti!1139
| * | | | Upgrade our hex-literal dependencyNick Mathewson2023-04-1313-15/+15
| | | | |
| * | | | Upgrade our num_enum dependency.Nick Mathewson2023-04-133-28/+28
| |/ / /
* | | | Merge branch 'rpc_conformance' into 'main'Nick Mathewson2023-04-1317-172/+703
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RPC: Terminology and error-handling conformance Closes #826 and #825 See merge request tpo/core/arti!1136
| * | | | rpc, spec: Document current ObjectError, RequestError behavior as correct.Nick Mathewson2023-04-132-12/+4
| | | | |
| * | | | rpc: Change `id=<SYNTAX>` to "no id".Nick Mathewson2023-04-134-17/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Require that errors are RpcError.Nick Mathewson2023-04-133-7/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we're serializing everything in this format, let's enforce it. With this change, we can no longer cram arbitrary junk into an RPC error, so we have to clean up our handling of cancelled requests.
| * | | | rpc: Improve error reporting for invalid requestsNick Mathewson2023-04-127-17/+291
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a bit big, but it's not that _complicated_. The idea here is that we use serde's "untagged" enum facility when parsing our `Request`s, such that if parsing as a `Request` fails, we parse as an `InvalidRequest` and try to report what the problem was exactly. This lets us determine the ID of a request (if it had one), so we can report that ID in our error message. We can also recover from a much broader variety of errors. We now also conform with the spec reporting errors about completely wrong json, requests without IDs, and so on.
| * | | | rpc spec: Allocate a special ID for syntax errors.Nick Mathewson2023-04-121-0/+6
| | | | |
| * | | | rpcbase: Use correct error codes, and add tests.Nick Mathewson2023-04-123-7/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Well, mostly correct. Our current serde implementation doesn't tell us much about what went wrong with the object, so we can't tell why we couldn't convert it into a Request. Also, our output for the data field is not as the spec says: we should bring them into conformance. Part of #825.
| * | | | tor-error: Add ErrorKinds for RPC errors.Nick Mathewson2023-04-122-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | These are experimental for now so that we can change them without breaking semver.
| * | | | tor-rpcbase: Create error kinds properly.Nick Mathewson2023-04-121-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | The field is called "kinds", it is a list, and it holds strings beginning with "arti:".
| * | | | rpc spec: Change arti_kinds => kinds per discussion.Nick Mathewson2023-04-121-6/+11
| | | | |
| * | | | arti-rpcserver: Be careful about saying "result".Nick Mathewson2023-04-123-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though json-rpc uses "result" to mean "a successful return value from a method", we can't: Rust's `Result` type is so pervasive that confusion would be inevitable.
| * | | | arti-rpcserver: Rename Authentication{Method => Scheme}.Nick Mathewson2023-04-121-7/+7
| | | | |
| * | | | arti-rpcserver: rename cmd to method.Nick Mathewson2023-04-121-2/+2
| | | | |
| * | | | arti-rpcserver: rename command to method.Nick Mathewson2023-04-122-19/+19
| | | | |
| * | | | tor-rpcbase: rename cmd to method everywhere.Nick Mathewson2023-04-121-31/+31
| | | | |
| * | | | tor-rpcbase: Rename cmd.rs to method.rs.Nick Mathewson2023-04-122-2/+2
| | | | |
| * | | | tor-rpcbase: Rename and rephrase "command" to "method"Nick Mathewson2023-04-127-54/+54
| | | | |
| * | | | rpc: terminology edits around "method" in spec draftNick Mathewson2023-04-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Always "method", never "command". Always "authentication scheme", never "authentication method".
* | | | | Merge branch 'repro_msrv_update' into 'main'Ian Jackson2023-04-132-2/+2
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | Bump Rust version in reproducible build scripts See merge request tpo/core/arti!1137
| * | | | Bump Rust version in reproducible build scriptsNick Mathewson2023-04-132-2/+2
|/ / / / | | | | | | | | | | | | Now that we require 1.65, Rust 1.63 is no longer sufficient.
* | | | Merge branch 'devdoc' into 'main'Nick Mathewson2023-04-121-3/+36
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Document some properties of semver See merge request tpo/core/arti!1129
| * | | | dev docs: Reference semver trickIan Jackson2023-04-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Discussion https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1129#note_2895839
| * | | | dev docs: Adding missing footnoteIan Jackson2023-04-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Discussion https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1129#note_2895837
| * | | | dev docs: Avoid main-verb-less sentenceIan Jackson2023-04-121-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Discussion https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1129#note_2895835
| * | | | dev docs: Add missing wordIan Jackson2023-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1129#note_2895834
| * | | | dev docs: Clarify that it's two instances of the crateNick Mathewson2023-04-121-1/+1
| | | | |
| * | | | dev docs: Clarify wording re who is exporting whatNick Mathewson2023-04-121-2/+3
| | | | |
| * | | | dev docs: Make some explanation about semverIan Jackson2023-04-111-0/+32
| | | | |
| * | | | dev docs: Make a heading a subheadingIan Jackson2023-04-111-1/+1
| | | | |
| * | | | dev docs: Remove an obsolete comment.Ian Jackson2023-04-111-5/+0
| | | | | | | | | | | | | | | | | | | | I think we've bedded in the new process.
* | | | | Merge branch 'ticket_785' into 'main'Ian Jackson2023-04-121-0/+7
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ExitPath: Add an explanation of WeightRole::Exit on non-exit circs Closes #785 See merge request tpo/core/arti!1135
| * | | | | ExitPath: Add an explanation of WeightRole::Exit on non-exit circsNick Mathewson2023-04-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In one case, we use WeightRole::Exit on circuits that can't actually be used to exit. This commit adds a comment to explain why, so that we don't wonder about it in the future, and we have some indication of whether it's still appropriate. Closes #785
* | | | | | Merge branch 'remove-hsdesc-todo' into 'main'Ian Jackson2023-04-121-3/+0
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | Remove misleading TODO. See merge request tpo/core/arti!1130
| * | | | | Remove misleading TODO.Gabriela Moldovan2023-04-111-3/+0
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `superencrypted` blob is, in fact, followed by a newline. See [core/torspec!122]. [core/torspec!122]: https://gitlab.torproject.org/tpo/core/torspec/-/merge_requests/122 Signed-off-by: Gabriela Moldovan <[email protected]>
* | | | | Merge branch 's101-q1' into 'main'Nick Mathewson2023-04-121-0/+26
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | Update s101 values. See merge request tpo/core/arti!1128
| * | | | Update s101 values.Alexander Færøy2023-04-111-0/+26
| | | | |
* | | | | Merge branch 'bug805' into 'main'gabi-2502023-04-121-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | s/Manager/Mgr/g in codebase Closes #805 See merge request tpo/core/arti!1122
| * | | | | s/BridgeDescManager/BridgeDescMgr/g in codebaseNeel Chauhan2023-04-121-2/+2
|/ / / / /
* | | | | Merge branch 'rpc-hack' into 'main'Nick Mathewson2023-04-1222-13/+2059
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Initial hacking on RPC server See merge request tpo/core/arti!1092
| * | | | | rpc: Try to fix rustdoc errors.Nick Mathewson2023-04-122-2/+2
| | | | | |
| * | | | | rpc: Use empty structs in test code.Nick Mathewson2023-04-121-12/+12
| | | | | |
| * | | | | Rename tor-rpccmd to tor-rpcbase.Nick Mathewson2023-04-1213-12/+12
| | | | | |
| * | | | | rpc: Make AuthenticationMethod an enum.Nick Mathewson2023-04-121-13/+20
| | | | | |
| * | | | | rpc: Reify and expose DispatchTable.Nick Mathewson2023-04-125-56/+89
| | | | | |
| * | | | | rpc: Change ConstTypeId_ to be a function that gets calledNick Mathewson2023-04-124-35/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now _use_ the function pointers rather than comparing them; this lets us drop our Eq/PartialEq/Hash implementations for `ConstTypeId_` and instead just use `TypeId`s once we're in run-time code.
| * | | | | rpc: Use Pin<Box<Stream/Sink>> for run_loopNick Mathewson2023-04-122-16/+24
| | | | | |
| * | | | | rpc: Import Pin/Context/Poll.Nick Mathewson2023-04-122-34/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Except for one case where we are using crate::Context and task::Context at the same time.)