| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Since !1238 we do pass the handshake_state along.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The type is a bit odd but this is a result of the underlying protocol.
I don't feel like inventing `IntroduceAckSuccess` that contains only
the extensions.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
If something *other* than a timeout went wrong, then that is less
expected so more interesting.
|
| |\| | |
| |/ /
|/| |
| | |
| | | |
tor-hsclient: Plumb some needed values through etc.
See merge request tpo/core/arti!1238
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
Pass Introduced to complete_handshake. The lack of this was a slip.
Add handshake_state to Introduced, and use it.
|
| | | |
| | |
| | |
| | | |
Requested in !1228 but overlooked
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This gets rid of a lot of repeated `oneshot::<...<Result, ...>>` and
a bit of repeated functional code, etc.
|
| | | | |
|
| | | | |
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
RPC: Suppress a warning to do with RPC and SOCKS
See merge request tpo/core/arti!1237
|
| |/ /
| |
| |
| | |
Fixes `cargo check`
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
proto: Convert MsgHandler API to expect a message, not a cell.
Closes #887
See merge request tpo/core/arti!1236
|
| | | |
| | |
| | |
| | | |
Closes #887.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
RPC: Functionality to downcast dyn Object to a dyn Trait.
See merge request tpo/core/arti!1225
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a rather tricky piece of functionality. It works as
follows.
We introduce a `CastTable` type. Each `CastTable` tells us how to
downcast `dyn Object` for objects of a single concrete type.
The `Object` type now has a `get_casttable` method that returns
an empty `CastTable` by default.
`CastTable` is, internally, a map from the `TypeId` of the target
dyn Trait reference type to a function
`fn(&dyn Object) -> &dyn Trait`. These functions are stored as
`Box<dyn Any + ...>`. (They are Boxed because they may refer to
generic functions, which you can't get a static reference to,
and they're Any because the functions have different types.)
The `decl_object!` macro now implements `get_casttable` as
appropriate. (The syntax is a bit janky, but that's what we get
for not using derive_adhoc.) For non-generic types, `get_casttable`
uses a Lazy<CastTable>`. to initialize a CastTable exactly once.
For generic types, it use a `Lazy<RwLock<HashMap<..>>` to
build one CastTable per instantiation of the generic type.
This could probably be optimized a bit more, the yaks could be
shaved in a more scintillating hairstyle, and the syntax for
generic `decl_object` could definitely be improved.
|
| | | | | |
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
tor-error: Document another potential cause for OnionServiceDescriptorValidationFailed.
See merge request tpo/core/arti!1215
|
| | | | |
| | | |
| | | |
| | | | |
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
OnionServiceDescriptorValidationFailed.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
hsclient: fill in a bunch of introduce/rendezvous logic
See merge request tpo/core/arti!1235
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This code tries to fill in some TODO HS code, replacing it with a
lot more code with a bunch more TODO HS comments. Hopefully the
expansions of the new TODO HS comments should be simpler.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
I am pretty sure that C tor works around this somehow; we should
figure out how!
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We want the ability to send the same handshake request in parallel
on multiple introduce circuits. This implies encoding the client
handshake more than once.
(Sadly we can't _actually_ do this in the protocol as it stands,
since the onion service can use a separate KP_hss_ntor for each
introduction point; I'll add a comment to that effect later.)
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
On a client's circuit to the rendezvous point, we need to first wait
for an `RENDEZVOUS_ESTABLISHED` message, and then for a
`RENDEZVOUS2` message.
|
| | | | | |
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We need the fix from [82d69902], which first appeared in async-trait
version 1.54. (Technically we only need this fix in tor-hsclient,
but we may as well update our minimal async-trait version everywhere.)
[82d69902]: https://github.com/dtolnay/async-trait/commit/82d69902535f5cb7f5d9e1ea4168c64abd496389
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Implement Redactable for RelayIds, and other improvements
Closes #882
See merge request tpo/core/arti!1233
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Formerly we would display just the first characters of the identity,
without telling you what kind of ID it was.
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Correct documentation and API on ClientCirc::send_control_message
Closes #885 and #881
See merge request tpo/core/arti!1232
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When we break the 1:1 relationship of message and cell, we'll want
this API to take messages, not cells.
This API is experimental, so we don't need to call it a semver
break.
Closes #881.
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Formerly we said that it would not return until the handler
was uninstalled. This is incorrect: it returns as soon as the
message is sent and the handler installed.
Closes #885.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
netdir: Wrap HsDir an Arc<>
Closes #883
See merge request tpo/core/arti!1234
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This change reduces the cost of cloning a `NetDir`. It's fine
since–although we replace the HsDir once–we never modify it once it
exists.
Closes #883.
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
add documentation for configuring snowflake pt
Closes #879 and #875
See merge request tpo/core/arti!1216
|