| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
Part of #1459
|
| | |
|
| |
|
|
|
|
| |
We will soon need these helpers outside of `tor-guardmgr` too.
This commit is mainly code motion.
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
tls: Support export keying material (RFC 5705)
Closes #1432
See merge request tpo/core/arti!2185
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a function to get the keying material as detailed by RFC 5705.
Because native-tls doesn't have such support, there is a place holder
panic!() for now.
This means that for the forseable future, relay would only work with
rustls until we figure out a solution for native-tls.
Closes #1432
Signed-off-by: David Goulet <[email protected]>
|
| |\ \
| |/
|/|
| |
| |
| |
| | |
dirmgr::storage: Treat a missing blob file as an absent object.
Closes #1466
See merge request tpo/core/arti!2200
|
| | |
| |
| |
| | |
SQL is case-insensitive, but it is still nice to be consistent.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch removes files from dir_blobs if they are not referenced
from the database, or if their filenames are not valid UTF-8.
(If they were not valid UTF-8, we wouldn't have put them in our
database.)
To ensure that there can't be any race conditions, we only do this
when the file is a bit old.
|
| | |
| |
| |
| |
| | |
Previously, we were putting an (optional) db.sql file and our blobs
into the same path, which is not what we do outside of our tests.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
Without this, "ON DELETE CASCADE" will do nothing.
Part of fixing #1466.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously it was counted as a hard error, which would cause an
absolute failure to start if a blob file had been deleted improperly
-- for example, by a renegade cache-cleaner that had decided to
remove the largest files it could find.
Upon encountering a missing blob, we remove it from the database as
well: if we did not, then unavailable consensuses could still cause
us to try to fetch consensus diffs, because their rows would still
be present.
Fixes #1466.
|
| |\ \
| | |
| | |
| | |
| | | |
Update to derive-deftly 0.12.1
See merge request tpo/core/arti!2209
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Change `pub` to `export`
* Change the `=` in define to `:`
* Change `pub_template_semver_check` to `template_export_semver_check`
Right now, 0.12.1 supports both syntaxes. I have verified this branch
also compiles with
https://gitlab.torproject.org/Diziet/rust-derive-deftly/-/merge_requests/402
ee171ffaf56d7dcb7d75584054921153fe19b222
|
| | | |
| | |
| | |
| | |
| | |
| | | |
* Bump in Cargo.toml
* Deal with `${Xmeta as ...}` incompatible change, by
always specifying an `as`, and changing `as tokens`.
|
| | | |
| | |
| | |
| | |
| | | |
I propose we move each subcommand implementation to a `subcommand`
submodule.
|
| |/ /
| |
| |
| | |
This addresses a TODO.
|
| |\ \
| | |
| | |
| | |
| | | |
rtcompat: Set disable_built_in_roots with native_tls, to save memory with openssl
See merge request tpo/core/arti!2203
|
| | |/
| |
| |
| |
| |
| |
| | |
When using openssl on Linux, this saves us about 1.4 MB due to not
loading the default CAs and CRLs (which Tor doesn't use.)
Addresses part of #1027.
|
| | |
| |
| |
| |
| |
| | |
This should help limit our memory usage when restarting from cache.
Possible (imperfect) solution for #1027.
|
| |/ |
|
| |\
| |
| |
| |
| | |
relay: Add relay cargo feature flag and subcommand
See merge request tpo/core/arti!2182
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add the optional non default feature flag "relay" that will be used to
enable relay support of arti.
This commit also adds the "relay" subcommand to arti binary conditionnal
on the feature flag in order to have a place holder starting point.
Signed-off-by: David Goulet <[email protected]>
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
RPC: Use RPC methods instead of the "ClientConnectionTarget" trait.
Closes #1427
See merge request tpo/core/arti!2192
|
| | | | |
|
| | | | |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On its own, this might not seem like a huge improvement, but it will
later let us implement these RPC methods for types that can't
reasonably implement ClientConnectionTarget.
It also serves as a proof of concept that special-method invocation
can actually work, so that we can build things like this in cases
where introducing a trait isn't practical.
Closes #1427
|
| |\ \
| | |
| | |
| | |
| | | |
RFC: Provide and use SometimesUnboundedSender in circuit reactor
See merge request tpo/core/arti!2172
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
If only I'd used a macro for these, but that's not entirely
straightforward.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |/
|/| |
|
| | |
| |
| |
| |
| | |
Every method is either "special" or not; therefore, it is always a
Bug if we look for an rpc_invoker and don't find one.
|
| | | |
|
| | |
| |
| |
| | |
The context will make it possible to invoke rpc methods.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This lets us get rid of a now-spurious `RequestContext` wrapper type
and an extra layer of indirection; it will also make it easier to
treat a Connection _as_ a context, so that we can have a context in
the socks-rpc interface code.
This patch removes a TODO about "treading carefully" when we make
this change. When I added that TODO, I had misremembered some
implementation details of the RPC object system.
|
| | |
| |
| |
| | |
This will allow us to implement rpc::Context on Connection directly.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Doing it this way will allow us to invoke methods without holding
the read lock on the table, implicitly or via the future.
I am not yet removing the methods on DispatchTable, since the tests
need them; I've added TODOs to revisit and remove later.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Formerly we used a Box. That was okay at first, but now that we
want RPC methods to be able to invoke other RPC methods, we don't
want the Invocable methods to have to consume the Context.
This requires that Context become Sync.
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
The 1.2.4 release is out, so we won't be needing these anymore.
|