summaryrefslogtreecommitdiff
path: root/crates/tor-bytes/src/impls.rs
Commit message (Collapse)AuthorAgeFilesLines
* Convert to the latest versions of dalek-cryptographyNick Mathewson2023-11-291-17/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main changes that we have to adjust for are as follows: * In x25519-dalek: * `StaticSecret` is now behind a feature. * `StaticSecret::new` is deprecated in favor of `StaticSecret::random_from_rng`. * StaticSecret no longer does its own clamping. * In ed25519-dalek: * `SecretKey` has (in effect) been renamed to `SigningKey`. The name `SecretKey` is now an alias for `[u8; 32]`. * `SigningKey` is effectively a keypair, since it contains a public key as well. * `PublicKey` has been renamed to `VerifyingKey`. * The functions to extract a signing key and verifying key have been renamed as you might expect. * `ExpandedSecretKey` has been moved to `hasmat` and no longer implements `sign`. * `ExpanededSecretKey` now has as its elements a scalar and a hash prefix. * Various functions that took `&[u8]` now take `&[u8; N]`. * We no longer need a wrapper for older versions of rand. There is a single test in tor-keymgr that does not pass. I've marked it as ignore for now, in hopes that @gabi-250 can help me figure it out. This closes #808. There are several changes I want to make before we merge, however. They are marked with TODO DALEK.
* Remove direct dependency on generic-arrayNick Mathewson2023-09-281-13/+8
| | | | | | | | | | Instead of tying ourselves to a particular version of the generic-array crate, we now always use the version re-exported by our RustCrypto crates. This lets us avoid the possibility of version mismatch. (Originally I had planned to upgrade to generic-array 1.0, but then I found that we were not actually using it.)
* tor-bytes: Remove use of arrayrefNick Mathewson2023-05-251-8/+8
| | | | | Part of #872: Now that const generics are in, we have better ways to express converting slices into array-references.
* tor-bytes: impl Readable and Writeable for CtByteArray.Nick Mathewson2023-02-281-0/+18
|
* Change tor_bytes::Error::BadMessage to a Cow.Nick Mathewson2023-02-091-2/+2
| | | | | | | | | | Actually, to avoid making a breaking change, I'm deprecating BadMessage and creating a new InvalidMessage variant that takes a Cow. This way I don't need to track every crate that re-exposes tor_bytes::Error and call this a breaking change in those. Making this change will allow tor_bytes errors to be much more helpful.
* Fix some rustdoc errors.Nick Mathewson2022-10-131-4/+4
| | | | | | In addition to the usual "You named that method wrong!" errors, we have a new rustdoc error that complains about bogus "HTML tags" that are actually unquoted usage of types like `Result<Foo>`.
* tor-bytes::impls: Remove usage of infallible writers.Nick Mathewson2022-07-111-2/+2
|
* Convert each write_onto_infallible implementation into write_onto.Nick Mathewson2022-07-111-14/+27
|
* Convert each write_into_infallible implementation into write_into.Nick Mathewson2022-07-111-1/+2
| | | | (There was only one.)
* Rename "write" methods on tor-bytes to "write_infallible".Nick Mathewson2022-07-111-16/+16
| | | | | | | | | | | | | | | This comprises four renames: ``` write_onto -> write_onto_infallible write_into -> write_into_infallible write -> write_infallible writer_and_consume -> write_and_consume_infallible. ``` The rest of this branch will be concerned with replacing these `_infallible` methods with ones that return a `Result`. This is part of #513.
* clippy: Drop an unused lifetimeIan Jackson2022-05-111-1/+1
|
* Fix grammar and typosSamanta Navarro2022-04-271-1/+1
|
* tor-bytes: Use InternalError.Nick Mathewson2022-02-091-1/+2
| | | | | | This crate's Error type is too low-level to have an ErrorKind, but it does make sense to use InternalError for the internal errors here.
* Upgrade to digest v0.10.0Nick Mathewson2021-12-071-6/+6
| | | | | We generally try to track the latest rust-crypto traits when we can: fortunately, this upgrade didn't break much, considering.
* Resolve roughly half of the XXXXs.Nick Mathewson2021-12-061-1/+1
| | | | | | | | We want to only use TODO in the codebase for non-blockers, and open tickets for anything that is a bigger blocker than a TODO. These XXXXs seem like definite non-blockers to me. Part of arti#231.
* Run "cargo update" to get latest versions.Nick Mathewson2021-11-291-0/+2
| | | | | | | Also fix a couple of warnings introduced by now-unneeded imports with new ed25519 crate. This is part of the process for releasing our next version.
* add semicolons if nothing returnedDaniel Eades2021-11-251-13/+13
|
* Fix a few typos.Nick Mathewson2021-11-241-1/+1
| | | | Also fix some commonwealth spellings that had slipped in.
* Run "cargo fix --edition-idioms=2018".Nick Mathewson2021-10-221-1/+1
|
* fix/silence clippy lints in test modulesDaniel Eades2021-09-081-1/+2
|
* Improvements to array-of-u8 handling in tor-bytes.Nick Mathewson2021-09-071-30/+31
| | | | | | | | | | | | Now that we have const generics, we can use them. We can also avoid an extra clone in the implementation for [u8; N]. Nothing in our codebase requires that we use Reader or Writer on a GenericArray holding anything other than u8, so I've switched back to the more efficient implementation there. I've added a fuzzer case for the new method, but apparently rustc nightly isn't working too well with fuzzers for me; I'm going to try it tomorrow.
* Document every macro.Nick Mathewson2021-09-071-1/+3
| | | | | (The nightly version of clippy now includes macros for its missing_docs_in_private_items lint.)
* Move all crates into a `crates` subdirectory.Nick Mathewson2021-08-271-0/+417
This will cause some pain for now, but now is really the best time to do this kind of thing.