Skip to content

Upgrade all crates to the 2024 edition and bump MSRV to 1.85 - #913

Merged
tarcieri merged 33 commits into
RustCrypto:masterfrom
baloo:baloo/edition-2024
Mar 1, 2025
Merged

Upgrade all crates to the 2024 edition and bump MSRV to 1.85#913
tarcieri merged 33 commits into
RustCrypto:masterfrom
baloo:baloo/edition-2024

Conversation

@baloobaloo left a comment

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Opinion about RandomizedSignerMut signature?

// Generate the message randomizer C
let mut c = <Output<Mode::Hasher>>::default();
rng.fill_bytes(&mut c);
rng.try_fill_bytes(&mut c).map_err(|_| Error::new())?;

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We kind of eat the error here. This might be a bad idea.

I wish we could do Error::from_source instead, but that would require the RandomizedSignerMut to change its signature to something like:

fn try_sign_with_rng<E: core:error::Error, R: TryCryptoRng<Error = E>>(
&mut self,
rng: &mut R,
msg: &[u8],
) -> Result<Signature<Mode>, Error> {
``
Not sure.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can potentially consider something like that

Comment threadecdsa/src/signing.rs
let z = bits2field::<C>(prehash)?;
let mut ad = FieldBytes::<C>::default();
rng.fill_bytes(&mut ad);
rng.try_fill_bytes(&mut ad).map_err(|_| Error::new())?;

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

similar situation here.

@baloo
balooforce-pushed the baloo/edition-2024 branch 2 times, most recently from 2e419ca to 733b105CompareFebruary 24, 2025 06:37
@tarcieri

Copy link
Copy Markdown
Member

@baloo can you rebase?

@erik-3milabs

Copy link
Copy Markdown

Would it be possible to include new elliptic-curve and ecdsa pre-releases with this PR? 😄

Currently, ecdsa@0.17.0-pre.9 and crypto-bigint@0.6.0 do not work together, because:

  • elliptic-curve@0.14.0-rc.1 (on which ecdsa depends) pins serdect=0.3.0-rc.0, while
  • crypto-bigint@0.6.0 requires ^0.3.

elliptic-curvehas already been updated to use 0.3.0; it just needs a new release for these packages to work together again.

I might be mistaken, but all I think needs to happen is:

  • release elliptic-curve@0.14.0-rc.2
  • have ecdsa depend on this new release, and
  • release ecdsa@0.17.0-pre.9.

If this is not the right place and/or time, I'm happy to create a separate issue for it :)

@tarcieri

Copy link
Copy Markdown
Member

@erik-3milabs we generally do releases in separate PRs to keep ones like this focused

@baloo

baloo commented Feb 24, 2025

Copy link
Copy Markdown
MemberAuthor

Just to mitigate expectations, I don't know if we'll be able to release elliptic-curve until the situation of group and ff support of rand_core 0.9 is sorted out. (RustCrypto/traits#1751 (comment))

@erik-3milabs

Copy link
Copy Markdown

@erik-3milabs we generally do releases in separate PRs to keep ones like this focused

In that case, would there be a point in raising an issue for this?

@tarcieri

Copy link
Copy Markdown
Member

Sure, please open a separate issue

@baloo

Copy link
Copy Markdown
MemberAuthor

Anything else needed here?

@tarcieri
tarcieri merged commit 0e69f92 into RustCrypto:masterMar 1, 2025
@baloo
baloo deleted the baloo/edition-2024 branch March 1, 2025 02:52
This was referenced May 3, 2026
This was referenced Jun 30, 2026
@baloobaloo mentioned this pull request Jul 14, 2026
Sign up for freeto 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.

3 participants

@baloo@tarcieri@erik-3milabs