From a5def4f9a471a83465be8918a443fe96e49e3029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Sun, 11 Apr 2021 14:59:49 +0200 Subject: Add a definition of MIME type application/x-pie-executable. This resolves incorrect identification of binary executables with libmagick >= 5.33. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- tdefile-plugins/elf/tdefile_elf.cpp | 83 ++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 48 deletions(-) (limited to 'tdefile-plugins') diff --git a/tdefile-plugins/elf/tdefile_elf.cpp b/tdefile-plugins/elf/tdefile_elf.cpp index f87b536ed..f3b399ed1 100644 --- a/tdefile-plugins/elf/tdefile_elf.cpp +++ b/tdefile-plugins/elf/tdefile_elf.cpp @@ -50,54 +50,41 @@ KElfPlugin::KElfPlugin(TQObject *parent, const char *name, : KFilePlugin(parent, name, args) { - // Executables - KFileMimeTypeInfo* info = addMimeTypeInfo( "application/x-executable" ); - - KFileMimeTypeInfo::GroupInfo* group = 0L; - KFileMimeTypeInfo::GroupInfo* group2 = 0L; - - group = addGroupInfo(info, "Technical", i18n("Embedded Metadata")); - group2 = addGroupInfo(info, "Icon", i18n("Embedded Icon(s)")); - - KFileMimeTypeInfo::ItemInfo* item; - - item = addItemInfo(group, "Name", i18n("Internal Name"), TQVariant::String); - item = addItemInfo(group, "Description", i18n("Description"), TQVariant::String); - item = addItemInfo(group, "License", i18n("License"), TQVariant::String); - item = addItemInfo(group, "Copyright", i18n("Copyright"), TQVariant::String); - item = addItemInfo(group, "Authors", i18n("Author(s)"), TQVariant::String); - item = addItemInfo(group, "Product", i18n("Product"), TQVariant::String); - item = addItemInfo(group, "Organization", i18n("Organization"), TQVariant::String); - item = addItemInfo(group, "Version", i18n("Version"), TQVariant::String); - item = addItemInfo(group, "DateTime", i18n("Compilation Date/Time"), TQVariant::String); - item = addItemInfo(group, "SystemIcon", i18n("Requested Icon"), TQVariant::String); - item = addItemInfo(group, "SCMModule", i18n("SCM Module"), TQVariant::String); - item = addItemInfo(group, "SCMRevision", i18n("SCM Revision"), TQVariant::String); - item = addItemInfo(group, "Notes", i18n("Comments"), TQVariant::String); - - item = addItemInfo(group2, "EmbeddedIcon", i18n("Icon Name(s)"), TQVariant::String); - - // Shared libraries - info = addMimeTypeInfo( "application/x-sharedlib" ); - - group = addGroupInfo(info, "Technical", i18n("Embedded Metadata")); - group2 = addGroupInfo(info, "Icon", i18n("Embedded Icon(s)")); - - item = addItemInfo(group, "Name", i18n("Internal Name"), TQVariant::String); - item = addItemInfo(group, "Description", i18n("Description"), TQVariant::String); - item = addItemInfo(group, "License", i18n("License"), TQVariant::String); - item = addItemInfo(group, "Copyright", i18n("Copyright"), TQVariant::String); - item = addItemInfo(group, "Authors", i18n("Author(s)"), TQVariant::String); - item = addItemInfo(group, "Product", i18n("Product"), TQVariant::String); - item = addItemInfo(group, "Organization", i18n("Organization"), TQVariant::String); - item = addItemInfo(group, "Version", i18n("Version"), TQVariant::String); - item = addItemInfo(group, "DateTime", i18n("Compilation Date/Time"), TQVariant::String); - item = addItemInfo(group, "SystemIcon", i18n("Requested Icon"), TQVariant::String); - item = addItemInfo(group, "SCMModule", i18n("SCM Module"), TQVariant::String); - item = addItemInfo(group, "SCMRevision", i18n("SCM Revision"), TQVariant::String); - item = addItemInfo(group, "Notes", i18n("Comments"), TQVariant::String); - - item = addItemInfo(group2, "EmbeddedIcon", i18n("Icon Name(s)"), TQVariant::String); + const TQCString elfMimeTypes[]= { + "application/x-executable", + "application/x-pie-executable", + "application/x-sharedlib" + }; + const int elfMimeTypesCount = sizeof(elfMimeTypes)/sizeof(elfMimeTypes[0]); + + for (int i = 0; i < elfMimeTypesCount; i++) + { + KFileMimeTypeInfo* info = addMimeTypeInfo(elfMimeTypes[i]); + + KFileMimeTypeInfo::GroupInfo* group = 0L; + KFileMimeTypeInfo::GroupInfo* group2 = 0L; + + group = addGroupInfo(info, "Technical", i18n("Embedded Metadata")); + group2 = addGroupInfo(info, "Icon", i18n("Embedded Icon(s)")); + + KFileMimeTypeInfo::ItemInfo* item; + + item = addItemInfo(group, "Name", i18n("Internal Name"), TQVariant::String); + item = addItemInfo(group, "Description", i18n("Description"), TQVariant::String); + item = addItemInfo(group, "License", i18n("License"), TQVariant::String); + item = addItemInfo(group, "Copyright", i18n("Copyright"), TQVariant::String); + item = addItemInfo(group, "Authors", i18n("Author(s)"), TQVariant::String); + item = addItemInfo(group, "Product", i18n("Product"), TQVariant::String); + item = addItemInfo(group, "Organization", i18n("Organization"), TQVariant::String); + item = addItemInfo(group, "Version", i18n("Version"), TQVariant::String); + item = addItemInfo(group, "DateTime", i18n("Compilation Date/Time"), TQVariant::String); + item = addItemInfo(group, "SystemIcon", i18n("Requested Icon"), TQVariant::String); + item = addItemInfo(group, "SCMModule", i18n("SCM Module"), TQVariant::String); + item = addItemInfo(group, "SCMRevision", i18n("SCM Revision"), TQVariant::String); + item = addItemInfo(group, "Notes", i18n("Comments"), TQVariant::String); + + item = addItemInfo(group2, "EmbeddedIcon", i18n("Icon Name(s)"), TQVariant::String); + } } -- cgit v1.2.1