summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | | 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
| | | | |
* | | | | Merge branch 'format-ids' into 'main'Ian Jackson2022-06-102-28/+51
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | Replace four very similar "ids in request" See merge request tpo/core/arti!577
| * | | | dirclient: Fix comments re conssensus request without authoritiesIan Jackson2022-06-101-5/+3
| | | | |
| * | | | dirclient: Replace four very similar "ids in request"Ian Jackson2022-06-092-28/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | dirclient: Test consensus request based on empty ConsensusRequestIan Jackson2022-06-091-0/+8
| |/ / / | | | | | | | | | | | | | | | | | | | | I'm not sure this is right. But providing a test case for it before my next change ensures that my refactoring doesn't change the behaviour.
* | | | Fix typosDimitris Apostolou2022-06-102-4/+4
| | | |
* | | | Fix typos in docs and commentsNick Mathewson2022-06-091-2/+2
| | | |
* | | | tor-cell: udp: Remove manual length calculationsIan Jackson2022-06-092-23/+11
| | | | | | | | | | | | | | | | | | | | This does away entirely with `wire_addr_len`, which recapitulates the length calculation.
* | | | tor-bytes: Provide nested writersIan Jackson2022-06-092-1/+117
| | | |
* | | | tor-bytes: Provide nested readersIan Jackson2022-06-092-0/+70
| | | |
* | | | tor-bytes: Reader: Provide take_restIan Jackson2022-06-092-0/+20
| | | | | | | | | | | | | | | | We'll want this in a moment.
* | | | tor-bytes: Prepare errors for nested reader/writerIan Jackson2022-06-091-1/+5
| | | | | | | | | | | | | | | | Writing is going to be able to give errors too.
* | | | Merge branch 'less-servfail' into 'main'Ian Jackson2022-06-097-15/+46
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | return nodata instead of servfail in some instances See merge request tpo/core/arti!564
| * | | | Change to exhaustive match.Ian Jackson2022-06-081-1/+2
| | | | |
| * | | | update semver.mdtrinity-1686a2022-06-081-0/+1
| | | | |
| * | | | try to differentiate transient from nontransient errortrinity-1686a2022-06-086-14/+33
| | | | |
| * | | | return nodata instead of servfail in some instancestrinity-1686a2022-06-081-3/+13
| |/ / /
* | | | Fix a second docs linkIan Jackson2022-06-081-1/+1
| | | |
* | | | Fix a doc linkIan Jackson2022-06-081-1/+1
|/ / /
* | | Merge branch 'sleep' into 'main'Ian Jackson2022-06-0813-64/+143
|\ \ \ | | | | | | | | | | | | | | | | Plumb a SleepProvider (now Clone + ....) into Channel See merge request tpo/core/arti!569
| * | | Document semver changesIan Jackson2022-06-082-0/+2
| | | |
| * | | Plumb a SleepProvider into the channel reactorIan Jackson2022-06-086-58/+122
| | | | | | | | | | | | | | | | | | | | The channel reactor is going to want to be able to sleep so that it can do padding, so it needs a SleepProvider.