summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * linkspec::verbatim: wrapper to give a CircTarget a new set of LinkSpecsNick Mathewson2023-05-113-1/+113
| |
| * Add linkspec::decode to convert linkspecs to an OwnedChanTargetNick Mathewson2023-05-113-1/+189
| | | | | | | | | | | | | | Relays and onion service services/clients will both need this. I'm marking this experimental for now; we should stabilize it before we release onion services.
| * Change CircTarget::linkspecs() to return an encoded list.Nick Mathewson2023-05-107-15/+34
| | | | | | | | | | | | | | | | If we didn't do this, we would need to transfrom `EncodedLinkSpec`s into a `LinkSpec::Unrecognized`, which is not semantically right. What's more, every user of this API wants to consume encoded link specifiers, so encoding them early saves a little effort.
| * linkspec: Make LinkSpecType public.Nick Mathewson2023-05-106-35/+51
| | | | | | | | | | This lets us check the type of an `EncodedLinkSpec` as well, and lets us remove an interface that took a raw u8.
| * linkspec: define conversion functions for EncodedLinkSpecNick Mathewson2023-05-101-48/+79
| | | | | | | | | | | | This commit adds functions to convert between LinkSpec and EncodedLinkSpec, and refactors their read/write implementations a bit to avoid code duplication.
| * Rename UnparsedLinkSpec => EncodedLinkSpecNick Mathewson2023-05-106-22/+23
| |
| * hspool: Accept any T:CircTarget.Nick Mathewson2023-05-102-9/+28
| | | | | | | | | | | | Previously, we only accepted an OwnedCircTarget, which would have kept us from getting a circuit that was aimed at a specialized CircTarget that gave us LinkSpecs in a raw order.
| * test_linkspecs: tidy order of linkspecsNick Mathewson2023-05-101-11/+11
| | | | | | | | This is pure code movement.
| * Move responsibility for linkspec sorting to CircTarget.Nick Mathewson2023-05-102-5/+14
| | | | | | | | | | | | This change is necessary so that we can build Extend2 messages that have their LinkSpecs appear in a verbatim order as provided in an INTRODUCE2 message or in a HS descriptor.
* | Merge branch 'netdoc-error-rename' into 'main'Nick Mathewson2023-05-1018-48/+43
|\ \ | |/ |/| | | | | netdoc: Rename `ParseError{Kind, Source}` to `NetdocError{Kind, Source}`. See merge request tpo/core/arti!1176
| * netdoc: Remove experimental-api gate from parse_decrypt_validate.Gabriela Moldovan2023-05-102-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | `parse_decrypt_validate` was marked as experimental because it was unclear if the newly added `BadTimeBound` error kind belongs in `ParseErrorKind`. However, we have since renamed `ParseErrorKind` to `NetdocErrorKind` and decided to keep the new variant, so this API doesn't need to be experimental anymore. Closes arti #852 Signed-off-by: Gabriela Moldovan <[email protected]>
| * netdoc: Rename `ParseError{Kind, Source}` to `NetdocError{Kind, Source}`.Gabriela Moldovan2023-05-1018-44/+43
|/ | | | | | | | | | | `ParseErrorSource` was originally meant to represent a parsing error, this enum has since gained some variants that aren't really parsing related (`Signature`, `CertSignature`, `UntimelyDescriptor`). Since this error type is now used for general-purpose netdoc errors, let's rename `ParseError{Kind, Source}` to `NetdocError{Kind, Source}`. Signed-off-by: Gabriela Moldovan <[email protected]>
* Merge branch 'upgrade-bumpalo' into 'main'Nick Mathewson2023-05-091-2/+2
|\ | | | | | | | | bump to latest version of bumpalo to appease cargo_audit. See merge request tpo/core/arti!1175
| * bump to latest version of bumpalo to appease cargo_audit.Nick Mathewson2023-05-091-2/+2
|/
* Merge branch 'ticket_839' into 'main'Alexander Færøy2023-05-091-8/+12
|\ | | | | | | | | | | | | Downgrade and clarify message about dir replacment time. Closes #839 See merge request tpo/core/arti!1171
| * Downgrade and clarify message about dir replacment time.Nick Mathewson2023-05-081-8/+12
| | | | | | | | Closes #839
* | Merge branch 'print-stati-feature' into 'main'Alexander Færøy2023-05-091-2/+2
|\ \ | |/ |/| | | | | print both static sqlite/tls when 'static' feature is used See merge request tpo/core/arti!1169
| * print both static sqlite/tls when 'static' feature is usedtrinity-1686a2023-05-081-2/+2
| |
* | Merge branch 'update-deps' into 'main'Nick Mathewson2023-05-088-47/+52
|\ \ | |/ |/| | | | | | | | | Update deps Closes #844 and #841 See merge request tpo/core/arti!1170
| * allow rustls-webpki licensetrinity-1686a2023-05-081-0/+1
| |
| * fix a couple clippy lintstrinity-1686a2023-05-082-4/+4
| |
| * update rustls to 0.21trinity-1686a2023-05-083-24/+28
| |
| * update rsa to 0.9.xtrinity-1686a2023-05-083-19/+19
|/
* Merge branch 'shuffle-hsdirs' into 'main'gabi-2502023-05-045-18/+52
|\ | | | | | | | | tor-netdir: Shuffle the list of HS dirs used for downloading descriptors. See merge request tpo/core/arti!1155
| * tor-netdir: Shuffle the list of HS dirs used for downloading descriptors.Gabriela Moldovan2023-05-045-18/+52
|/ | | | | | | | We'll probably need the hsdir list to be shuffled deterministically for testing purposes (this might be desirable, for example, when we write a test for HS descriptor download retries). Signed-off-by: Gabriela Moldovan <[email protected]>
* Merge branch 'rpc_mgr' into 'main'Nick Mathewson2023-05-0418-172/+1110
|\ | | | | | | | | | | | | Refactor RPC once more; institute capabilities-style authentication; expose a Client. Closes #820 See merge request tpo/core/arti!1160
| * objmap: move types to top of file.Nick Mathewson2023-05-041-74/+74
| |
| * Note/clean more TODOs in objmap.Nick Mathewson2023-05-041-1/+4
| |
| * RPC: Make the "client" return optional.Nick Mathewson2023-05-041-2/+2
| |
| * RPC: Make "Weak" and "Strong" entries separate.Nick Mathewson2023-05-041-43/+41
| | | | | | | | | | | | | | | | | | Now there can be one of each, since we want references and handles to be conceptually separate. (The alternative would be to say that an operation either "returns a handle" or "returns a reference (which may become a handle) unless a handle already exists.")
| * Temporarily replace generational-arena with a fake version.Nick Mathewson2023-05-043-50/+112
| | | | | | | | | | This fake version is completely silly, but it will do the job until we figure out our MPL2 concerns.
| * RPC: make arti-rpcserver require the arti-client/rpc featureNick Mathewson2023-05-041-1/+1
| |
| * check-licenses: Permit MPL-2.0Nick Mathewson2023-05-041-0/+1
| | | | | | | | | | | | | | | | The generational-arena crate is distributed under MPL-2.0, so we need to allow it. I believe that this license is fine and does not interfere with our code or our users; the reviewer should double-check.
| * RPC: Rename session.rs to connection.rsNick Mathewson2023-05-044-4/+4
| |
| * RPC: rename Session to Connection.Nick Mathewson2023-05-043-45/+48
| | | | | | | | | | | | | | To me, "Session" suggests that we're authenticated, when we are not necessarily authenticated. Also, we may eventually want to have some kind of persistent session object; if we do, then we'll want Connections to be separate.
| * RPC: Make authentication return a TorClient.Nick Mathewson2023-05-042-58/+66
| | | | | | | | | | | | (This is the correct capabilities-based behavior. For now it will only work if the TorClient uses a PreferredRuntime, but with luck we will find a solution for #837 soon.)
| * Add a generational arena for object mapping for RPC.Nick Mathewson2023-05-044-32/+713
| | | | | | | | | | | | See the comments on `TypedAddr` for some explanations about why this is so tricky. Thanks to @diziet for helping me figure this out.
| * RPC: Add "register" methods to RequestContext.Nick Mathewson2023-05-043-0/+38
| |
| * RPC: Start on plumbing TorClient into our RPC codeNick Mathewson2023-05-047-7/+40
| | | | | | | | | | Because of #837, we won't be able to work with _every_ TorClient<R>, so I'm only going to be using TorClient<PreferredRuntime> for now.
| * RPC: Move the "listen" part of the RPC listener code to `arti`.Nick Mathewson2023-05-0410-93/+160
| | | | | | | | | | | | | | | | | | Now there's a module in `arti` that runs the loop for an RPC listener. The part of the old `listener` module that made the framed connections is now part of the `Session` object. There is now yet another a temporary location for the pipe; we should pick something better. At least now it's configurable.
| * rpc: Make an RpcMgr type to own the DispatchTable.Nick Mathewson2023-05-047-15/+59
|/ | | | | | | | | In the future, this will probably hold more data as well, like a TorClient and some configuration info. The TorClient will present an issue; I've made comments about that. Closes #820
* Merge branch 'connect-parse-hsdesc' into 'main'gabi-2502023-05-0310-39/+179
|\ | | | | | | | | hs-client: Use a real HsDesc instead of an unparsed string. See merge request tpo/core/arti!1153
| * tor-error: Add a TODO regarding HS desc parsing errors.Gabriela Moldovan2023-05-031-0/+14
| | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * hscrypto: Add comment about impl that will be removed after we address #798.Gabriela Moldovan2023-05-031-0/+2
| | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * Clarify what the new ErrorKinds mean.Gabriela Moldovan2023-05-031-4/+14
| | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * tor-netdir: Update tests to parse the descriptor, make test consensus ↵Gabriela Moldovan2023-05-036-26/+93
| | | | | | | | | | | | lifetime configurable. Signed-off-by: Gabriela Moldovan <[email protected]>
| * hsclient: Use a real HsDesc instead of an unparsed string.Gabriela Moldovan2023-05-034-18/+59
| | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * hscrypto: Add From impl for deriving KP_hsc_desc_enc out of KS_hsc_desc_enc.Gabriela Moldovan2023-05-031-0/+6
|/ | | | | | | | | | The `HsClientSecretKeys` stored in the HS client connection context only have the secret keys. Certain APIs (such as `HsDesc::parse`) expect a keypair (both `HsClientDescEncKey` and `HsClientDescEncSecretKey`). This `From` impl makes it possible to get a `HsClientDescEncKey` out of `HsClientDescEncSecretKey`. Signed-off-by: Gabriela Moldovan <[email protected]>
* Merge branch 'more_dir_logging' into 'main'Nick Mathewson2023-05-0321-34/+69
|\ | | | | | | | | | | | | Lots more dirmgr log messages Closes #803 See merge request tpo/core/arti!1163
| * Upgrade tracing to 0.1.36.Nick Mathewson2023-05-0319-20/+20
| | | | | | | | | | | | This is the first version to impl Value for String. With luck, this will get minimal_versions CI passing.