summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Remove now-unused NoGuardsUsable case.Nick Mathewson2022-07-071-8/+2
| | |
| * | Improve message for failure to select a guard.Nick Mathewson2022-07-072-19/+48
| | | | | | | | | | | | This uses similar techniques to the commit I just did for Fallbacks.
| * | Add more information to failed-to-select fallback errors.Nick Mathewson2022-07-073-6/+23
| | | | | | | | | | | | Also re-order the filters to be a little more logical.
| * | FilterCount: Add a simple Display helper.Nick Mathewson2022-07-061-0/+34
| | | | | | | | | | | | | | | | | | This is a helper rather than a Display implementation because it isn't the only logical way to display these values. (In fact, without context, it isn't even the _most_ logical way)
| * | New "counting filter" iterator helper in tor-basic-utils.Nick Mathewson2022-07-062-0/+116
| | | | | | | | | | | | | | | | | | | | | This is going to make it simpler to write the code in guardmgr (and later in circmgr) that keeps track of how many relays were rejected for what reason. The latter, in turn, should improve error messages when we're unable to pick a guard or a path.
| * | GuardMgr: tweak an error message.Nick Mathewson2022-07-061-1/+1
| | |
* | | Merge branch 'generate_cert' into 'main'Nick Mathewson2022-07-086-80/+248
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Implement functionality to construct signed Ed25519 certs. Closes #511 See merge request tpo/core/arti!611
| * | | Implement functionality to construct signed Ed25519 certs.Nick Mathewson2022-07-064-79/+246
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is behind a feature flag, since it isn't needed for pure clients: only onion services and relays need this. I've named the object that constructs these certs `Ed25519CertConstructor` because it doesn't follow the builder pattern exactly: mainly because you can't get an Ed25519Cert out of it. _That_ part is necessary because we require that an Ed25519Cert should only exist if the certificate was found to be well-signed with the right public key. Closes #511.
| * | | tor-llcrypto: expose the Signer API from ed25519-dalekNick Mathewson2022-07-062-1/+2
| | | |
* | | | Improve display for tor-dircache errors.Nick Mathewson2022-07-072-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These errors no longer use Debug to dump the `Option<SourceInfo>`, but instead produce reasonable text. Also, I've fixed the SourceInfo Display implementation so that it now says that it got the error "from $source via $circuit" rather than the other way around.
* | | | dirclient: Generalize MdSha256Empty to EmptyRequest.Nick Mathewson2022-07-073-6/+13
| |_|/ |/| | | | | | | | | | | (It makes sense to use this for things that are not in fact lists of SHA256 digests of Microdescriptors.)
* | | Merge branch 'chanmgr-error-cleanup' into 'main'Ian Jackson2022-07-066-25/+60
|\ \ \ | | | | | | | | | | | | | | | | ChanMgr: Add more contextual info to error types. See merge request tpo/core/arti!616
| * | | Add a semver note.Nick Mathewson2022-07-061-0/+1
| | | |
| * | | ChanMgr: errors: attribute errors to correct address.Nick Mathewson2022-07-062-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | Even when keys are relevant, we still don't want to attribute errors to a set of addresses when we have a single address that we're connected with.
| * | | ChanMgr: Add more contextual info to error types.Nick Mathewson2022-07-064-25/+41
| | |/ | |/| | | | | | | | | | | | | Now each type has a peer. In some cases this peer is just an address, whereas in others (where key is relevant or address isn't yet narrowed down) it's a full OwnedChanTarget.
* | | Merge branch 'persist-error-cleanup' into 'main'eta2022-07-066-94/+259
|\ \ \ | |/ / |/| | | | | | | | tor-persist: Big refactoring on Error type. See merge request tpo/core/arti!614
| * | tor-persist: Big refactoring on Error type.Nick Mathewson2022-07-065-51/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Every error now has an action (what we were trying to do), a resource (what we were trying to do it to), and a source (what problem we encountered). Initially I tried to add "action" and "resource" fields to error variants individually, but that led to a combinatorial explosion. Part of #323.
| * | tor-persist: Move Error to a module.Nick Mathewson2022-07-064-75/+80
| | |
* | | Merge branch 'update-rsa-v2' into 'main'Ian Jackson2022-07-064-16/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Update `rsa` dependency (and use `x25519-dalek` prerelease) Closes #448 See merge request tpo/core/arti!612
| * | | Update `rsa` dependency (and use `x25519-dalek` prerelease)eta2022-07-064-16/+18
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - arti#448 and arti!607 highlight an issue with upgrading `rsa`: namely, the `x25519-dalek` version previously used has a hard dependency on `zeroize` 1.3, which creates a dependency conflict. - However, `x25519-dalek` version `2.0.0-pre.1` relaxes this dependency. Reviewing the changelogs, it doesn't look like that version is substantially different from the current one at all, so it should be safe to use despite the "prerelease" tag. - The new `x25519-dalek` version also bumps `rand_core`, which means we don't have to use the RNG compat wrapper in `tor-llcrypto` as much. closes arti#448
* | | Fix clippy needless derefIan Jackson2022-07-061-3/+3
| | |
* | | tor-netdoc: b64 tests: add exhaustive roundtrip testIan Jackson2022-07-062-0/+43
|/ /
* / Add unit tests for arti-hyper's uri -> host,port,tls conversionspongechameleon2022-07-051-0/+73
|/
* Merge branch 'bump-base64ct' into 'main'Ian Jackson2022-07-052-19/+7
|\ | | | | | | | | Bump `base64ct` crate `1.5.0` -> `1.5.1` See merge request tpo/core/arti!608
| * Bump `base64ct` crate `1.5.0` -> `1.5.1`Arturo Marquez2022-06-272-19/+7
| | | | | | | | | | | | This new release checks for invalid symbols in non-padded inputs for decoding. Therefore, we can get rid of the logic implemented in `https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/600`
* | Merge remote-tracking branch 'origin/mr/610'Nick Mathewson2022-07-051-1/+1
|\ \
| * | Fixed typo in convert_curve25519_to_ed25519_private commentsRichard Pospesel2022-06-291-1/+1
| | |
* | | Fix typoDimitris Apostolou2022-06-281-1/+1
| |/ |/|
* | Remove semver.md files now that 0.5.0 is outNick Mathewson2022-06-2412-21/+0
| |
* | Bump crate and dependency versions.Nick Mathewson2022-06-2429-160/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were done with the following commands: ``` cargo set-version -p tor-basic-utils --bump patch cargo set-version -p fs-mistrust --bump minor cargo set-version -p tor-error --bump patch cargo set-version -p tor-config --bump patch cargo set-version -p tor-units --bump patch cargo set-version -p tor-rtcompat --bump minor cargo set-version -p tor-llcrypto --bump patch cargo set-version -p tor-bytes --bump minor cargo set-version -p tor-socksproto --bump minor cargo set-version -p tor-cert --bump minor cargo set-version -p tor-cell --bump minor cargo set-version -p tor-proto --bump minor cargo set-version -p tor-netdoc --bump patch cargo set-version -p tor-netdir --bump minor cargo set-version -p tor-persist --bump patch cargo set-version -p tor-chanmgr --bump minor cargo set-version -p tor-guardmgr --bump minor cargo set-version -p tor-circmgr --bump patch cargo set-version -p tor-dirclient --bump patch cargo set-version -p tor-dirmgr --bump minor cargo set-version -p arti-client --bump patch cargo set-version -p arti --bump minor cargo set-version -p arti-bench --bump minor cargo set-version -p arti-testing --bump minor ```
* | Increment versions of crates with trivial changes only.Nick Mathewson2022-06-2411-11/+11
| | | | | | | | | | | | "Trivial" here includes stuff like cargo reformatting, comment edits, error message string changes, and clippy warning changes. Crates that depend on these do not need to increment.
* | Merge branch 'clippy' into 'main'Ian Jackson2022-06-2447-6/+204
|\ \ | | | | | | | | | | | | Fix clippy nightly again See merge request tpo/core/arti!603
| * | clippy: Consolidate many lints in maint/add_warningIan Jackson2022-06-2411-6/+61
| | | | | | | | | | | | | | | | | | Found these by disabling the nightly dbg macro special case. Now, we have a mechanism for globally adding suppressions to tests, we can use that instead.
| * | clippy: Add standard test lint block to several examplesIan Jackson2022-06-245-0/+30
| | |
| * | maint/add_warning: Add two lints via add_warning as a test caseIan Jackson2022-06-241-0/+2
| | |
| * | maint/add_warning: Add ability maintain test lint blocksIan Jackson2022-06-241-0/+3
| | |
| * | Run maint/add_warning crates/*/src/{lib,main}.rsIan Jackson2022-06-2336-0/+108
| | | | | | | | | | | | Update all lint blocks
* | | Merge branch 'dirmgr' into 'main'Nick Mathewson2022-06-241-53/+49
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | dirmgr: followups to !587, mostly using iterators Closes #468 See merge request tpo/core/arti!599
| * | | dirmgr: Use ... .find().is_none() rather than clippy's suggestionIan Jackson2022-06-231-2/+4
| | | |
| * | | dirmgr: DirBootstrapStatus: Refactor mut_status_for using entries_mutIan Jackson2022-06-221-27/+25
| | | | | | | | | | | | | | | | IMO this is rather less confusing.
| * | | dirmgr: Use new statuses() helper methodIan Jackson2022-06-221-21/+6
| | | | | | | | | | | | | | | | The two call sites become clearer, IMO.
| * | | dirmgr: DirBootstrapStatus: Provide statuses and entries_mutIan Jackson2022-06-221-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We're going to use these in a moment. One returns entries and the other statuses simply because that's what's actually going to be wanted.
| * | | dirmgr: Remove a TODO commentIan Jackson2022-06-221-4/+0
| | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/587#note_2815945
* | | | Merge branch 'error_cleanup_2' into 'main'eta2022-06-2423-162/+302
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Error refactoring: bytes, cert, proto. See merge request tpo/core/arti!604
| * | | | tor-proto: split and elaborate tor_bytes::Error instancesNick Mathewson2022-06-2313-55/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of these were for decoding particular objects (we now say what kind of objects), and some were unrelated tor_cert errors that for some reason we had shoved into a tor_bytes::Error. There is now a separate tor_cert::CertError type, independent from tor_cert's use of `tor_bytes::Error` for parsing errors.
| * | | | tor-proto: Split CellErr based on activity.Nick Mathewson2022-06-236-18/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Failing to encode is fundamentally different from failing to decode. We now treat those separately, and describe _what_ we failed to encode or decode.
| * | | | tor-proto: clean up error names and messagesNick Mathewson2022-06-2312-85/+90
| | | | | | | | | | | | | | | | | | | | | | | | | This avoids adding additional information for now; that will come on the next commits.
| * | | | tor-bytes: Split EncodeError from ErrorNick Mathewson2022-06-233-8/+18
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since there is currently only one error type that can occur when encoding, it doesn't make sense to use the full Error type here. This split will help us downstream, as we no longer need to categorize tor_bytes::Error as "an error in encoding or decoding". I considered renaming Error to DecodeError, but that had pretty huge downstream effects, and didn't seem to be worth it.
* | | | Fix a couple of typos in rustdoc comments.Nick Mathewson2022-06-242-2/+2
| | | |
* | | | Update README.md files from rustdoc.Nick Mathewson2022-06-245-127/+199
| | | |