]> git.proxmox.com Git - proxmox-apt.git/blobdiff - src/deb822/release_file.rs
release-file: improve invalid file-reference handling
[proxmox-apt.git] / src / deb822 / release_file.rs
index ee805bb61cdb6230c4953156e29175ac9ea27f8c..606823823722bb6db97b42d5def5045001ede000 100644 (file)
@@ -389,11 +389,16 @@ impl TryFrom<ReleaseFileRaw> for ReleaseFile {
             let (component, file_type) = components
                 .iter()
                 .find_map(|component| {
-                    FileReferenceType::parse(component, &file)
-                        .ok()
-                        .map(|file_type| (component.clone(), file_type))
+                    if !file.starts_with(&format!("{component}/")) {
+                        return None;
+                    }
+
+                    Some(
+                        FileReferenceType::parse(component, &file)
+                            .map(|file_type| (component.clone(), file_type)),
+                    )
                 })
-                .ok_or_else(|| format_err!("failed to parse file reference '{file}'"))?;
+                .unwrap_or_else(|| Ok(("UNKNOWN".to_string(), FileReferenceType::Unknown)))?;
 
             Ok((
                 FileReference {