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 elliptic-curve and digest #433

Merged
merged 8 commits into from
Jan 18, 2022

Conversation

daxpedda
Copy link
Contributor

@daxpedda daxpedda commented Jan 17, 2022

This builds on RustCrypto/traits#883.

The changes are minimal, a lot of added where bounds because of Hmac and changed Inverts associated type Output to CtOption<T>.

To separate or not to separate Currently there is an issue with having ring-compat reference a different version of signature then what the workspace has: ``` error: failed to select a version for `signature`. ... required by package `ecdsa v0.13.3` ... which satisfies dependency `ecdsa = "^0.13"` of package `ring-compat v0.4.0` ... which satisfies dependency `ring-compat = "^0.4"` of package `ed25519 v1.4.0-pre (**/ed25519)` versions that meet the requirements `>=1.3.1, <1.5` are: 1.4.0, 1.3.2, 1.3.1

all possible versions conflict with previously selected packages.

previously selected package signature v1.5.0
... which satisfies dependency signature = "^1.5" (locked to 1.5.0) of package ecdsa v0.13.4 (**/ecdsa)

failed to select a version for signature which could resolve this conflict

I circumvented this by updating ring-compat, but that is something I don't want to do because I have no clue what I'm doing there:
https://github.com/RustCrypto/ring-compat/compare/master...khonsulabs:ecdsa-digest

So I say either I actually manage to update rust-compat with some feedback, or we find a way to resolve this, for example by removing ed25519 from the workspace. Like is done in the traits repository with elliptic-curve. I would prefer not updating rust-compat.
</details>
I decided to go ahead and exclude ed25519 from the workspace. This should make updating easier.

ecdsa/Cargo.toml Outdated Show resolved Hide resolved
@tarcieri
Copy link
Member

@daxpedda you should be able to update this to use https://github.com/RustCrypto/traits.git as the upstream repo, and pin the elliptic-curve version to v0.12.0-pre

@daxpedda
Copy link
Contributor Author

Done.

ecdsa/Cargo.toml Outdated Show resolved Hide resolved
@tarcieri
Copy link
Member

elliptic-curve v0.12.0-pre.0 has been released to crates.io.

Note that MSRV is now 1.57.

@daxpedda
Copy link
Contributor Author

daxpedda commented Jan 18, 2022

I had to change the CI a bit because I excluded ed25519 from the workspace, I hope that's alright.

@daxpedda daxpedda marked this pull request as ready for review January 18, 2022 16:14
@tarcieri
Copy link
Member

Why did you need to exclude it from the workspace?

All three crates in the workspace are 2021 edition crates.

@daxpedda
Copy link
Contributor Author

Currently there is an issue with having ring-compat reference a different version of signature then what the workspace has:

error: failed to select a version for `signature`.
    ... required by package `ecdsa v0.13.3`
    ... which satisfies dependency `ecdsa = "^0.13"` of package `ring-compat v0.4.0`
    ... which satisfies dependency `ring-compat = "^0.4"` of package `ed25519 v1.4.0-pre (**/ed25519)`
versions that meet the requirements `>=1.3.1, <1.5` are: 1.4.0, 1.3.2, 1.3.1

all possible versions conflict with previously selected packages.

  previously selected package `signature v1.5.0`
    ... which satisfies dependency `signature = "^1.5"` (locked to 1.5.0) of package `ecdsa v0.13.4 (**/ecdsa)`

failed to select a version for `signature` which could resolve this conflict

I circumvented this by updating ring-compat, but that is something I don't want to do because I have no clue what I'm doing there:
RustCrypto/ring-compat@master...khonsulabs:ecdsa-digest

So I say either I actually manage to update rust-compat with some feedback, or we find a way to resolve this, for example by removing ed25519 from the workspace. Like is done in the traits repository with elliptic-curve. I would prefer not updating rust-compat.

I don't know any way to resolve it otherwise.

@tarcieri
Copy link
Member

Aha, makes sense

@tarcieri tarcieri merged commit 070d328 into RustCrypto:master Jan 18, 2022
tarcieri added a commit that referenced this pull request Jan 19, 2022
Reverts the changes from #433 that split the `ed25519` crate out into
its own namespace.

Instead, temporarily disables the `ring-compat` dependency and doctests
in the `ed25519` crate until it's updated to the latest version of the
`signature` crate.

Fixes #440
tarcieri added a commit that referenced this pull request Jan 19, 2022
Reverts the changes from #433 that split the `ed25519` crate out into
its own namespace.

Instead, temporarily disables the `ring-compat` dependency and doctests
in the `ed25519` crate until it's updated to the latest version of the
`signature` crate.

Fixes #440
This was referenced May 9, 2022
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.

None yet

2 participants