Age | Commit message (Collapse) | Author | Files | Lines |
|
MAGIC returned incorrect mime type while processing tar compression type
Fix https://github.com/mate-desktop/engrampa/issues/492
|
|
A blooper has been made there:
* if ENABLE_MIME is set, the intention was to try, in order: magic,
content, filename; but it was made filename, content, magic (which
was the same as before the changes);
* if ENABLE_MIME is not set, the intention was to try, in order:
filename, content, magic; but it has been made magic, content, magic
(notice the duplicate, and the missing "filename").
This probably doesn't change much in the wild as magic is gonna work
most of the time, but it's especially problematic that the non-libmagic
case doesn't have the filename test.
Anyway, fix this so the code is consistent, and we retain the behavior
for the non-libmagic case, and have the new expected one for the
libmagic case.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test:
$ ./autogen.sh --enable-debug=profile --prefix=/usr
<cut>
Configuration:
Source code location: .
Compiler: gcc
Compiler flags: -g -pg
Warning flags: -Wall -Wmissing-prototypes
Linker flags: -pg
Caja support: yes
PackageKit support: yes
Run in place no
Use libmagic: no
JSON support: yes
Now type `make' to compile engrampa
$ ./autogen.sh --enable-debug --prefix=/usr
<cut>
Configuration:
Source code location: .
Compiler: gcc
Compiler flags: -g -O0
Warning flags: -Wall -Wmissing-prototypes
Linker flags:
Caja support: yes
PackageKit support: yes
Run in place no
Use libmagic: no
JSON support: yes
Now type `make' to compile engrampa
$ grep MATE_ENABLE_DEBUG config.h
|
|
$ file -b --mime-type ~/test.tar.Z
application/x-compress
$ hexdump -C -n 2 ~/test.tar.Z
00000000 1f 9d |..|
00000002
$ file -b --mime-type ~/atril-1.23.1-1.fc30.src.rpm
application/x-rpm
$ hexdump -C -n 4 ~/atril-1.23.1-1.fc30.src.rpm
00000000 ed ab ee db |....|
00000004
$ file -b --mime-type ~/test.lzh
application/x-lzh-compressed
$ hexdump -C -s 2 -n 3 ~/test.lzh
00000002 2d 6c 68 |-lh|
00000005
|
|
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
|
|
fr-archive.c:45:5: warning: "ENABLE_MAGIC" is not defined, evaluates to 0 [-Wundef]
fr-archive.c:519:5: warning: "ENABLE_MAGIC" is not defined, evaluates to 0 [-Wundef]
|
|
|
|
caja-engrampa.c:439:2: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘const struct _GTypeInfo’} [-Wmissing-field-initializers]
eggtreemultidnd.c:70:2: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘const struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command.c:98:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-7z.c:750:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-ace.c:334:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-alz.c:397:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-ar.c:383:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-arj.c:429:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command.c:98:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-cfile.c:692:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-cpio.c:319:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-dpkg.c:305:17: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-iso.c:308:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-jar.c:234:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-lha.c:408:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-lrzip.c:262:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-rar.c:832:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-rpm.c:319:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-tar.c:1267:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-unarchiver.c:361:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-unstuff.c:381:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-zip.c:513:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-zoo.c:419:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-window.c:839:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-list-model.c:148:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘const struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-process.c:248:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
ui.h:32:2: warning: missing initializer for field ‘accelerator’ of ‘GtkActionEntry’ {aka ‘struct _GtkActionEntry’} [-Wmissing-field-initializers]
ui.h:33:2: warning: missing initializer for field ‘accelerator’ of ‘GtkActionEntry’ {aka ‘struct _GtkActionEntry’} [-Wmissing-field-initializers]
ui.h:34:2: warning: missing initializer for field ‘accelerator’ of ‘GtkActionEntry’ {aka ‘struct _GtkActionEntry’} [-Wmissing-field-initializers]
ui.h:35:2: warning: missing initializer for field ‘accelerator’ of ‘GtkActionEntry’ {aka ‘struct _GtkActionEntry’} [-Wmissing-field-initializers]
ui.h:36:2: warning: missing initializer for field ‘accelerator’ of ‘GtkActionEntry’ {aka ‘struct _GtkActionEntry’} [-Wmissing-field-initializers]
|
|
|
|
Fix compiler warning:
comparison of integers of different signs: 'int' and 'guint' (aka 'unsigned int') [-Wsign-compare]
|
|
|
|
|
|
|
|
Initial commits from FR:
f998fd8e33a08d686a1071db87d21f4a83963d99
4078d1a9e5ddae3357302791432fc61d82ff37e4
58c55b06f30014326f27bdf94c406ceee0897731
Improvements and fixes from FR:
D-Bus service: added GetSupportedTypes method
ace4f31c586641fcf7ad1de165cd7f27b5a371c1
1399b9a84b0d4f4a5015066b0d7cec7e048d59dc
From: Paolo Bacchilega <[email protected]>
|
|
Based on FR commit: 4b645f57c856928c508dd74c31e1bfb2132368e1
From: Paolo Bacchilega <[email protected]>
|
|
Based on FR commit: 815ad36da74abdc9e4948500af402e3f7d67e3ba
From: Paolo Bacchilega <[email protected]>
|
|
Based on FR commit: c9ea52f8a3633a97ef64af1e18f9ff5b8e1474a9
From: Paolo Bacchilega <[email protected]>
|
|
Based on FR commit: d5f88720970fdb16d81434607f312ea36a55674a
From: Paolo Bacchilega <[email protected]>
|
|
to improve code readability
Based on FR commit: 4f1f57d577388ec872f6d123cfaed03f0e812a82
From: Paolo Bacchilega <[email protected]>
|
|
Based on FR commit: 77b2f368b8ab02267dc94bb70e7db16f37bbe252
From: Paolo Bacchilega <[email protected]>
|
|
Based on FR commit: a323c11554785a9861fff4ae919e91c076babd82
From: Paolo Bacchilega <[email protected]>
|
|
this change will allow the command to use a different filename from
the one pointed to by the local_copy attribute.
Based on FR commit: 5e48592fb49d1f5ce713fcd77d44acd664de4b6a
From: Paolo Bacchilega <[email protected]>
|
|
Based on FR commit: 73fd3c56d567550be85574315d7a2beaec192970
From: Paolo Bacchilega <[email protected]>
|
|
Based on FR commits:
7b23961d200e3545af3815a8eb40d6d31757024f
f08945a652ae1365ad6bbc5e3dcc8709031b5faf
b6104a74e66ceca98884a6f974485a96a83526a2
From: Saleem Abdulrasool <[email protected]>
|
|
From commits:
Improvement suggestion for string in archive properties dialog: 93c9cafc8c0e053642cae85ec29c8fc2e6e7aeb1
Improvement suggestion for string in password dialog: b2329ca509b7e1e5cb767512904657468bcd3652
Improve string in error dialog: 2479dc30e9855cefbd23aa55215316528d318430
Bad string in the error dialog 'Could not rename the file': 689fb2dd268bc38a81cfd547656d74108b17ba60
|
|
|
|
|
|
|
|
|
|
|
|
|