| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This enables us to make the conflux handler logic
implementation-agnostic (we want to avoid using `CircuitCmd` here,
because it is specific to client circuits).
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This moves the shared types under `tor_proto::conflux`.
Note: the shared types currently import `CircuitCmd` from `client`. A
future commit will change the signature of `handle_msg` to return
something other than `CircuitCmd` (this will also improve readability,
because in reality, that function can never return most `CircuitCmd`
variants).
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`tor_proto::conflux` is where the shared conflux logic will live.
Soon the generic parts of the conflux handlers will be moved there
(whereas the client-specific `AbstractConfluxMsgHandler` impl will
continue living under `tor_proto::client`).
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This will enable us to pull `ConfluxMsgHandler` outside of the `client`
module (this is needed because relays are meant to use this type as
well, but with a different `AbstractMsgHandler`)
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
CI: Remove --verbose from cargo commands
See merge request tpo/core/arti!3234
|
| | |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is taking up a lot of space in our CI longs, and hasn't
actually helped us out in the past.
Possible solution for #2155
|
| |\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | | |
proto: Define a new composable SinkBlocker type.
See merge request tpo/core/arti!3228
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This type wraps a futures::Sink, and allows it to be temporarily blocked
and unblocked.
I'm going to use this to implement padding-based circuit blocking,
according to the designs in !3225.
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Pin CI to cargo-sort 2.0.1
See merge request tpo/core/arti!3232
|
| |/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
There are significant changes in the output from cargo-sort 2.0.2,
so let's pause at 2.0.1 until we decide on our next step.
Temporary solution for #2156.
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
arti: keys: Add arti keys check-integrity
See merge request tpo/core/arti!3161
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
tor-bytes: simplify comment
See merge request tpo/core/arti!3230
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The first sentence states that we have to reallocate and the
second one states that we "might" have to do so. Skip the
redundancy.
While at it, use the term "to zeroize" instead of introducing
"to zero", since the former is already used in a subsequent
sentence.
|
| |\ \ \ \ \ \ \
| |_|/ / / / /
|/| | | | | |
| | | | | | |
| | | | | | | |
Initialize tor-dirserver
See merge request tpo/core/arti!3192
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This commit allows `#[allow(clippy::cognitive_complexity)]` in
`HttpServer::serve` and `HttpServer::handler_tx`. Allowing this might
be controversial but both functions, especially the latter one, are well
documented.
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This commit uses `tor_error::Bug` for indicating thread poisoning.
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This commit renames `cb` to `endpoint_fn` everywhere, including internal
implementations.
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This commit enables `PRAGMA foreign_keys=ON;` for every connection by
adding an appropriate statement to `schema::prepare_db`.
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This commit refactors a large part of the HTTP module, namely it
refactors the `Callback` type to a new type called `EndpointFn` which
now works in a transaction based approach and no longer gives access to
the `StoreCache`. The type itself is also no longer a trait but a
concrete type using `fn`.
Another very notable change that became necessary during this commit was
to make large parts of the codebase synchronous instead of async, namely
because it is non-trivial to `Send` a `Transaction` created inside an
async context to a synchronous function. Besides, this change has been
deemed necessary for other reasons to.
The refactoring to more synchronous code has lead to some interesting
changes in `StoreCache` too, namely that in no longer uses async mutex,
but a synchronous mutex instead.
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This commit implements the initial draft for the HTTP module.
It is fairly complicated but well documented within the source code,
please refer to that instead.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This commit adds the `schema.rs` module, which implements the database
schema alongside some functions for initializing the database and
obtaining the database schema version.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This commit lays the initial groundwork for the `tor-dirserver` crate,
a crate that shall implement functionality for dirmirros and dirauths.
For now, the current crate consists of three bare bone modules:
* lib.rs
* err.rs
* mirror.rs
All of which contain mostly boilerplate code for now
|
| |\ \ \ \ \ \ \
| |/ / / / / /
|/| | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
proto: Add extra validation for conflux SWITCH
Closes #2031
See merge request tpo/core/arti!3181
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This makes it clearer that the tunnel shutdown is triggered correctly
(i.e. that it is enough for *one* of the legs to receive the bad SWITCH
cell).
This also updates a comment that wrongly suggests that the tunnel is
only shut down if both legs get removed from the conflux set.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The test code now creates the params (which enables it to build test
cases that use various params).
Resolves a TODO.
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Also removes all the TODOs related to #2031 (which is now addressed).
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Closes #2031
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This partially addresses #2031
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This will be needed for the SWITCH seqno validation logic.
Part of #2031
|