diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index abfc2582..f984a36c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -22,7 +22,7 @@ jobs: - stable - beta - nightly - - 1.52.0 # MSRV + - 1.56.0 # MSRV os: - ubuntu-latest - macos-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index b41342ad..104d13d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +### 0.17.2 + +__Date:__ August 16, 2022. + +__Changelog:__ + +- BLAKE2b `Hasher` enum now implements `Debug + PartialEq` ([#278](https://github.com/orion-rs/orion/issues/278) (by @black-eagle17)). +- Removed unmaintained `audit-check` and replaced with `cargo-deny` ([#292](https://github.com/orion-rs/orion/pull/292)). +- Allow Unicode-DFS-2016 license in dev-dependency tree ([#291](https://github.com/orion-rs/orion/pull/291)). + ### 0.17.1 __Date:__ January 30, 2022. diff --git a/Cargo.toml b/Cargo.toml index c72b0125..a3f08c8f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "orion" -version = "0.17.1" # Update html_root_url in lib.rs along with this. +version = "0.17.2" # Update html_root_url in lib.rs along with this. authors = ["brycx "] description = "Usable, easy and safe pure-Rust crypto" keywords = [ "cryptography", "crypto", "aead", "hash", "mac" ] categories = [ "cryptography", "no-std" ] edition = "2018" -rust-version = "1.52" # Update CI test along with this. +rust-version = "1.56" # Update CI test along with this. readme = "README.md" repository = "https://github.com/orion-rs/orion" documentation = "https://docs.rs/orion" diff --git a/README.md b/README.md index 33157a55..5b1ce91c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # orion -[![Tests](https://github.com/orion-rs/orion/workflows/Tests/badge.svg)](https://github.com/orion-rs/orion/actions) [![Daily tests](https://github.com/orion-rs/orion/workflows/Daily%20tests/badge.svg)](https://github.com/orion-rs/orion/actions) [![dudect](https://github.com/orion-rs/orion-dudect/workflows/dudect/badge.svg)](https://github.com/orion-rs/orion-dudect/actions) [![Security Audit](https://github.com/orion-rs/orion/workflows/Security%20Audit/badge.svg)](https://github.com/orion-rs/orion/actions) [![codecov](https://codecov.io/gh/orion-rs/orion/branch/master/graph/badge.svg)](https://codecov.io/gh/orion-rs/orion) [![Documentation](https://docs.rs/orion/badge.svg)](https://docs.rs/orion/) [![Crates.io](https://img.shields.io/crates/v/orion.svg)](https://crates.io/crates/orion) [![Safety Dance](https://img.shields.io/badge/unsafe-forbidden-success.svg)](https://github.com/rust-secure-code/safety-dance/) [![MSRV](https://img.shields.io/badge/MSRV-1.52-informational.svg)](https://img.shields.io/badge/MSRV-1.52-informational) [![Matrix](https://img.shields.io/matrix/orion-rs:matrix.org.svg?logo=matrix)](https://matrix.to/#/#orion-rs:matrix.org) +[![Tests](https://github.com/orion-rs/orion/workflows/Tests/badge.svg)](https://github.com/orion-rs/orion/actions) [![Daily tests](https://github.com/orion-rs/orion/workflows/Daily%20tests/badge.svg)](https://github.com/orion-rs/orion/actions) [![dudect](https://github.com/orion-rs/orion-dudect/workflows/dudect/badge.svg)](https://github.com/orion-rs/orion-dudect/actions) [![Security Audit](https://github.com/orion-rs/orion/workflows/Security%20Audit/badge.svg)](https://github.com/orion-rs/orion/actions) [![codecov](https://codecov.io/gh/orion-rs/orion/branch/master/graph/badge.svg)](https://codecov.io/gh/orion-rs/orion) [![Documentation](https://docs.rs/orion/badge.svg)](https://docs.rs/orion/) [![Crates.io](https://img.shields.io/crates/v/orion.svg)](https://crates.io/crates/orion) [![Safety Dance](https://img.shields.io/badge/unsafe-forbidden-success.svg)](https://github.com/rust-secure-code/safety-dance/) [![MSRV](https://img.shields.io/badge/MSRV-1.56-informational.svg)](https://img.shields.io/badge/MSRV-1.56-informational) [![Matrix](https://img.shields.io/matrix/orion-rs:matrix.org.svg?logo=matrix)](https://matrix.to/#/#orion-rs:matrix.org) ### About Orion is a cryptography library written in pure Rust. It aims to provide easy and usable crypto while trying to minimize the use of unsafe code. You can read more about Orion in the [wiki](https://github.com/orion-rs/orion/wiki). @@ -20,7 +20,7 @@ Orion uses formally verified arithmetic, generated by Fiat Crypto, for the X2551 See the [SECURITY.md](https://github.com/orion-rs/orion/blob/master/SECURITY.md) regarding recommendations on correct use, reporting security issues and more. Additional information about security regarding Orion is available in the [wiki](https://github.com/orion-rs/orion/wiki/Security). ### Minimum Supported Rust Version -Rust 1.52 or later is supported however, the majority of testing happens with latest stable Rust. +Rust 1.56 or later is supported however, the majority of testing happens with latest stable Rust. MSRV may be changed at any point and will not be considered a SemVer breaking change. diff --git a/src/errors.rs b/src/errors.rs index da37ea01..9a7c99f6 100644 --- a/src/errors.rs +++ b/src/errors.rs @@ -22,6 +22,7 @@ use core::fmt; +#[allow(clippy::derive_partial_eq_without_eq)] /// Opaque error. #[derive(Clone, Copy, PartialEq)] pub struct UnknownCryptoError; diff --git a/src/hazardous/ecc/x25519.rs b/src/hazardous/ecc/x25519.rs index 0c979f4a..af4244c9 100644 --- a/src/hazardous/ecc/x25519.rs +++ b/src/hazardous/ecc/x25519.rs @@ -372,6 +372,7 @@ fn mont_ladder(scalar: &Scalar, point: FieldElement) -> FieldElement { x2 } +#[allow(clippy::derive_partial_eq_without_eq)] // NOTE: FieldElement contains a constant-time PartialEq impl. /// A type that represents a `PublicKey` that X25519 uses. /// @@ -465,6 +466,7 @@ impl PublicKey { } } +#[allow(clippy::derive_partial_eq_without_eq)] // NOTE: Scalar contains a constant-time PartialEq impl. // NOTE: All newtypes impl Drop by default and Scalar has zeroizing Drop /// A type to represent the `PrivateKey` that X25519 uses. diff --git a/src/hazardous/hash/blake2/blake2b.rs b/src/hazardous/hash/blake2/blake2b.rs index 7d9f97f1..b12e0f36 100644 --- a/src/hazardous/hash/blake2/blake2b.rs +++ b/src/hazardous/hash/blake2/blake2b.rs @@ -115,6 +115,7 @@ impl Blake2b { } } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Debug, PartialEq)] /// Convenience functions for common BLAKE2b operations. pub enum Hasher { diff --git a/src/hazardous/stream/chacha20.rs b/src/hazardous/stream/chacha20.rs index c8616fb2..770138a7 100644 --- a/src/hazardous/stream/chacha20.rs +++ b/src/hazardous/stream/chacha20.rs @@ -270,7 +270,6 @@ impl ChaCha20 { let mut iter = inplace.chunks_exact_mut(16); - #[allow(clippy::branches_sharing_code)] if self.is_ietf { wr0 = wr0.wrapping_add(self.state[0]); wr1 = wr1.wrapping_add(self.state[1]); diff --git a/src/high_level/kex.rs b/src/high_level/kex.rs index b6660c29..2d5a406f 100644 --- a/src/high_level/kex.rs +++ b/src/high_level/kex.rs @@ -183,6 +183,7 @@ impl EphemeralServerSession { } } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Debug, PartialEq)] /// A set of shared secrets for either transmitting to this entity or send to another party. pub struct SessionKeys { diff --git a/src/lib.rs b/src/lib.rs index c6f42fea..2004d9a7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -64,7 +64,7 @@ unused_qualifications, overflowing_literals )] -#![doc(html_root_url = "https://docs.rs/orion/0.17.1")] +#![doc(html_root_url = "https://docs.rs/orion/0.17.2")] #![cfg_attr(docsrs, feature(doc_cfg))] #[cfg(test)]