lower MSRV to 1.90, trim two stray comments in aacs handshake

Bisected the true floor: 1.85 fails to compile (needs is_multiple_of,
stabilized 1.87, and let-chains, stabilized 1.88), 1.90 builds/clippy/tests
clean. Repin Cargo.toml rust-version and every CI dtolnay/rust-toolchain to
1.90.0, and note the change in CHANGELOG.md. Also removed a redundant
"// Hash the data" comment and a stale duplicate doc line on
generate_host_key_pair_p256 found during a pass over the crate's comments.
This commit is contained in:
Matthew Jackson
2026-08-25 10:14:16 -07:00
parent 2228703250
commit 9cfcb5830c
5 changed files with 12 additions and 11 deletions
+4 -4
View File
@@ -51,7 +51,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@1.97.0
- uses: dtolnay/rust-toolchain@1.90.0
with:
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v2
@@ -65,7 +65,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@1.97.0
- uses: dtolnay/rust-toolchain@1.90.0
- uses: Swatinem/rust-cache@v2
with:
shared-key: freemkv-unlock-ci
@@ -94,7 +94,7 @@ jobs:
runs-on: macos-latest
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@1.97.0
- uses: dtolnay/rust-toolchain@1.90.0
- uses: Swatinem/rust-cache@v2
with:
shared-key: freemkv-unlock-ci
@@ -117,7 +117,7 @@ jobs:
runs-on: windows-latest
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@1.97.0
- uses: dtolnay/rust-toolchain@1.90.0
- uses: Swatinem/rust-cache@v2
with:
shared-key: freemkv-unlock-ci
+3 -3
View File
@@ -74,7 +74,7 @@ jobs:
- uses: actions/checkout@v7
with:
path: freemkv-unlock
- uses: dtolnay/rust-toolchain@1.97.0
- uses: dtolnay/rust-toolchain@1.90.0
- uses: Swatinem/rust-cache@v2
with:
workspaces: freemkv-unlock
@@ -90,7 +90,7 @@ jobs:
- uses: actions/checkout@v7
with:
path: freemkv-unlock
- uses: dtolnay/rust-toolchain@1.97.0
- uses: dtolnay/rust-toolchain@1.90.0
with:
components: clippy
- uses: Swatinem/rust-cache@v2
@@ -110,7 +110,7 @@ jobs:
- uses: actions/checkout@v7
with:
path: freemkv-unlock
- uses: dtolnay/rust-toolchain@1.97.0
- uses: dtolnay/rust-toolchain@1.90.0
- uses: Swatinem/rust-cache@v2
with:
workspaces: freemkv-unlock
+3
View File
@@ -10,6 +10,9 @@
discontinuity, instead of splicing post-gap audio mid-stream — fixing
decoder-choking seams on discs whose stream carries a continuity-counter gap;
see the libfreemkv 1.6.10 notes).
- MSRV lowered from 1.97 to 1.90. The crate does not use anything newer than
1.90 stabilized; CI's pinned toolchain and `rust-version` are updated to
match.
## [1.6.9] — 2026-08-22
+1 -1
View File
@@ -2,7 +2,7 @@
name = "freemkv-unlock"
version = "1.6.9"
edition = "2024"
rust-version = "1.97"
rust-version = "1.90"
license = "MIT"
description = "Unlock layer for the freemkv toolchain: the Unlocker contract + self-contained firmware/AACS/CSS unlocker modules. libfreemkv depends on this and dispatches via all_unlockers()."
repository = "https://github.com/freemkv/freemkv-unlock"
+1 -3
View File
@@ -442,7 +442,6 @@ fn ecdsa_sign(priv_key: &[u8; 20], data: &[u8]) -> ([u8; 20], [u8; 20]) {
let g = EcPoint::from_bytes(&EC_GX, &EC_GY);
let d = BigUint::from_bytes_be(priv_key);
// Hash the data
let hash = Sha1::digest(data);
let z = BigUint::from_bytes_be(&hash);
@@ -803,8 +802,7 @@ fn compute_bus_key(
Some(bus_key)
}
/// Generate ephemeral host key pair: (private_key, public_point_x, public_point_y).
/// Generate P-256 ephemeral key pair for AACS 2.0.
/// Generate P-256 ephemeral key pair for AACS 2.0: (private_key, public_point_x, public_point_y).
fn generate_host_key_pair_p256() -> ([u8; 32], [u8; 32], [u8; 32]) {
let p_mod = BigUint::from_bytes_be(&P256_P);
let a = BigUint::from_bytes_be(&P256_A);