summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | arti cfg tests: Remove a redundant line that shadows an earlier bindingIan Jackson2022-06-161-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prompted by review https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/589#note_2813596
| * | | | | Fix grammar erroreta2022-06-161-1/+1
| | | | | |
| * | | | | arti: Enable some pre-config loggingIan Jackson2022-06-161-2/+16
| | | | | |
| * | | | | arti: Introduce closure which will be used for pre-config loggingIan Jackson2022-06-161-31/+52
| | | | | | | | | | | | | | | | | | | | | | | | Right now this is an IEFI and therefore a no-op.
| * | | | | arti cfg tests: Test that example config works as-isIan Jackson2022-06-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | It contains only sections, but we want to detect when that is a problem!
| * | | | | arti: cfg tests: Refactor to prepare for new testIan Jackson2022-06-161-16/+23
| | |/ / / | |/| | | | | | | | | | | | | We're going to call this new closure another time.
| * | | | Add some missing `serde(default)` to uses of humantime_serde::optionIan Jackson2022-06-162-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Without this, if the substructure is provided, these fields are mandatory within it.
* | | | | Merge branch 'main' into 'accel-features'Nick Mathewson2022-06-1629-158/+271
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | # Conflicts: # crates/arti-client/Cargo.toml
| * | | | Merge branch 'high-level-features' into 'main'Nick Mathewson2022-06-1612-86/+166
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add "full" and "experimental" features to arti, arti-client, and below. Closes #499 See merge request tpo/core/arti!584
| | * | | | Remove "rustls" from "full", for license reasons.Nick Mathewson2022-06-154-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | Merge branch 'clippy_20220614' into 'main'Nick Mathewson2022-06-157-12/+21
| |\ \ \ \ \ | | |_|/ / / | |/| | | | | | | | | | | | | | | | Fix several clippy issues, most with nightly See merge request tpo/core/arti!588
| | * | | | Add one more "allow" to tor_netdoc::parse::macros.Nick Mathewson2022-06-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this, clippy is error-free, but `cargo test` somehow gives a warning.
| | * | | | Permit eprintln in channel-padding test.Nick Mathewson2022-06-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is not, apparently, an eprintln equivalent for allow-dbg-in-tests.
| | * | | | Fix clippy::significant_drop_in_scrutinee warningsNick Mathewson2022-06-154-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | Work around an erroneous warning from nightly clippyNick Mathewson2022-06-151-0/+3
| | | |/ / | | |/| |
| * | | | Merge branch 'unwrap' into 'main'Nick Mathewson2022-06-138-45/+15
| |\ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | tor-netdir: testnet: Make construct_netdir infallible See merge request tpo/core/arti!585
| | * | | tor-netdir: testnet: Make construct_netdir infallible (rustfmt)Ian Jackson2022-06-136-30/+10
| | | | | | | | | | | | | | | | | | | | | | | | | Run rustfmt. Separate commit to make review of the substantive commit easier.
| | * | | tor-netdir: testnet: Make construct_netdir infallibleIan Jackson2022-06-138-15/+5
| | | | | | | | | | | | | | | | | | | | | | | | | This is a *lot* of unwraps. The function takes no parameters and is used only for testing. It ought to be infallible.
| * | | | Merge branch 'dormant_directory' into 'main'Nick Mathewson2022-06-137-90/+218
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use TaskSchedule to sleep in directory bootstrapping Closes #497 See merge request tpo/core/arti!571
| | * | | | DirMgr: Use scopeguard crate in place of ad hoc RAII substitutesNick Mathewson2022-06-132-68/+19
| | | | | |
| | * | | | Put the task schedule back when the dl task exits.Nick Mathewson2022-06-131-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow somebody else to call bootstrap() if bootstrap() fails the first time.
| | * | | | New API to expose and use TaskHandle from DirMgr.Nick Mathewson2022-06-133-2/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | DirMgr: Refactor bootstrap to use a TaskSchedule for sleeping.Nick Mathewson2022-06-102-32/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | TaskSchedule: Add a sleep_until_wallclock method too.Nick Mathewson2022-06-102-2/+15
| | | | | |
| | * | | | Add a `sleep` function to TaskSchedule.Nick Mathewson2022-06-071-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having this alias makes it easier to implement more complex schedules, like those used in DirMgr.
| | * | | | Add "suspend" and "resume" to TaskSchedule.Nick Mathewson2022-06-071-0/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | Merge branch 'option' into 'main'eta2022-06-133-1/+7
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | config: Be consistent about Option Closes #488 See merge request tpo/core/arti!582
| | * | | | | config: document semver changeIan Jackson2022-06-101-0/+1
| | | | | | |
| | * | | | | config: Suppose that we might extend resolve_option to non-T::DefaultIan Jackson2022-06-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per point 3 in https://gitlab.torproject.org/tpo/core/arti/-/issues/488
| | * | | | | config: Do not strip_option for journald (and in future)Ian Jackson2022-06-102-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per point 1 in https://gitlab.torproject.org/tpo/core/arti/-/issues/488
| * | | | | | Merge branch 'doc' into 'main'eta2022-06-131-1/+2
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-error: Fix a broken intra-doc link See merge request tpo/core/arti!580
| | * | | | | | tor-error: Fix a broken intra-doc linkIan Jackson2022-06-101-1/+2
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | I didn't spot this in review amongst the other messages from Nightly.
* | | | | | | Add "accel-*" features to arti-client and arti.Nick Mathewson2022-06-134-2/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | Add a feature to tor-llcrypto to enable sha-1/asm.Nick Mathewson2022-06-132-41/+51
| |_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | SHA1 is a reasonably large part of our CPU usage (sigh), and this implementation is 20-50% faster, depending on arch.
* | | | | | Document "full", "experimental" in toplevel crate documentation.Nick Mathewson2022-06-132-82/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, unify the features documentation format for those two crates, and document previously undocumented features there.
* | | | | | Add "full" and "experimental" features to arti.Nick Mathewson2022-06-101-0/+7
| | | | | |
* | | | | | Add "full" and "experimental" features to arti-client and below.Nick Mathewson2022-06-109-4/+30
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge branch 'nested-read-write' into 'main'Nick Mathewson2022-06-102-40/+61
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | tor-bytes: read_nested_*: Take a closure Closes #498 See merge request tpo/core/arti!579
| * | | | tor-bytes: read_nested_*: rustfmtIan Jackson2022-06-101-13/+23
| | | | | | | | | | | | | | | | | | | | I disagree with almost all of these layout decisions...
| * | | | tor-bytes: read_nested_*: Take a closureIan Jackson2022-06-102-40/+51
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge branch 'channel' into 'main'Nick Mathewson2022-06-105-10/+606
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Have channel reactor able to send channel padding See merge request tpo/core/arti!574
| * | | | channel padding timer: Explain why next() in select_biased!Ian Jackson2022-06-091-0/+7
| | | | |
| * | | | channel padding timer: document state invariantsIan Jackson2022-06-091-2/+24
| | | | | | | | | | | | | | | | | | | | There aren't very many.
| * | | | Fix more typos in comments, from a spellcheckerIan Jackson2022-06-091-6/+6
| | | | |
| * | | | Fix typo in commentNick Mathewson2022-06-091-1/+1
| | | | |
| * | | | Fix erroneous commentNick Mathewson2022-06-091-1/+1
| | | | |
| * | | | Fix typos in commentsNick Mathewson2022-06-091-3/+3
| | | | |
| * | | | tor-proto: padding: Test padding timer distributionIan Jackson2022-06-082-0/+125
| | | | |
| * | | | tor-proto: channel: Use padding::TimerIan Jackson2022-06-083-12/+44
| | | | |
| * | | | tor-proto: channel: Provide padding::TimerIan Jackson2022-06-084-0/+410
| | | | |