add support for MSI files to infer backend
This commit is contained in:
parent
47d94cf27b
commit
0712bf0a6b
2 changed files with 6 additions and 3 deletions
|
@ -5,7 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
### Added
|
||||||
|
- MSI detection to [`infer`] backend
|
||||||
## v0.3.7 - 2021-09-25
|
## v0.3.7 - 2021-09-25
|
||||||
### Added
|
### Added
|
||||||
- `-j`/`--jobs` flag for specifying the number of threads fif should use for scanning files
|
- `-j`/`--jobs` flag for specifying the number of threads fif should use for scanning files
|
||||||
|
|
|
@ -18,8 +18,6 @@ cfg_if! {
|
||||||
db: infer::Infer,
|
db: infer::Infer,
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: msi
|
|
||||||
|
|
||||||
fn open_document_check(buf: &[u8], kind: &str) -> bool {
|
fn open_document_check(buf: &[u8], kind: &str) -> bool {
|
||||||
let mime = format!("application/vnd.oasis.opendocument.{}", kind);
|
let mime = format!("application/vnd.oasis.opendocument.{}", kind);
|
||||||
let mime = mime.as_bytes();
|
let mime = mime.as_bytes();
|
||||||
|
@ -53,6 +51,10 @@ cfg_if! {
|
||||||
buf.starts_with(b"\x46\x4f\x52\x4d\x41\x49\x46\x46")
|
buf.starts_with(b"\x46\x4f\x52\x4d\x41\x49\x46\x46")
|
||||||
});
|
});
|
||||||
|
|
||||||
|
info.add("application/x-msi", "msi", |buf| {
|
||||||
|
buf.starts_with(b"\xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1")
|
||||||
|
})
|
||||||
|
|
||||||
info.add("image/svg+xml", "svg", |buf| {
|
info.add("image/svg+xml", "svg", |buf| {
|
||||||
// before doing the moderately expensive SVG check, we should make sure that the input is actually SGML-ish,
|
// before doing the moderately expensive SVG check, we should make sure that the input is actually SGML-ish,
|
||||||
// by which i mean, starts with anywhere from zero to ∞-1 whitespace characters, and then a less than sign,
|
// by which i mean, starts with anywhere from zero to ∞-1 whitespace characters, and then a less than sign,
|
||||||
|
|
Loading…
Reference in a new issue