summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrbuj <[email protected]>2019-09-19 09:35:36 +0200
committerVictor Kareh <[email protected]>2019-10-01 22:35:24 -0400
commitf6a3980e1a2d1024a4c3d7b09ac1e167ffb7980a (patch)
treed0cf875e1c768164103f623c457249244de59b64
parent519127b32ba4e9462022e23251de835cae90daf2 (diff)
downloadengrampa-f6a3980e1a2d1024a4c3d7b09ac1e167ffb7980a.tar.bz2
engrampa-f6a3980e1a2d1024a4c3d7b09ac1e167ffb7980a.tar.xz
Ar: Update MIME type and add magic numbers
Changes: Replace application/x-ar with application/x-archive ar magic number: "!<arch>\n" deb magic number (Debian 0.93+): "!<arch>\ndebian-binary" REF: https://en.wikipedia.org/wiki/Ar_(Unix) https://en.wikipedia.org/wiki/Deb_(file_format) Test: $ touch a && touch b && ar r test.ar a b && cp test.ar test-2.a $ xdg-mime query filetype test.ar application/x-archive $ xdg-mime query filetype dftp_2.2-1.deb application/vnd.debian.binary-package $ gio info test.ar | grep content-type standard::content-type: application/x-archive standard::fast-content-type: application/x-archive $ gio info dftp_2.2-1.deb | grep content-type standard::content-type: application/vnd.debian.binary-package standard::fast-content-type: application/vnd.debian.binary-package $ hexdump -C -n 8 test.ar 00000000 21 3c 61 72 63 68 3e 0a |!<arch>.| 00000008 $ hexdump -C -n 21 dftp_2.2-1.deb 00000000 21 3c 61 72 63 68 3e 0a 64 65 62 69 61 6e 2d 62 |!<arch>.debian-b| 00000010 69 6e 61 72 79 |inary| 00000015 $ ./autogen.sh --prefix=/usr --disable-magic && make && sudo make install
-rw-r--r--caja/caja-engrampa.c2
-rw-r--r--data/engrampa.desktop.in.in2
-rw-r--r--src/fr-archive.c2
-rw-r--r--src/fr-command-ar.c8
-rw-r--r--src/fr-init.c8
5 files changed, 12 insertions, 10 deletions
diff --git a/caja/caja-engrampa.c b/caja/caja-engrampa.c
index 8e1a8f2..3667b5a 100644
--- a/caja/caja-engrampa.c
+++ b/caja/caja-engrampa.c
@@ -149,7 +149,7 @@ static struct {
{ "application/x-7z-compressed-tar", TRUE },
{ "application/x-ace", TRUE },
{ "application/x-alz", TRUE },
- { "application/x-ar", TRUE },
+ { "application/x-archive", TRUE },
{ "application/x-arj", TRUE },
{ "application/x-brotli", TRUE },
{ "application/x-brotli-compressed-tar", TRUE },
diff --git a/data/engrampa.desktop.in.in b/data/engrampa.desktop.in.in
index 26ccf0c..7222ba6 100644
--- a/data/engrampa.desktop.in.in
+++ b/data/engrampa.desktop.in.in
@@ -9,7 +9,7 @@ Terminal=false
Type=Application
Icon=engrampa
Categories=GTK;Utility;Archiving;Compression;
-MimeType=application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-ar;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zip;application/x-archive;application/vnd.ms-cab-compressed;application/zstd;
+MimeType=application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zip;application/x-archive;application/vnd.ms-cab-compressed;application/zstd;
Keywords=MATE;archive;manager;compression;
X-MATE-DocPath=engrampa/engrampa.xml
X-MATE-Bugzilla-Bugzilla=MATE
diff --git a/src/fr-archive.c b/src/fr-archive.c
index c41aa7e..eff0afe 100644
--- a/src/fr-archive.c
+++ b/src/fr-archive.c
@@ -550,6 +550,8 @@ get_mime_type_from_magic_numbers (GFile *file)
const char * const mime_type;
} magic_ids [] = {
/* magic ids taken from magic/Magdir/archive from the file-4.21 tarball */
+ { 0, 21, "!<arch>" "\x0a" "debian-binary", "application/vnd.debian.binary-package" },
+ { 0, 8, "!<arch>" "\x0a", "application/x-archive" },
{ 0, 6, "7z\274\257\047\034", "application/x-7z-compressed" },
{ 7, 7, "**ACE**", "application/x-ace" },
{ 0, 2, "\x60\xea", "application/x-arj" },
diff --git a/src/fr-command-ar.c b/src/fr-command-ar.c
index 12eee41..f72444a 100644
--- a/src/fr-command-ar.c
+++ b/src/fr-command-ar.c
@@ -241,9 +241,9 @@ fr_command_ar_handle_error (FrCommand *comm,
}
-const char *ar_mime_type[] = { "application/x-ar",
- "application/vnd.debian.binary-package",
- NULL };
+const char *ar_mime_type[] = { "application/x-archive",
+ "application/vnd.debian.binary-package",
+ NULL };
static const char **
@@ -264,7 +264,7 @@ fr_command_ar_get_capabilities (FrCommand *comm,
if (is_program_available ("ar", check_command)) {
if (is_mime_type (mime_type, "application/vnd.debian.binary-package"))
capabilities |= FR_COMMAND_CAN_READ;
- else if (is_mime_type (mime_type, "application/x-ar"))
+ else if (is_mime_type (mime_type, "application/x-archive"))
capabilities |= FR_COMMAND_CAN_READ_WRITE;
}
diff --git a/src/fr-init.c b/src/fr-init.c
index 8c06372..33bdf53 100644
--- a/src/fr-init.c
+++ b/src/fr-init.c
@@ -71,8 +71,8 @@ FrMimeTypeDescription mime_type_desc[] = {
{ "application/x-7z-compressed-tar", ".tar.7z", N_("Tar compressed with 7z (.tar.7z)"), 0 },
{ "application/x-ace", ".ace", N_("Ace (.ace)"), 0 },
{ "application/x-alz", ".alz", N_("ALZip archive (.alz)"), 0 },
- { "application/x-ar", ".a", N_("Ar (.a)"), 0 },
- { "application/x-ar", ".ar", N_("Ar (.ar)"), 0 },
+ { "application/x-archive", ".a", N_("Ar (.a)"), 0 },
+ { "application/x-archive", ".ar", N_("Ar (.ar)"), 0 },
{ "application/x-arj", ".arj", N_("Arj (.arj)"), 0 },
{ "application/x-brotli", ".br", N_("brotli (.br)"), 0 },
{ "application/x-brotli-compressed-tar", ".tar.br", N_("Tar compressed with brotli (.tar.br)"), 0 },
@@ -117,10 +117,10 @@ FrMimeTypeDescription mime_type_desc[] = {
FrExtensionType file_ext_type[] = {
{ ".7z", "application/x-7z-compressed" },
- { ".a", "application/x-ar" },
+ { ".a", "application/x-archive" },
{ ".ace", "application/x-ace" },
{ ".alz", "application/x-alz" },
- { ".ar", "application/x-ar" },
+ { ".ar", "application/x-archive" },
{ ".arj", "application/x-arj" },
{ ".bin", "application/x-stuffit" },
{ ".br", "application/x-brotli" },