| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These will be used for validating SWITCH cells.
Part of #2031
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We no longer need to clone `CongestionWindowParams` now that it
implements `Copy`.
Resolves a clippy warning.
|
| |/ / / /
| | | |
| | | |
| | | |
| | | | |
These will likely always just be a collection of integers (lightweight
to copy).
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
Circuit padding: note when cells are sent and received
See merge request tpo/core/arti!3222
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
(This was so much easier than reporting on the send side.)
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(This is what required us to stick a padding controller handle in each
CircEnt, and what required us to accompany each queued cell with a
QueuedPaddingCellInfo. Ouch!)
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This requires some annoying plumbing to make sure that the right
types wind up in the right places.
|
| | | | |
| | | |
| | | |
| | | | |
(I'm about to add more fields.)
|
| | | | |
| | | |
| | | |
| | | | |
Also, use it to report that we have queued normal data.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We'll need this so that we can tell the right padding machine(s)
which of them just had a queue flush.
This is not yet 100% done; the unfinished parts are marked with
XXXXs.
|
| | |/ /
|/| | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-dircommon: Initial commit
See merge request tpo/core/arti!3205
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit initializes the `tor-dircommon` crate: A crate serving the
purpose to form an umbrella for the lowest common denominator primitives
found across crates implementing (parts of) the directory specification.
For now, the only such primitive is the found within the `authority`
module, which has been refactored from `tor-dirmgr` into this crate,
alongside additional getter functions due to the lack of `pub(crate)` in
this context.
In the future, we may move further primitives away from `tor-dirmgr`
into `tor-dircommon`.
|