-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Different extension compared to the file
command
#52
Comments
If you want to get extension directly from libmagic: using var magic = new Magic(MagicOpenFlags.MAGIC_EXTENSION);
var result = magic.Read(@"/path/to/gzip.gz"); // from file
Console.WriteLine(result); // -> gz/tgz/tpz/ipk/vbox-extpack/svgz/blend/dia/gnucash/rdata/xoj However for this file it doesn't work when the magic_buffer method is used: byte[] buf = File.ReadAllBytes(@"/path/to/gzip.gz");
using var magic = new Magic(MagicOpenFlags.MAGIC_EXTENSION);
var result = magic.Read(buf, buf.Length);
Console.WriteLine(result); // -> "???" I have no idea why we have different behaviour.. |
This difference behavior is strange, but it is OK with this very similar gzip-name.gz file: $ xxd gzip.gz
00000000: 1f8b 0800 ae86 e15b 0203 0300 0000 0000 .......[........
00000010: 0000 0000 ....
$ xxd gzip-name.gz
00000000: 1f8b 0808 ae86 e15b 0203 6e00 0300 0000 .......[..n.....
00000010: 0000 0000 0000 // gzip-name.gz
bytes[] fileBytes =
[
0x1f, 0x8b, 0x08, 0x08, 0xae, 0x86, 0xe1, 0x5b, 0x02, 0x03, 0x6e, 0x00, 0x03, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00
];
using var magic = new Magic(MagicOpenFlags.MAGIC_EXTENSION);
magic.Read(fileBytes, fileBytes.Length) // -> "gz/tgz/tpz/zabw/svgz/adz/kmy/xcfgz" |
It seems that an error occurs here and it recognizes the
.gz
as.bin
. While the file has recognized it correctly. I don't know, doesn't thefile
have an api to get the extension directly? If I understand correctly we are actually using MIME Type mapping as an alternative.Assert.Contains() Failure
This is probably because MimeTypesMap — which depends on MIME types known by Apache:
Mime/src/Mime/MimeGuesser.cs
Line 99 in b058232
The text was updated successfully, but these errors were encountered: