Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update rand and curve25519-dalek crates #33

Closed
wants to merge 4 commits into from

Conversation

warner
Copy link
Member

@warner warner commented Nov 30, 2019

This now only needs rand_core, not the full rand hierarchy, because the latest rand_core includes a basic OsRng function.

The latest curve25519-dalek uses zeroize, which uses the alloc feature, which raises the spake2 MSRV to rustc-1.36 .

It upgrades srp to use rand_core as well. The srp MSRV remains at rustc-1.32 .

I update the travis config to exercise 1.36, because it seemed too hard to make it test srp/spake2 with different versions.

fixes #21

@newpavlov you might want to defer this until you made the SRP API changes you mentioned in #21

@warner
Copy link
Member Author

warner commented Nov 30, 2019

Note that because of the new MSRV, the next spake2 release that includes this change should be at least version 0.3.0

This reduces our dependency load: the latest rand_core includes a basic
OsRng, which is all we need, so we don't need to pull in the entire rand
hierarchy.

Since the curve25519-dalek API includes the RngCore and CryptoRng traits, we
must update to the latest version so they'll match. This also pulls in
zeroize, which uses a feature named `alloc` that did not stabilize until
rustc 1.36.

This increases the 'spake2' MSRV to rust-1.36.
This reduces our dependency load: the latest rand_core includes a basic
OsRng, which is all we need, so we don't need to pull in the entire rand
hierarchy.

The 'srp' MSRV remains at rust-1.32.
'srp' now requires 1.32, and 'spake2' now requires 1.36. It would take more
work to change the travis config to exercise the two builds separately, so
I'm only going to have it test 1.36.
@warner warner marked this pull request as ready for review December 6, 2019 17:53
@warner warner requested a review from newpavlov December 6, 2019 17:53
@warner warner mentioned this pull request Dec 6, 2019
@warner
Copy link
Member Author

warner commented Feb 6, 2020

This might also make it easier to add Zeroize to the internal secrets, as that's also used by the latest curve25519-dalek.

@tarcieri
Copy link
Member

tarcieri commented Oct 7, 2020

@warner we've bumped MSRV to 1.41.0 now. Also there are newer releases you can upgrade to.

tarcieri added a commit that referenced this pull request Jan 22, 2022
This is a continuation of #33.

It bumps `curve25519-dalek` to the latest stable release and replaces
the `rand` crate with the version of `rand_core` which is compatible
with `curve25519-dalek`: v0.5 (which is still a version behind)
tarcieri added a commit that referenced this pull request Jan 22, 2022
This is a continuation of #33.

It bumps `curve25519-dalek` to the latest stable release and replaces
the `rand` crate with the version of `rand_core` which is compatible
with `curve25519-dalek`: v0.5 (which is still a version behind)
@tarcieri
Copy link
Member

Continued as #85

@tarcieri tarcieri closed this Jan 22, 2022
tarcieri added a commit that referenced this pull request Jan 22, 2022
This is a continuation of #33.

It bumps `curve25519-dalek` to the latest stable release and replaces
the `rand` crate with the version of `rand_core` which is compatible
with `curve25519-dalek`: v0.5 (which is still a version behind)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

deps: update to newer rand/hkdf crates
2 participants