| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |/ |
|
| |\
| |
| |
| |
| | |
arti: Remove 'rustls/tls12' feature
See merge request tpo/core/arti!3540
|
| | |
| |
| |
| |
| |
| |
| | |
We don't rely on this within the arti crate, and tor-rtcompat already
sets this. It's confusing to have it here as well. If the arti ecosystem
requires this, it should be enabled on the lower level crates (like it
already is in tor-rtcompat) so that arti-client users get it too.
|
| | |
| |
| |
| |
| |
| |
| | |
With a protocol violation, we have to immediately deal with such event
before emitting anything on the wire.
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This mirrors also the relay reactor. We've introduced the ProtoViolation
into a previous commit which is not an action but rather an "event" that
happened on a circuit.
And so, better semantic. No behavior change.
Signed-off-by: David Goulet <[email protected]>
|
| | | |
|
| | |
| |
| |
| | |
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| | |
Because of https://gitlab.torproject.org/tpo/core/torspec/-/issues/385
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| | |
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| | |
Same as the client reactor, a message outside of our restricted set
leads to a reactor shutdown.
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| | |
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| | |
Move the client specific unit tests into the client module.
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit removes the CircuitRx* based solely on the client circuit
message and moves it into the top level of the crate so all reactors can
use them.
The client reactor then upon receiving the message, it converts the
AnyChanMsg into a ClientCircChanMsg. On error, this leads to a shutdown
of the entire reactor due to a fatal error.
In order to pull this off, we added a CircuitAction::Shutdown that is
handled as a priority.
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| | |
This follows the move of the client specific object.
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Next commit will also move the Relay specific set into the relay module.
These two sets are becoming specific to the reactor as the circuit
reactor communication channel will use AnyChanMsg instead.
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| | |
Signed-off-by: David Goulet <[email protected]>
|
| |\ \
| | |
| | |
| | |
| | | |
arti-relay: Install default ring crypto provider
See merge request tpo/core/arti!3539
|
| | |/
| |
| |
| |
| |
| |
| |
| | |
This is what arti uses, and fixes the warning:
```text
WARN tor_rtcompat::impls::rustls: Creating a RustlsRuntime, but no CryptoProvider is installed. The application should call CryptoProvider::install_default()
```
|
| |\ \
| | |
| | |
| | |
| | | |
tor-netdoc: derive-based netdoc encoder
See merge request tpo/core/arti!3535
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
I feel that before merging all this, I ought at least to demonstrate
that it can be applied to at least one real type!
We can unconditionally `#[derive(Deftly)]`. That is simpler, and
harmless if no actual deftly derives are applied.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The test case documents are often not in canonical form. We don't
want to change them to be in canonical form because we want to test
parsing edge cases. So, we provide a mangling scheme with in-document
notes, and annotate all the documents.
Apply suitable annotations to all the documents.
Test that the encoded forms are as expected.
This reverts commit 05e7b8b60061a7e8a8d004a822cc213d3ea22d47.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make this whole module conditional on the encode feature.
Apply the derives. Provide the necessary manual implementations for
the types where we use `with`.
|
| | | |
| | |
| | |
| | |
| | | |
Signature encoding is not yet supported. We need to consider how this
will work.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We want to recognise `#[deftly(netdoc(debug))]` because otherwise we
have to make lots of these attributes conditional.
So, implement it for *all* the derives, providing a nugatory debug
statement.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
What is being written to here is StderrLock, not a String.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
While testing I discovered that the `#[deftly(netdoc(debug))]`
feature (which dumps parsing progress to stderr) didn't compile if the
derive was invoked from elsewhere.
|
| | | |
| | |
| | |
| | | |
This makes it possible to use $F_KEYWORD_REPORT within another concat.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Code motion fromk NetdocParseableFields to NetdocFieldsDeriveCommon.
This uses the derive-deftly imported doc comment feature.
|
| | | |
| | |
| | |
| | | |
Code motion from NetdocParseable to NetdocEntireDeriveCommon.
|
| | | |
| | |
| | |
| | | |
Code motion from ItemValueParseable to NetdocItemDeriveCommon.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Code motion from NetdocParseable to NetdocEntireDeriveCommon.
Code motion from NetdocParseableFields to NetdocFieldsDeriveCommon.
Again, the encoder wants exactly this logic.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Code motion from NetdocSomeItemsParseableCommon to
NetdocSomeItemsDeriveCommon.
Encoding wants exactly the same logic.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
There is nothing actually in any of these yet. But it is most
convenient to lay out the structure now.
We'll move code into these modules in forthcoming commits.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is only used for structs which contain items, not item value
structs.
We need a name that reflects this, especially as we are going to add a
bunch more modules full of common macro elements.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Now we use all the imports. We're still adding much code, though.
|