0.28.0 review fixes: propagate mux key-apply error; scrub key-shaped fixtures

- mux input(): propagate a failed decrypt_with rather than muxing an
  undecryptable stream silently (review M6).
- Scrub synthetic but key-SHAPED hex (HOST_PRIV_KEY/DEVICE_KEY/disc-entry) from
  the keydb parser tests to obvious zero/repeated-byte placeholders. No real or
  real-looking key material in code.
This commit is contained in:
MattJackson
2026-06-04 16:38:58 -07:00
parent c1eb74dfa5
commit bb32fb993b
2 changed files with 33 additions and 16 deletions
+4 -2
View File
@@ -199,9 +199,11 @@ pub fn input(url: &str, opts: &InputOptions) -> io::Result<Box<dyn crate::pes::S
)
.map_err(|e| -> io::Error { e.into() })?;
// Apply the caller-resolved keys (lookup-free); decrypt_keys() then
// yields them for the stream below.
// yields them for the stream below. Propagate a failed application
// rather than silently muxing an undecryptable stream.
if !opts.unit_keys.is_empty() {
let _ = disc.decrypt_with(crate::disc::Key::Unit(opts.unit_keys.clone()));
disc.decrypt_with(crate::disc::Key::Unit(opts.unit_keys.clone()))
.map_err(|e| -> io::Error { e.into() })?;
}
if disc.titles.is_empty() {
return Err(crate::error::Error::NoStreams.into());