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

pem-rfc7468+spki: relax base64ct requirements to ^1 #239

Merged
merged 1 commit into from
Nov 17, 2021

Conversation

tarcieri
Copy link
Member

Neither of these crates are depending on functionality added after the original v1.0 release.

However, they were pinned to 1.2 instead of 1 following the latest round of prereleases, effectively by mistake when the version in their respective Cargo.toml files was changed from a prerelease to the final release.

This makes these crates (and anything depending on them) mutually incompatible with at least the password-hash crate, which has base64ct pinned to prevent MSRV breakages:

https://github.com/RustCrypto/traits/runs/4239715372?check_suite_focus=true

error: failed to select a version for `base64ct`.
    ... required by package `spki v0.5.1`
    ... which satisfies dependency `spki = "^0.5"` of package `pkcs8 v0.8.0`
    ... which satisfies dependency `pkcs8 = "^0.8"` of package `sec1 v0.2.0`
    ... which satisfies dependency `sec1 = "^0.2"` of package `elliptic-curve v0.11.0-pre (/home/runner/work/traits/traits/elliptic-curve)`
    ... which satisfies path dependency `elliptic-curve` of package `crypto v0.4.0-pre (/home/runner/work/traits/traits/crypto)`
versions that meet the requirements `^1.2` are: 1.2.0

all possible versions conflict with previously selected packages.

  previously selected package `base64ct v1.0.1`
    ... which satisfies dependency `base64ct = ">=1, <1.1.0"` of package `password-hash v0.3.2 (/home/runner/work/traits/traits/password-hash)`
    ... which satisfies path dependency `password-hash` of package `crypto v0.4.0-pre (/home/runner/work/traits/traits/crypto)`

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

Relaxing the version requirements fixes this incompatibility.

Neither of these crates are depending on functionality added after the
original v1.0 release.

However, they were pinned to `1.2` instead of `1` following the latest
round of prereleases, effectively by mistake when the version in their
respective Cargo.toml files was changed from a prerelease to the final
release.

This makes these crates (and anything depending on them) mutually
incompatible with at least the `password-hash` crate, which has
`base64ct` pinned to prevent MSRV breakages:

https://github.com/RustCrypto/traits/runs/4239715372?check_suite_focus=true

```
error: failed to select a version for `base64ct`.
    ... required by package `spki v0.5.1`
    ... which satisfies dependency `spki = "^0.5"` of package `pkcs8 v0.8.0`
    ... which satisfies dependency `pkcs8 = "^0.8"` of package `sec1 v0.2.0`
    ... which satisfies dependency `sec1 = "^0.2"` of package `elliptic-curve v0.11.0-pre (/home/runner/work/traits/traits/elliptic-curve)`
    ... which satisfies path dependency `elliptic-curve` of package `crypto v0.4.0-pre (/home/runner/work/traits/traits/crypto)`
versions that meet the requirements `^1.2` are: 1.2.0

all possible versions conflict with previously selected packages.

  previously selected package `base64ct v1.0.1`
    ... which satisfies dependency `base64ct = ">=1, <1.1.0"` of package `password-hash v0.3.2 (/home/runner/work/traits/traits/password-hash)`
    ... which satisfies path dependency `password-hash` of package `crypto v0.4.0-pre (/home/runner/work/traits/traits/crypto)`

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

Relaxing the version requirements fixes this incompatibility.
@tarcieri tarcieri merged commit e5cae09 into master Nov 17, 2021
@tarcieri tarcieri deleted the pem-rfc7468+spki/relax-base64ct-requirements branch November 17, 2021 15:26
This was referenced Nov 17, 2021
tarcieri added a commit to RustCrypto/traits that referenced this pull request Nov 17, 2021
This is mainly to pick up the new releases of `pem-rfc7468` and `spki`
which now have relaxed `base64ct` requirements:

RustCrypto/formats#239

This should correct the build failures seen on `master`:

https://github.com/RustCrypto/traits/runs/4239715372?check_suite_focus=true
tarcieri added a commit to RustCrypto/traits that referenced this pull request Nov 17, 2021
This is mainly to pick up the new releases of `pem-rfc7468` and `spki`
which now have relaxed `base64ct` requirements:

RustCrypto/formats#239

This should correct the build failures seen on `master`:

https://github.com/RustCrypto/traits/runs/4239715372?check_suite_focus=true
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

1 participant