deps(deps): bump sha1 from 0.10.6 to 0.11.0#1157
Conversation
Bumps [sha1](https://github.com/RustCrypto/hashes) from 0.10.6 to 0.11.0. - [Commits](RustCrypto/hashes@sha1-v0.10.6...sha1-v0.11.0) --- updated-dependencies: - dependency-name: sha1 dependency-version: 0.11.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
|
Closing in favor of #1238 — RustCrypto 0.10 → 0.11 needs to be a coordinated bump of the whole stack (sha1 + sha2 + md-5 + hmac + pbkdf2 + hkdf + digest). This PR fails to compile because cargo pulls both digest 0.10 and digest 0.11 into the graph and the trait impls don't unify across versions.
|
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
Coordinated migration of the digest 0.10 -> 0.11 stack across our direct
deps. AEAD stack (aes/aes-gcm/aes-kw/cipher) stays on 0.8/0.10/0.3
pending aes-gcm 0.11 (still RC).
Bumps:
sha1 0.10 -> 0.11 (perry-stdlib, perry-jsruntime)
sha2 0.10 -> 0.11 (perry-stdlib, perry-jsruntime, perry-updater, perry)
md-5 0.10 -> 0.11 (perry-stdlib, perry-jsruntime)
hmac 0.12 -> 0.13 (perry-stdlib, perry-jsruntime)
pbkdf2 0.12 -> 0.13 (perry-stdlib; `simple` feature replaced by `hmac`)
hkdf 0.12 -> 0.13 (perry-stdlib)
Call-site updates for the digest 0.11 / hmac 0.13 API:
- `Hmac::new_from_slice` now lives behind the `KeyInit` trait (moved out
of the `Mac` trait import). Added `use hmac::KeyInit;` everywhere the
call appears: perry-stdlib `webcrypto.rs`, `crypto.rs` (`js_crypto_hmac_sha256`,
`js_crypto_hmac_sha256_bytes`, `js_crypto_create_hmac`), and
perry-jsruntime `ops.rs::op_perry_hmac`.
- `Sha256: io::Write` impl was removed in sha2 0.11, so the
`std::io::copy(&mut file, &mut hasher)` shortcut in
`perry-lock::sha256_of_file` no longer compiles. Replaced with the
same explicit 64 KiB read loop that `attest.rs::sha256_hex` already
uses (and which is what `io::copy` was doing internally anyway).
- `Sha256::finalize()` now returns `hybrid_array::Array<u8, N>` instead
of `generic_array::GenericArray`. `Array` doesn't impl `LowerHex`, so
`format!("{:x}", hasher.finalize())` in `attest.rs` was replaced with
the equivalent `hex::encode(hasher.finalize())` (perry already depends
on `hex = "0.4"`).
`cargo tree` still shows two digest versions — that's expected. The
transitive consumers (jsonwebtoken, sqlx, elliptic-curve, ed25519-dalek,
curve25519-dalek, p256/p384, argon2/blake2) all still pin digest 0.10
internally; they don't leak into our code, and the same coexistence
already holds for cipher (0.4.4 + 0.5.1).
Dependabot ignore list narrowed to just aes/aes-gcm/aes-kw/cipher —
those still need to land in a coordinated AEAD-stack PR once aes-gcm
0.11 ships stable. The original noise pattern (one-at-a-time digest
breaking PRs like closed #1157) is now resolved by the actual bump.
Validation:
- cargo build --release -p perry-runtime -p perry-stdlib -p perry-updater
-p perry-jsruntime -p perry: clean
- cargo test --release -p perry-stdlib --lib: 74/74 pass (incl. SHA-256
test vectors, AES-GCM round-trips that route through hkdf, AWS SigV4
HMAC vector, jsonwebtoken verify)
- cargo test --release -p perry-updater --lib: 10/10 pass (hash +
signature roundtrips)
- End-to-end webcrypto smoke: `crypto.subtle.digest("SHA-256", "hello")`
produces the published vector
`2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824`
- cargo fmt --all -- --check: clean
Refs #1238 (closes the immediate migration; tracking issue stays open
for the AEAD-stack follow-up when aes-gcm 0.11 ships).
Suppress one-at-a-time 0.x -> 0.(x+1) PRs (e.g. closed #1157) for the RustCrypto direct deps until the whole stack — including aes-gcm 0.11 and the transitive digest-0.10 holdouts (jsonwebtoken, sqlx, elliptic-curve) — can move in one coordinated PR. Patch bumps still flow through, so security fixes aren't blocked. Refs #1238.
Coordinated migration of the digest 0.10 -> 0.11 stack across our direct
deps. AEAD stack (aes/aes-gcm/aes-kw/cipher) stays on 0.8/0.10/0.3
pending aes-gcm 0.11 (still RC).
Bumps:
sha1 0.10 -> 0.11 (perry-stdlib, perry-jsruntime)
sha2 0.10 -> 0.11 (perry-stdlib, perry-jsruntime, perry-updater, perry)
md-5 0.10 -> 0.11 (perry-stdlib, perry-jsruntime)
hmac 0.12 -> 0.13 (perry-stdlib, perry-jsruntime)
pbkdf2 0.12 -> 0.13 (perry-stdlib; `simple` feature replaced by `hmac`)
hkdf 0.12 -> 0.13 (perry-stdlib)
Call-site updates for the digest 0.11 / hmac 0.13 API:
- `Hmac::new_from_slice` now lives behind the `KeyInit` trait (moved out
of the `Mac` trait import). Added `use hmac::KeyInit;` everywhere the
call appears: perry-stdlib `webcrypto.rs`, `crypto.rs` (`js_crypto_hmac_sha256`,
`js_crypto_hmac_sha256_bytes`, `js_crypto_create_hmac`), and
perry-jsruntime `ops.rs::op_perry_hmac`.
- `Sha256: io::Write` impl was removed in sha2 0.11, so the
`std::io::copy(&mut file, &mut hasher)` shortcut in
`perry-lock::sha256_of_file` no longer compiles. Replaced with the
same explicit 64 KiB read loop that `attest.rs::sha256_hex` already
uses (and which is what `io::copy` was doing internally anyway).
- `Sha256::finalize()` now returns `hybrid_array::Array<u8, N>` instead
of `generic_array::GenericArray`. `Array` doesn't impl `LowerHex`, so
`format!("{:x}", hasher.finalize())` in `attest.rs` was replaced with
the equivalent `hex::encode(hasher.finalize())` (perry already depends
on `hex = "0.4"`).
`cargo tree` still shows two digest versions — that's expected. The
transitive consumers (jsonwebtoken, sqlx, elliptic-curve, ed25519-dalek,
curve25519-dalek, p256/p384, argon2/blake2) all still pin digest 0.10
internally; they don't leak into our code, and the same coexistence
already holds for cipher (0.4.4 + 0.5.1).
Dependabot ignore list narrowed to just aes/aes-gcm/aes-kw/cipher —
those still need to land in a coordinated AEAD-stack PR once aes-gcm
0.11 ships stable. The original noise pattern (one-at-a-time digest
breaking PRs like closed #1157) is now resolved by the actual bump.
Validation:
- cargo build --release -p perry-runtime -p perry-stdlib -p perry-updater
-p perry-jsruntime -p perry: clean
- cargo test --release -p perry-stdlib --lib: 74/74 pass (incl. SHA-256
test vectors, AES-GCM round-trips that route through hkdf, AWS SigV4
HMAC vector, jsonwebtoken verify)
- cargo test --release -p perry-updater --lib: 10/10 pass (hash +
signature roundtrips)
- End-to-end webcrypto smoke: `crypto.subtle.digest("SHA-256", "hello")`
produces the published vector
`2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824`
- cargo fmt --all -- --check: clean
Refs #1238 (closes the immediate migration; tracking issue stays open
for the AEAD-stack follow-up when aes-gcm 0.11 ships).
* ci(dependabot): ignore semver-minor on RustCrypto stack (#1238) Suppress one-at-a-time 0.x -> 0.(x+1) PRs (e.g. closed #1157) for the RustCrypto direct deps until the whole stack — including aes-gcm 0.11 and the transitive digest-0.10 holdouts (jsonwebtoken, sqlx, elliptic-curve) — can move in one coordinated PR. Patch bumps still flow through, so security fixes aren't blocked. Refs #1238. * deps: bump RustCrypto digest stack to 0.11 family (#1238) Coordinated migration of the digest 0.10 -> 0.11 stack across our direct deps. AEAD stack (aes/aes-gcm/aes-kw/cipher) stays on 0.8/0.10/0.3 pending aes-gcm 0.11 (still RC). Bumps: sha1 0.10 -> 0.11 (perry-stdlib, perry-jsruntime) sha2 0.10 -> 0.11 (perry-stdlib, perry-jsruntime, perry-updater, perry) md-5 0.10 -> 0.11 (perry-stdlib, perry-jsruntime) hmac 0.12 -> 0.13 (perry-stdlib, perry-jsruntime) pbkdf2 0.12 -> 0.13 (perry-stdlib; `simple` feature replaced by `hmac`) hkdf 0.12 -> 0.13 (perry-stdlib) Call-site updates for the digest 0.11 / hmac 0.13 API: - `Hmac::new_from_slice` now lives behind the `KeyInit` trait (moved out of the `Mac` trait import). Added `use hmac::KeyInit;` everywhere the call appears: perry-stdlib `webcrypto.rs`, `crypto.rs` (`js_crypto_hmac_sha256`, `js_crypto_hmac_sha256_bytes`, `js_crypto_create_hmac`), and perry-jsruntime `ops.rs::op_perry_hmac`. - `Sha256: io::Write` impl was removed in sha2 0.11, so the `std::io::copy(&mut file, &mut hasher)` shortcut in `perry-lock::sha256_of_file` no longer compiles. Replaced with the same explicit 64 KiB read loop that `attest.rs::sha256_hex` already uses (and which is what `io::copy` was doing internally anyway). - `Sha256::finalize()` now returns `hybrid_array::Array<u8, N>` instead of `generic_array::GenericArray`. `Array` doesn't impl `LowerHex`, so `format!("{:x}", hasher.finalize())` in `attest.rs` was replaced with the equivalent `hex::encode(hasher.finalize())` (perry already depends on `hex = "0.4"`). `cargo tree` still shows two digest versions — that's expected. The transitive consumers (jsonwebtoken, sqlx, elliptic-curve, ed25519-dalek, curve25519-dalek, p256/p384, argon2/blake2) all still pin digest 0.10 internally; they don't leak into our code, and the same coexistence already holds for cipher (0.4.4 + 0.5.1). Dependabot ignore list narrowed to just aes/aes-gcm/aes-kw/cipher — those still need to land in a coordinated AEAD-stack PR once aes-gcm 0.11 ships stable. The original noise pattern (one-at-a-time digest breaking PRs like closed #1157) is now resolved by the actual bump. Validation: - cargo build --release -p perry-runtime -p perry-stdlib -p perry-updater -p perry-jsruntime -p perry: clean - cargo test --release -p perry-stdlib --lib: 74/74 pass (incl. SHA-256 test vectors, AES-GCM round-trips that route through hkdf, AWS SigV4 HMAC vector, jsonwebtoken verify) - cargo test --release -p perry-updater --lib: 10/10 pass (hash + signature roundtrips) - End-to-end webcrypto smoke: `crypto.subtle.digest("SHA-256", "hello")` produces the published vector `2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824` - cargo fmt --all -- --check: clean Refs #1238 (closes the immediate migration; tracking issue stays open for the AEAD-stack follow-up when aes-gcm 0.11 ships).
Bumps sha1 from 0.10.6 to 0.11.0.
Commits
2f00175Release sha1 v0.11.0 (#810)07d370csha1: refactor backends selection (#808)7c7cb76Fix md5 project link in README (#809)ffe0939Release sha2 0.11.0 (#806)8991b65Use the standard order of the[package]section fields (#807)3d2bc57sha2: refactor backends (#802)faa55fbsha3: bumpkeccakto v0.2 (#803)d3e6489sha3 v0.11.0-rc.9 (#801)bbf6f51sha2: tweak backend docs (#800)155dbbfsha3: add default value for theDSgeneric parameter onTurboShake128/256...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)