Increase MSRV to 1.51 (#217)
* Increase MSRV to 1.51 * Adding MSRV note Co-authored-by: Kevin Lewi <[email protected]>
This commit is contained in:
@@ -17,7 +17,7 @@ jobs:
|
|||||||
- u32_backend
|
- u32_backend
|
||||||
toolchain:
|
toolchain:
|
||||||
- stable
|
- stable
|
||||||
- 1.41.0
|
- 1.51.0
|
||||||
name: test
|
name: test
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
@@ -94,7 +94,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
toolchain:
|
toolchain:
|
||||||
- stable
|
- stable
|
||||||
- 1.41.0
|
- 1.51.0
|
||||||
name: test simple_login command-line example
|
name: test simple_login command-line example
|
||||||
steps:
|
steps:
|
||||||
- name: install expect
|
- name: install expect
|
||||||
@@ -118,7 +118,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
toolchain:
|
toolchain:
|
||||||
- stable
|
- stable
|
||||||
- 1.41.0
|
- 1.51.0
|
||||||
name: test digital_locker command-line example
|
name: test digital_locker command-line example
|
||||||
steps:
|
steps:
|
||||||
- name: install expect
|
- name: install expect
|
||||||
|
|||||||
+21
-21
@@ -20,32 +20,32 @@ serialize = ["serde", "base64", "generic-array/serde", "curve25519-dalek/serde"]
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
argon2 = { version = "0.2", optional = true }
|
argon2 = { version = "0.2", optional = true }
|
||||||
base64 = { version = "0.13", optional = true }
|
base64 = { version = "0.13", optional = true }
|
||||||
constant_time_eq = "0.1.5"
|
constant_time_eq = "0.1"
|
||||||
curve25519-dalek = { version = "3.1.0", default-features = false, features = ["std"] }
|
curve25519-dalek = { version = "3", default-features = false, features = ["std"] }
|
||||||
digest = "0.9.0"
|
digest = "0.9"
|
||||||
displaydoc = "0.1.7"
|
displaydoc = "0.2"
|
||||||
generic-array = "0.14.4"
|
generic-array = "0.14"
|
||||||
generic-bytes = { version = "0.1.0" }
|
generic-bytes = { version = "0.1" }
|
||||||
hkdf = "0.11.0"
|
hkdf = "0.11"
|
||||||
hmac = "0.11.0"
|
hmac = "0.11"
|
||||||
rand = "0.8"
|
rand = "0.8"
|
||||||
serde = { version = "1", features = ["derive"], optional = true }
|
serde = { version = "1", features = ["derive"], optional = true }
|
||||||
subtle = { version = "2.3.0", default-features = false }
|
subtle = { version = "2.3", default-features = false }
|
||||||
thiserror = "1.0.22"
|
thiserror = "1"
|
||||||
zeroize = { version = "~1.1.1", features = ["zeroize_derive"] }
|
zeroize = { version = "1", features = ["zeroize_derive"] }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
anyhow = "1.0.35"
|
anyhow = "1"
|
||||||
base64 = "0.13.0"
|
base64 = "0.13"
|
||||||
bincode = "1"
|
bincode = "1"
|
||||||
chacha20poly1305 = "0.7.1"
|
chacha20poly1305 = "0.8"
|
||||||
criterion = "=0.3.4"
|
criterion = "0.3"
|
||||||
hex = "0.4.2"
|
hex = "0.4"
|
||||||
lazy_static = "1.4.0"
|
lazy_static = "1"
|
||||||
serde_json = "1.0.60"
|
serde_json = "1"
|
||||||
sha2 = "0.9.2"
|
sha2 = "0.9"
|
||||||
proptest = "0.10.1"
|
proptest = "1"
|
||||||
rustyline = "6.3.0"
|
rustyline = "8"
|
||||||
|
|
||||||
[[bench]]
|
[[bench]]
|
||||||
name = "oprf"
|
name = "oprf"
|
||||||
|
|||||||
@@ -25,6 +25,10 @@ Add the following line to the dependencies of your `Cargo.toml`:
|
|||||||
opaque-ke = "0.6.0"
|
opaque-ke = "0.6.0"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Minimum Supported Rust Version
|
||||||
|
|
||||||
|
Rust **1.51** or higher.
|
||||||
|
|
||||||
Resources
|
Resources
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
|||||||
+28
-28
@@ -40,23 +40,23 @@ pub enum InternalPakeError<T = Infallible> {
|
|||||||
HmacError,
|
HmacError,
|
||||||
/// Computing the slow hashing function failed
|
/// Computing the slow hashing function failed
|
||||||
SlowHashError,
|
SlowHashError,
|
||||||
/// This error occurs when the envelope seal fails
|
/** This error occurs when the envelope seal fails
|
||||||
/// Constructing the envelope seal failed.
|
Constructing the envelope seal failed. */
|
||||||
SealError,
|
SealError,
|
||||||
/// This error occurs when the envelope seal open fails
|
/** This error occurs when the envelope seal open fails
|
||||||
/// Opening the envelope seal failed.
|
Opening the envelope seal failed. */
|
||||||
SealOpenError,
|
SealOpenError,
|
||||||
/// This error occurs when the envelope seal open hmac check fails
|
/** This error occurs when the envelope seal open hmac check fails
|
||||||
/// HMAC check in seal open failed.
|
HMAC check in seal open failed. */
|
||||||
SealOpenHmacError,
|
SealOpenHmacError,
|
||||||
/// This error occurs when the envelope cannot be constructed properly
|
/** This error occurs when the envelope cannot be constructed properly
|
||||||
/// based on the credentials that were specified to be required.
|
based on the credentials that were specified to be required. */
|
||||||
InvalidEnvelopeStructureError,
|
InvalidEnvelopeStructureError,
|
||||||
/// This error occurs when attempting to open an envelope of the wrong
|
/** This error occurs when attempting to open an envelope of the wrong
|
||||||
/// type (base mode, custom identifier)
|
type (base mode, custom identifier) */
|
||||||
IncompatibleEnvelopeModeError,
|
IncompatibleEnvelopeModeError,
|
||||||
/// This error occurs when the envelope is opened and deserialization
|
/** This error occurs when the envelope is opened and deserialization
|
||||||
/// fails
|
fails */
|
||||||
UnexpectedEnvelopeContentsError,
|
UnexpectedEnvelopeContentsError,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,12 +137,12 @@ impl InternalPakeError {
|
|||||||
/// Represents an error in password checking
|
/// Represents an error in password checking
|
||||||
#[derive(Clone, Display, Eq, Hash, PartialEq)]
|
#[derive(Clone, Display, Eq, Hash, PartialEq)]
|
||||||
pub enum PakeError<T = Infallible> {
|
pub enum PakeError<T = Infallible> {
|
||||||
/// This error results from an internal error during PRF construction
|
/** This error results from an internal error during PRF construction
|
||||||
///
|
|
||||||
/// Internal error during PRF verification: {0}
|
Internal error during PRF verification: {0} */
|
||||||
CryptoError(InternalPakeError<T>),
|
CryptoError(InternalPakeError<T>),
|
||||||
/// This error occurs when the server object that is being called finish() on is malformed
|
/** This error occurs when the server object that is being called finish() on is malformed
|
||||||
/// Incomplete set of keys passed into finish() function
|
Incomplete set of keys passed into finish() function */
|
||||||
IncompleteKeysError,
|
IncompleteKeysError,
|
||||||
/// The provided server public key doesn't match the sealed one
|
/// The provided server public key doesn't match the sealed one
|
||||||
IncompatibleServerStaticPublicKeyError,
|
IncompatibleServerStaticPublicKeyError,
|
||||||
@@ -209,23 +209,23 @@ impl PakeError {
|
|||||||
/// Represents an error in protocol handling
|
/// Represents an error in protocol handling
|
||||||
#[derive(Clone, Display, Eq, Hash, PartialEq)]
|
#[derive(Clone, Display, Eq, Hash, PartialEq)]
|
||||||
pub enum ProtocolError<T = Infallible> {
|
pub enum ProtocolError<T = Infallible> {
|
||||||
/// This error results from an error during password verification
|
/** This error results from an error during password verification
|
||||||
///
|
|
||||||
/// Internal error during password verification: {0}
|
Internal error during password verification: {0} */
|
||||||
VerificationError(PakeError<T>),
|
VerificationError(PakeError<T>),
|
||||||
/// This error occurs when the inner envelope is malformed
|
/// This error occurs when the inner envelope is malformed
|
||||||
InvalidInnerEnvelopeError,
|
InvalidInnerEnvelopeError,
|
||||||
/// This error occurs when the server answer cannot be handled
|
/** This error occurs when the server answer cannot be handled
|
||||||
/// Server response cannot be handled.
|
Server response cannot be handled. */
|
||||||
ServerError,
|
ServerError,
|
||||||
/// This error occurs when the server specifies an envelope credentials
|
/** This error occurs when the server specifies an envelope credentials
|
||||||
/// format that is invalid
|
format that is invalid */
|
||||||
ServerInvalidEnvelopeCredentialsFormatError,
|
ServerInvalidEnvelopeCredentialsFormatError,
|
||||||
/// This error occurs when the client request cannot be handled
|
/** This error occurs when the client request cannot be handled
|
||||||
/// Client request cannot be handled.
|
Client request cannot be handled. */
|
||||||
ClientError,
|
ClientError,
|
||||||
/// This error occurs when the client detects that the server has
|
/** This error occurs when the client detects that the server has
|
||||||
/// reflected the OPRF value (beta == alpha)
|
reflected the OPRF value (beta == alpha) */
|
||||||
ReflectedValueError,
|
ReflectedValueError,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,10 @@
|
|||||||
//! Note: This implementation is in sync with [draft-irtf-cfrg-opaque-05](https://www.ietf.org/archive/id/draft-irtf-cfrg-opaque-05.html),
|
//! Note: This implementation is in sync with [draft-irtf-cfrg-opaque-05](https://www.ietf.org/archive/id/draft-irtf-cfrg-opaque-05.html),
|
||||||
//! but this specification is subject to change, until the final version published by the IETF.
|
//! but this specification is subject to change, until the final version published by the IETF.
|
||||||
//!
|
//!
|
||||||
|
//! ### Minimum Supported Rust Version
|
||||||
|
//!
|
||||||
|
//! Rust **1.51** or higher.
|
||||||
|
//!
|
||||||
//! # Overview
|
//! # Overview
|
||||||
//!
|
//!
|
||||||
//! OPAQUE is a protocol between a client and a server. They must first agree on a collection of primitives
|
//! OPAQUE is a protocol between a client and a server. They must first agree on a collection of primitives
|
||||||
|
|||||||
Reference in New Issue
Block a user