mirror of
https://github.com/freemkv/freemkv-unlock.git
synced 2026-10-07 18:13:11 +00:00
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:
@@ -51,7 +51,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v7
|
||||||
- uses: dtolnay/rust-toolchain@1.97.0
|
- uses: dtolnay/rust-toolchain@1.90.0
|
||||||
with:
|
with:
|
||||||
components: clippy, rustfmt
|
components: clippy, rustfmt
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
@@ -65,7 +65,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v7
|
||||||
- uses: dtolnay/rust-toolchain@1.97.0
|
- uses: dtolnay/rust-toolchain@1.90.0
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
with:
|
with:
|
||||||
shared-key: freemkv-unlock-ci
|
shared-key: freemkv-unlock-ci
|
||||||
@@ -94,7 +94,7 @@ jobs:
|
|||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v7
|
||||||
- uses: dtolnay/rust-toolchain@1.97.0
|
- uses: dtolnay/rust-toolchain@1.90.0
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
with:
|
with:
|
||||||
shared-key: freemkv-unlock-ci
|
shared-key: freemkv-unlock-ci
|
||||||
@@ -117,7 +117,7 @@ jobs:
|
|||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v7
|
||||||
- uses: dtolnay/rust-toolchain@1.97.0
|
- uses: dtolnay/rust-toolchain@1.90.0
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
with:
|
with:
|
||||||
shared-key: freemkv-unlock-ci
|
shared-key: freemkv-unlock-ci
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ jobs:
|
|||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
path: freemkv-unlock
|
path: freemkv-unlock
|
||||||
- uses: dtolnay/rust-toolchain@1.97.0
|
- uses: dtolnay/rust-toolchain@1.90.0
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
with:
|
with:
|
||||||
workspaces: freemkv-unlock
|
workspaces: freemkv-unlock
|
||||||
@@ -90,7 +90,7 @@ jobs:
|
|||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
path: freemkv-unlock
|
path: freemkv-unlock
|
||||||
- uses: dtolnay/rust-toolchain@1.97.0
|
- uses: dtolnay/rust-toolchain@1.90.0
|
||||||
with:
|
with:
|
||||||
components: clippy
|
components: clippy
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
@@ -110,7 +110,7 @@ jobs:
|
|||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
path: freemkv-unlock
|
path: freemkv-unlock
|
||||||
- uses: dtolnay/rust-toolchain@1.97.0
|
- uses: dtolnay/rust-toolchain@1.90.0
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
with:
|
with:
|
||||||
workspaces: freemkv-unlock
|
workspaces: freemkv-unlock
|
||||||
|
|||||||
@@ -10,6 +10,9 @@
|
|||||||
discontinuity, instead of splicing post-gap audio mid-stream — fixing
|
discontinuity, instead of splicing post-gap audio mid-stream — fixing
|
||||||
decoder-choking seams on discs whose stream carries a continuity-counter gap;
|
decoder-choking seams on discs whose stream carries a continuity-counter gap;
|
||||||
see the libfreemkv 1.6.10 notes).
|
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.6.9] — 2026-08-22
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
name = "freemkv-unlock"
|
name = "freemkv-unlock"
|
||||||
version = "1.6.9"
|
version = "1.6.9"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
rust-version = "1.97"
|
rust-version = "1.90"
|
||||||
license = "MIT"
|
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()."
|
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"
|
repository = "https://github.com/freemkv/freemkv-unlock"
|
||||||
|
|||||||
@@ -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 g = EcPoint::from_bytes(&EC_GX, &EC_GY);
|
||||||
let d = BigUint::from_bytes_be(priv_key);
|
let d = BigUint::from_bytes_be(priv_key);
|
||||||
|
|
||||||
// Hash the data
|
|
||||||
let hash = Sha1::digest(data);
|
let hash = Sha1::digest(data);
|
||||||
let z = BigUint::from_bytes_be(&hash);
|
let z = BigUint::from_bytes_be(&hash);
|
||||||
|
|
||||||
@@ -803,8 +802,7 @@ fn compute_bus_key(
|
|||||||
Some(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: (private_key, public_point_x, public_point_y).
|
||||||
/// Generate P-256 ephemeral key pair for AACS 2.0.
|
|
||||||
fn generate_host_key_pair_p256() -> ([u8; 32], [u8; 32], [u8; 32]) {
|
fn generate_host_key_pair_p256() -> ([u8; 32], [u8; 32], [u8; 32]) {
|
||||||
let p_mod = BigUint::from_bytes_be(&P256_P);
|
let p_mod = BigUint::from_bytes_be(&P256_P);
|
||||||
let a = BigUint::from_bytes_be(&P256_A);
|
let a = BigUint::from_bytes_be(&P256_A);
|
||||||
|
|||||||
Reference in New Issue
Block a user