| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |/ / / /
| |/| | | |
| | | | | |
| | | | | | |
We're going to call this new closure another time.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Without this, if the substructure is provided, these fields are
mandatory within it.
|
| |\ \ \ \ \ \
| |_|_|/ / /
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Top-level (arti and arti-client) features to enable crypto acceleration
Closes #441
See merge request tpo/core/arti!590
|
| | |\ \ \ \ \
| | | |/ / /
| | |/| | |
| | | | | | |
# Conflicts:
# crates/arti-client/Cargo.toml
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
These need to be optional: they improve performance by shifting to
asm implementations, which may not be everybody's idea of good practice.
These are not 'pure' features, since they select one implementation
but disable another. Therefore they don't go in `full`.
Closes #441.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
SHA1 is a reasonably large part of our CPU usage (sigh), and this
implementation is 20-50% faster, depending on arch.
|
| | |/ / / /
|/| | | |
| | | | |
| | | | | |
Our gitlab admins are standardizing on this variant.
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add "full" and "experimental" features to arti, arti-client, and below.
Closes #499
See merge request tpo/core/arti!584
|
| | |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Rustls uses ring, which uses code from BoringSSL, which derived from
OpenSSL before OpenSSL changed their license. So ring is currently
under 3BSD/SSLEay licenses, which aren't GPL-compatible, which may
be a problem for some people.
See #493.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also, unify the features documentation format for those two crates,
and document previously undocumented features there.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The "full" feature is a catch-all for all features, _except_:
* Those that select a particular implementation (like
tor-llcrypto/with-openssl) or build flag (like "static")
* Those that are experimental or unstable (like "experimental-api")
* Those that are testing-only.
|
| |\ \ \ \ \
| |_|/ / /
|/| | | |
| | | | |
| | | | | |
Fix several clippy issues, most with nightly
See merge request tpo/core/arti!588
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Without this, clippy is error-free, but `cargo test` somehow gives a
warning.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
There is not, apparently, an eprintln equivalent for
allow-dbg-in-tests.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is apparently a new warning from clippy nightly, documented in
https://rust-lang.github.io/rust-clippy/master/index.html#significant_drop_in_scrutinee .
I'm not in love with the temporary variables that this warning wants
me to introduce, but it does seem like a decent way to avoid some
kinds of deadlock.
|
| | | |/ /
| |/| | |
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
tor-netdir: testnet: Make construct_netdir infallible
See merge request tpo/core/arti!585
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Run rustfmt. Separate commit to make review of the substantive commit
easier.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This is a *lot* of unwraps. The function takes no parameters and
is used only for testing. It ought to be infallible.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Use TaskSchedule to sleep in directory bootstrapping
Closes #497
See merge request tpo/core/arti!571
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This will allow somebody else to call bootstrap() if bootstrap() fails
the first time.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This change also means that we need to create the handle and scheduler
earlier in the process of creating the DirMgr. If we don't, we won't
have a way to manage the task before bootstrap() returns.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This change (not yet exposed as an API) will let the TorClient have
a `TaskHandle` corresponding to the directory task, letting it
make the directory task dormant as needed.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Having this alias makes it easier to implement more complex
schedules, like those used in DirMgr.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Unlike "cancel" and "fire", "suspend" and "resume" don't change any
pending timers or events: they just prevent execution of those
events for a while, and let them resume later on.
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
config: Be consistent about Option
Closes #488
See merge request tpo/core/arti!582
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
As per point 3 in
https://gitlab.torproject.org/tpo/core/arti/-/issues/488
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
As per point 1 in
https://gitlab.torproject.org/tpo/core/arti/-/issues/488
|
| |\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | |
| | | | | |
| | | | | | |
tor-error: Fix a broken intra-doc link
See merge request tpo/core/arti!580
|
| | |/ / / /
| | | | |
| | | | |
| | | | | |
I didn't spot this in review amongst the other messages from Nightly.
|
| |\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
tor-bytes: read_nested_*: Take a closure
Closes #498
See merge request tpo/core/arti!579
|
| | | | | |
| | | | |
| | | | |
| | | | | |
I disagree with almost all of these layout decisions...
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This eliminates the possibility of writing the bug of failing to call
`should_be_exhausted`.
As per this discussion
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/572#note_2811464
Fixes #498
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Have channel reactor able to send channel padding
See merge request tpo/core/arti!574
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
There aren't very many.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| |\ \ \ \ \
| |_|/ / /
|/| | | |
| | | | |
| | | | | |
Replace four very similar "ids in request"
See merge request tpo/core/arti!577
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In reviewing !553 I noticed that the empty digest list error had to be
handled in two places. I filed #492 about the duplication.
In fact it turns out to have been quadruplication.
The new code also avoids cloning the underlying objects, instead
sorting a Vec of references.
|