| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | |
|
| | | |
| | |
| | |
| | | |
Include suitable dire warnings about actually using it.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Here we give every Circuit in a conflux set its own
PaddingEventStream, and poll it as appropriate.
We don't yet actually implement the "take an action" code.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
This will make it easier to refactor this as needed.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
Explain how exactly its "you-must-poll-me" behavior relates to the
rest of the Sink ecosystem.
|
| | | | |
|
| |/ /
| |
| |
| |
| | |
It cleans up and changes a few things. Changelog at
https://github.com/maybenot-io/maybenot/blob/main/crates/maybenot/CHANGELOG.md
|
| |\ \
| | |
| | |
| | |
| | | |
proto: Move implementation-agnostic conflux parts to a new module
See merge request tpo/core/arti!3229
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
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`)
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
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.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
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.
|