-
Notifications
You must be signed in to change notification settings - Fork 34
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
deps: update to newer rand/hkdf crates #21
Comments
Also note that bumping I have some ideas for SRP API changes, so I wanted to bump dependencies together with them. |
Sounds good to me. I'll keep an eye on Incidentally, how does one learn what the MSRV is for any particular crate? Do you just keep trying to compile it with older and older ones until something fails? Or is there some Cargo.toml notation, or tool that tells you what features you're using, or something like that? |
AFAIK there is no such tool (you can't even declare crate MSRV right now...). You only can check MSRV as part of CI tests and automatically re-run them periodically to detect potential regressions in your dependency tree. |
Got it, thanks. I ran
I see that our |
|
It looks like curve25519-dalek 1.0.0-1.0.3 worked with rustc-1.31.1, but their 1.1.0 release requires 1.32.0 or newer. So a constraint of I'll file a PR to add CI for 1.32.0, and to tighten the dependency. I'll also increase the RUSTFMT pin to 1.32 since that's what we need now (and it looks like a few cosmetic changes will result). |
1.31.1 is our intended MSRV (Minimum Supported Rust Version), but we probably don't actually work there because of an insufficiently-constrained dependency that requires 1.32. 1.32 is probably our actual MSRV, and will be the one we aim for going forward. refs RustCrypto#21
Ok, the travis PR is filed, and as expected it fails against 1.31.1 (I put it in a The |
This was just "1", which accidentally caused our MSRV to be raised from 1.31 to 1.32 without a spake2 minor-version bump (dalek-1.0.x compiles with rustc-1.31, but dalek-1.1.x required 1.32). Hopefully by making it "1.2", our MSRV will remain at 1.32 until we explicitly decide to take on a dependency that needs something newer. refs RustCrypto#21
This will also increase the MSRV to rust-1.32 or later. refs RustCrypto#21
I always prefer to keep |
This was previously locked down at a specific version (1.31.0, much older than the current 1.36), so we'd get consistent behavior over time. But since we allow the rustfmt build to fail (it's in allow_failures), we don't need this consistency so much. PR authors are expected to format their code against the current stable rustfmt, but test it against the MSRV (currently 1.32.0). refs RustCrypto#21
This was just "1", which accidentally caused our MSRV to be raised from 1.31 to 1.32 without a spake2 minor-version bump (dalek-1.0.x compiles with rustc-1.31, but dalek-1.1.x required 1.32). Hopefully by making it "1.2", our MSRV will remain at 1.32 until we explicitly decide to take on a dependency that needs something newer. refs RustCrypto#21
This was just "1", which allowed our MSRV to be accidentally raised from 1.31 to 1.32 without a deliberate spake2 minor-version bump (dalek-1.0.x compiles with rustc-1.31, but dalek-1.1.x required 1.32). Hopefully by making it "1.2", our MSRV will remain at 1.32 until we explicitly decide to take on a dependency that needs something newer. refs RustCrypto#21
This will also increase the MSRV to rust-1.32 or later. refs RustCrypto#21
This will also increase the MSRV to rust-1.32 or later. refs RustCrypto#21
I don't know what the Rust convention is, but when I see
cargo outdated
telling me that there are newer versions of dependencies that we might use, I'm tempted to upgrade. SPAKE2 is currently out-of-date on HKDF and therand
crate.I've got a PR for spake2's use of HKDF that I'll submit in a minute, but we can't update to
rand-0.7
untilcurve25519-dalek
does the same, because the random-element selection API cites arand_core::CryptoRng
trait that must be the same on both sides of the interface.I haven't looked closely at SRP, but it's behind on both
rand
(which should be easy) andgeneric-array
(about which I have no idea).The text was updated successfully, but these errors were encountered: