diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:52:52 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:52:52 +0000 |
commit | 424f663819ec59abc4edab03a667845835e57ac1 (patch) | |
tree | 63b79645aaee07c3de90e4b70dd8d6371faa1747 /debian/patches | |
parent | Adding upstream version 1:5.44. (diff) | |
download | file-debian.tar.xz file-debian.zip |
Adding debian version 1:5.44-3.debian/1%5.44-3debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
19 files changed, 768 insertions, 0 deletions
diff --git a/debian/patches/1672082456.FILE5_44-5-g813b3304.pr-410-pandrew-add-bitcoin-and-leveldb-support.patch b/debian/patches/1672082456.FILE5_44-5-g813b3304.pr-410-pandrew-add-bitcoin-and-leveldb-support.patch new file mode 100644 index 0000000..67bb590 --- /dev/null +++ b/debian/patches/1672082456.FILE5_44-5-g813b3304.pr-410-pandrew-add-bitcoin-and-leveldb-support.patch @@ -0,0 +1,37 @@ +Subject: PR/410: pandrew: Add bitcoin and leveldb support +Origin: FILE5_44-5-g813b3304 <https://github.com/file/file/commit/FILE5_44-5-g813b3304> +Upstream-Author: Christos Zoulas <christos@zoulas.com> +Date: Mon Dec 26 19:20:56 2022 +0000 + +--- a/magic/Magdir/crypto ++++ b/magic/Magdir/crypto +@@ -3,3 +3,29 @@ + # $File: crypto,v 1.2 2021/03/27 20:15:53 christos Exp $ + # crypto: file(1) magic for crypto formats + # ++# Bitcoin block files ++0 lelong 0xD9B4BEF9 Bitcoin ++>(4.l+40) lelong 0xD9B4BEF9 reverse block ++>>4 lelong x \b, size %u ++# normal block below ++>0 default x block ++>>4 lelong x \b, size %u ++>>8 lelong&0xE0000000 0x20000000 ++>>>8 lelong x \b, BIP9 0x%x ++>>8 lelong&0xE0000000 !0x20000000 ++>>>8 lelong x \b, version 0x%x ++>>76 ledate x \b, %s UTC ++# VarInt counter ++>>88 ubyte <0xfd \b, txcount %u ++>>88 ubyte 0xfd ++>>>89 leshort x \b, txcount %u ++>>88 ubyte 0xfe ++>>>89 lelong x \b, txcount %u ++>>88 ubyte 0xff ++>>>89 lequad x \b, txcount %llu ++!:ext dat ++# option to find more blocks in the file ++#>>(4.l+8) indirect x ; ++ ++# LevelDB ++-8 lequad 0xdb4775248b80fb57 LevelDB table data diff --git a/debian/patches/1672518248.FILE5_44-9-gdc71304b.pyzip-improvements-fc-stegerman.patch b/debian/patches/1672518248.FILE5_44-9-gdc71304b.pyzip-improvements-fc-stegerman.patch new file mode 100644 index 0000000..cef7d42 --- /dev/null +++ b/debian/patches/1672518248.FILE5_44-9-gdc71304b.pyzip-improvements-fc-stegerman.patch @@ -0,0 +1,23 @@ +Subject: Pyzip improvements (FC Stegerman) +Origin: FILE5_44-9-gdc71304b <https://github.com/file/file/commit/FILE5_44-9-gdc71304b> +Upstream-Author: Christos Zoulas <christos@zoulas.com> +Date: Sat Dec 31 20:24:08 2022 +0000 + +--- a/magic/Magdir/archive ++++ b/magic/Magdir/archive +@@ -1876,9 +1876,14 @@ + # https://en.wikipedia.org/wiki/ZIP_(file_format)#End_of_central_directory_record_(EOCD) + # by Michal Gorny <mgorny@gentoo.org> + -2 uleshort 0 +->&-22 string PK\005\006 Zip archive, with extra data prepended ++>&-22 string PK\005\006 ++# without #! ++>>0 string !#! Zip archive, with extra data prepended + !:mime application/zip + !:ext zip/cbz ++# with #! ++>>0 string/w #!\ a ++>>>&-1 string/T x %s script executable (Zip archive) + + # ACE archive (from http://www.wotsit.org/download.asp?f=ace) + # by Stefan `Sec` Zehl <sec@42.org> diff --git a/debian/patches/1673481589.FILE5_44-14-gbb955ca3.jar-manifest-signature-file-pkcs-7-signed-data-fc-stegerman.patch b/debian/patches/1673481589.FILE5_44-14-gbb955ca3.jar-manifest-signature-file-pkcs-7-signed-data-fc-stegerman.patch new file mode 100644 index 0000000..44537f9 --- /dev/null +++ b/debian/patches/1673481589.FILE5_44-14-gbb955ca3.jar-manifest-signature-file-pkcs-7-signed-data-fc-stegerman.patch @@ -0,0 +1,31 @@ +Subject: JAR Manifest & Signature File, PKCS#7 Signed Data (FC Stegerman) +Origin: FILE5_44-14-gbb955ca3 <https://github.com/file/file/commit/FILE5_44-14-gbb955ca3> +Upstream-Author: Christos Zoulas <christos@zoulas.com> +Date: Wed Jan 11 23:59:49 2023 +0000 + +--- a/magic/Magdir/der ++++ b/magic/Magdir/der +@@ -137,3 +137,10 @@ + >>>>&0 der seq + >>>>>&0 der obj_id3=550403 + >>>>>&0 der utf8_str=x \b, Subject=%s ++ ++# PKCS#7 Signed Data (e.g. JAR Signature Block File) ++# OID 1.2.840.113549.1.7.2 (2a864886f70d010702) ++# Reference: https://www.rfc-editor.org/rfc/rfc2315 ++0 der seq ++>&0 der obj_id9=2a864886f70d010702 DER Encoded PKCS#7 Signed Data ++!:ext RSA/DSA/EC +--- a/magic/Magdir/java ++++ b/magic/Magdir/java +@@ -43,3 +43,10 @@ + >6 leshort >0x00 \b, version %d + >4 leshort x \b.%d + !:mime application/x-java-image ++ ++# JAR Manifest & Signature File ++# Reference: https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html ++0 string/t Manifest-Version:\x201.0 JAR Manifest ++!:ext MF ++0 string/t Signature-Version:\x201.0 JAR Signature File ++!:ext SF diff --git a/debian/patches/1673481736.FILE5_44-15-ga2756aa5.improve-javascript-detection-fc-stegerman.patch b/debian/patches/1673481736.FILE5_44-15-ga2756aa5.improve-javascript-detection-fc-stegerman.patch new file mode 100644 index 0000000..f0b5529 --- /dev/null +++ b/debian/patches/1673481736.FILE5_44-15-ga2756aa5.improve-javascript-detection-fc-stegerman.patch @@ -0,0 +1,103 @@ +Subject: Improve JavaScript detection (FC Stegerman) +Origin: FILE5_44-15-ga2756aa5 <https://github.com/file/file/commit/FILE5_44-15-ga2756aa5> +Upstream-Author: Christos Zoulas <christos@zoulas.com> +Date: Thu Jan 12 00:02:16 2023 +0000 + +--- a/magic/Magdir/javascript ++++ b/magic/Magdir/javascript +@@ -3,18 +3,68 @@ + # $File: javascript,v 1.4 2022/09/02 08:08:17 christos Exp $ + # javascript: magic for javascript and node.js scripts. + # +-0 string/w #!/bin/node Node.js script text executable ++0 string/tw #!/bin/node Node.js script executable + !:mime application/javascript +-0 string/w #!/usr/bin/node Node.js script text executable ++0 string/tw #!/usr/bin/node Node.js script executable + !:mime application/javascript +-0 string/w #!/bin/nodejs Node.js script text executable ++0 string/tw #!/bin/nodejs Node.js script executable + !:mime application/javascript +-0 string/w #!/usr/bin/nodejs Node.js script text executable +-!:mime application/javascript +-0 string #!/usr/bin/env\ node Node.js script text executable +-!:mime application/javascript +-0 string #!/usr/bin/env\ nodejs Node.js script text executable ++0 string/tw #!/usr/bin/nodejs Node.js script executable + !:mime application/javascript ++0 string/t #!/usr/bin/env\ node Node.js script executable ++!:mime application/javascript ++0 string/t #!/usr/bin/env\ nodejs Node.js script executable ++!:mime application/javascript ++ ++# JavaScript ++# The strength is increased to beat the C++ & HTML rules ++0 search "use\x20strict" JavaScript source ++!:strength +30 ++!:mime application/javascript ++!:ext js ++0 search 'use\x20strict' JavaScript source ++!:strength +30 ++!:mime application/javascript ++!:ext js ++0 regex module(\\.|\\[["'])exports.*= JavaScript source ++!:strength +30 ++!:mime application/javascript ++!:ext js ++0 regex \^(const|var|let).*=.*require\\( JavaScript source ++!:strength +30 ++!:mime application/javascript ++!:ext js ++0 regex \^export\x20(function|class|default|const|var|let|async)\x20 JavaScript source ++!:strength +30 ++!:mime application/javascript ++!:ext js ++0 regex \\((async\x20)?function[(\x20] JavaScript source ++!:strength +30 ++!:mime application/javascript ++!:ext js ++0 regex \^(import|export).*\x20from\x20 JavaScript source ++!:strength +30 ++!:mime application/javascript ++!:ext js ++0 regex \^(import|export)\x20["']\\./ JavaScript source ++!:strength +30 ++!:mime application/javascript ++!:ext js ++0 regex \^require\\(["'] JavaScript source ++!:strength +30 ++!:mime application/javascript ++!:ext js ++0 regex typeof.*[!=]== JavaScript source ++!:strength +30 ++!:mime application/javascript ++!:ext js ++ ++# React Native minified JavaScript ++0 search/128 __BUNDLE_START_TIME__= React Native minified JavaScript ++!:strength +30 ++!:mime application/javascript ++!:ext bundle/jsbundle ++ + # Hermes by Facebook https://hermesengine.dev/ + # https://github.com/facebook/hermes/blob/master/include/hermes/\ + # BCGen/HBC/BytecodeFileFormat.h#L24 +--- a/magic/Magdir/sgml ++++ b/magic/Magdir/sgml +@@ -50,6 +50,16 @@ + !:mime text/html + !:strength + 5 + ++# avoid misdetection as JavaScript ++0 string/cWt \<!doctype\ html HTML document text ++!:mime text/html ++0 string/ct \<html> HTML document text ++!:mime text/html ++0 string/ct \<!-- ++>&0 search/4096/cWt \<!doctype\ html HTML document text ++>&0 search/4096/ct \<html> HTML document text ++!:mime text/html ++ + # SVG document + # https://www.w3.org/TR/SVG/single-page.html + 0 search/4096/cWbt \<!doctype\ svg SVG XML document diff --git a/debian/patches/1673482012.FILE5_44-16-gb29519e7.detect-android-apk-files-fc-stegerman.patch b/debian/patches/1673482012.FILE5_44-16-gb29519e7.detect-android-apk-files-fc-stegerman.patch new file mode 100644 index 0000000..89b1408 --- /dev/null +++ b/debian/patches/1673482012.FILE5_44-16-gb29519e7.detect-android-apk-files-fc-stegerman.patch @@ -0,0 +1,73 @@ +Subject: Detect Android APK files (FC Stegerman) +Origin: FILE5_44-16-gb29519e7 <https://github.com/file/file/commit/FILE5_44-16-gb29519e7> +Upstream-Author: Christos Zoulas <christos@zoulas.com> +Date: Thu Jan 12 00:06:52 2023 +0000 + +--- a/magic/Magdir/archive ++++ b/magic/Magdir/archive +@@ -1505,6 +1505,65 @@ + !:mime application/zip + !:ext zip/cbz + ++# Android APK file (Zip archive) ++0 string PK\003\004 ++!:strength +1 ++# Starts with AndroidManifest.xml (file name length = 19) ++>26 uleshort 19 ++>>30 string AndroidManifest.xml Android package (APK), with AndroidManifest.xml ++>>>-22 string PK\005\006 ++>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block ++!:mime application/vnd.android.package-archive ++!:ext apk ++# Starts with META-INF/com/android/build/gradle/app-metadata.properties ++>26 uleshort 57 ++>>30 string META-INF/com/android/build/gradle/ ++>>>&0 string app-metadata.properties Android package (APK), with gradle app-metadata.properties ++>>>>-22 string PK\005\006 ++>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block ++!:mime application/vnd.android.package-archive ++!:ext apk ++# Starts with classes.dex (file name length = 11) ++>26 uleshort 11 ++>>30 string classes.dex Android package (APK), with classes.dex ++>>>-22 string PK\005\006 ++>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block ++!:mime application/vnd.android.package-archive ++!:ext apk ++# Starts with META-INF/MANIFEST.MF (file name length = 20) ++# NB: checks for resources.arsc or drawables as well to avoid matching JAR files ++>26 uleshort 20 ++>>30 string META-INF/MANIFEST.MF ++# Contains resources.arsc (near the end, in the central directory) ++>>>-512 search resources.arsc Android package (APK), with MANIFEST.MF and resources.arsc ++>>>>-22 string PK\005\006 ++>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block ++!:mime application/vnd.android.package-archive ++!:ext apk ++>>>-512 default x ++# Contains drawables (near the end, in the central directory) ++>>>>-512 search res/drawable Android package (APK), with MANIFEST.MF and drawables ++>>>>>-22 string PK\005\006 ++>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block ++!:mime application/vnd.android.package-archive ++!:ext apk ++# Starts with zipflinger virtual entry (28 + 104 = 132 bytes) ++# See https://github.com/obfusk/apksigcopier/blob/666f5b7/apksigcopier/__init__.py#L230 ++>4 string \x00\x00\x00\x00\x00\x00 ++>>&0 string \x21\x08\x21\x02 ++>>>&0 string \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 ++>>>>&0 string \x00\x00 Android package (APK), with zipflinger virtual entry ++>>>>>-22 string PK\005\006 ++>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block ++!:mime application/vnd.android.package-archive ++!:ext apk ++# APK Signing Block ++>0 default x ++>>-22 string PK\005\006 ++>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 Android package (APK), with APK Signing Block ++!:mime application/vnd.android.package-archive ++!:ext apk ++ + # Zip archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu) + 0 string PK\005\006 Zip archive data (empty) + !:mime application/zip diff --git a/debian/patches/1673482186.FILE5_44-17-g4c8ee2e7.detect-smali-files-fc-stegerman.patch b/debian/patches/1673482186.FILE5_44-17-g4c8ee2e7.detect-smali-files-fc-stegerman.patch new file mode 100644 index 0000000..96b069d --- /dev/null +++ b/debian/patches/1673482186.FILE5_44-17-g4c8ee2e7.detect-smali-files-fc-stegerman.patch @@ -0,0 +1,16 @@ +Subject: Detect .smali files (FC Stegerman) +Origin: FILE5_44-17-g4c8ee2e7 <https://github.com/file/file/commit/FILE5_44-17-g4c8ee2e7> +Upstream-Author: Christos Zoulas <christos@zoulas.com> +Date: Thu Jan 12 00:09:46 2023 +0000 + +--- a/magic/Magdir/android ++++ b/magic/Magdir/android +@@ -207,3 +207,8 @@ + >8 string >000 dex section version: %s, + >12 lelong >0 number of dex files: %d, + >16 lelong >0 verifier deps size: %d ++ ++# Disassembled DEX files ++0 string/t .class\x20 ++>&0 regex/512 \^\\.super\x20L.*;$ disassembled Android DEX Java class (smali/baksmali) ++!:ext smali diff --git a/debian/patches/1673482234.FILE5_44-18-g9fa5e784.detect-android-art-baseline-profiles-found-in-apk-files.patch b/debian/patches/1673482234.FILE5_44-18-g9fa5e784.detect-android-art-baseline-profiles-found-in-apk-files.patch new file mode 100644 index 0000000..7a9d585 --- /dev/null +++ b/debian/patches/1673482234.FILE5_44-18-g9fa5e784.detect-android-art-baseline-profiles-found-in-apk-files.patch @@ -0,0 +1,32 @@ +Subject: Detect Android ART (baseline) profiles found in APK files. (FC Stegerman) +Origin: FILE5_44-18-g9fa5e784 <https://github.com/file/file/commit/FILE5_44-18-g9fa5e784> +Upstream-Author: Christos Zoulas <christos@zoulas.com> +Date: Thu Jan 12 00:10:34 2023 +0000 + +--- a/magic/Magdir/android ++++ b/magic/Magdir/android +@@ -212,3 +212,24 @@ + 0 string/t .class\x20 + >&0 regex/512 \^\\.super\x20L.*;$ disassembled Android DEX Java class (smali/baksmali) + !:ext smali ++ ++# Android ART (baseline) profile + metadata: baseline.prof, baseline.profm ++# Reference: https://android.googlesource.com/platform/frameworks/support/\ ++# +/refs/heads/androidx-main/profileinstaller/profileinstaller/\ ++# src/main/java/androidx/profileinstaller/ProfileTranscoder.java ++# Reference: https://android.googlesource.com/platform/frameworks/support/\ ++# +/refs/heads/androidx-main/profileinstaller/profileinstaller/\ ++# src/main/java/androidx/profileinstaller/ProfileVersion.java ++0 string pro\x00 ++>0 regex pro\x000[0-9][0-9]\x00 Android ART profile ++!:ext prof ++>>4 string 001\x00 \b, version 001 N ++>>4 string 005\x00 \b, version 005 O ++>>4 string 009\x00 \b, version 009 O MR1 ++>>4 string 010\x00 \b, version 010 P ++>>4 string 015\x00 \b, version 015 S ++0 string prm\x00 ++>0 regex prm\x000[0-9][0-9]\x00 Android ART profile metadata ++!:ext profm ++>>4 string 001\x00 \b, version 001 N ++>>4 string 002\x00 \b, version 002 diff --git a/debian/patches/1673482275.FILE5_44-19-g4341ed61.detect-android-package-resource-table-arsc-fc-stegerman.patch b/debian/patches/1673482275.FILE5_44-19-g4341ed61.detect-android-package-resource-table-arsc-fc-stegerman.patch new file mode 100644 index 0000000..2184e42 --- /dev/null +++ b/debian/patches/1673482275.FILE5_44-19-g4341ed61.detect-android-package-resource-table-arsc-fc-stegerman.patch @@ -0,0 +1,30 @@ +Subject: Detect Android package resource table (ARSC) (FC Stegerman) +Origin: FILE5_44-19-g4341ed61 <https://github.com/file/file/commit/FILE5_44-19-g4341ed61> +Upstream-Author: Christos Zoulas <christos@zoulas.com> +Date: Thu Jan 12 00:11:15 2023 +0000 + +--- a/magic/Magdir/android ++++ b/magic/Magdir/android +@@ -233,3 +233,22 @@ + !:ext profm + >>4 string 001\x00 \b, version 001 N + >>4 string 002\x00 \b, version 002 ++ ++# Android package resource table (ARSC): resources.arsc ++# Reference: https://android.googlesource.com/platform/tools/base/\ ++# +/refs/heads/mirror-goog-studio-main/apkparser/binary-resources/\ ++# src/main/java/com/google/devrel/gmscore/tools/apk/arsc ++# 00: resource table type = 0x0002 (2) + header size = 12 (2) ++# 04: chunk size (4, skipped) ++# 08: #packages (4) ++0 ulelong 0x000c0002 Android package resource table (ARSC) ++!:ext arsc ++>8 ulelong !1 \b, %d packages ++# 12: string pool type = 0x0001 (2) + header size = 28 (2) ++# 16: chunk size (4, skipped) ++# 20: #strings (4), #styles (4), flags (4) ++>12 ulelong 0x001c0001 ++>>20 ulelong !0 \b, %d string(s) ++>>24 ulelong !0 \b, %d style(s) ++>>28 ulelong &1 \b, sorted ++>>28 ulelong &256 \b, utf8 diff --git a/debian/patches/1673725413.FILE5_44-22-g6d565d82.improve-apk-detection-fc-stegerman.patch b/debian/patches/1673725413.FILE5_44-22-g6d565d82.improve-apk-detection-fc-stegerman.patch new file mode 100644 index 0000000..256f66f --- /dev/null +++ b/debian/patches/1673725413.FILE5_44-22-g6d565d82.improve-apk-detection-fc-stegerman.patch @@ -0,0 +1,47 @@ +Subject: Improve APK detection (FC Stegerman) +Origin: FILE5_44-22-g6d565d82 <https://github.com/file/file/commit/FILE5_44-22-g6d565d82> +Upstream-Author: Christos Zoulas <christos@zoulas.com> +Date: Sat Jan 14 19:43:33 2023 +0000 + +--- a/magic/Magdir/archive ++++ b/magic/Magdir/archive +@@ -1531,7 +1531,7 @@ + !:mime application/vnd.android.package-archive + !:ext apk + # Starts with META-INF/MANIFEST.MF (file name length = 20) +-# NB: checks for resources.arsc or drawables as well to avoid matching JAR files ++# NB: checks for resources.arsc, classes.dex, etc. as well to avoid matching JAR files + >26 uleshort 20 + >>30 string META-INF/MANIFEST.MF + # Contains resources.arsc (near the end, in the central directory) +@@ -1540,13 +1540,27 @@ + >>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + !:mime application/vnd.android.package-archive + !:ext apk +->>>-512 default x +-# Contains drawables (near the end, in the central directory) +->>>>-512 search res/drawable Android package (APK), with MANIFEST.MF and drawables ++>>>-512 default x ++# Contains classes.dex (near the end, in the central directory) ++>>>>-512 search classes.dex Android package (APK), with MANIFEST.MF and classes.dex + >>>>>-22 string PK\005\006 + >>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + !:mime application/vnd.android.package-archive + !:ext apk ++>>>>-512 default x ++# Contains lib/armeabi (near the end, in the central directory) ++>>>>>-512 search lib/armeabi Android package (APK), with MANIFEST.MF and armeabi lib ++>>>>>>-22 string PK\005\006 ++>>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block ++!:mime application/vnd.android.package-archive ++!:ext apk ++>>>>>-512 default x ++# Contains drawables (near the end, in the central directory) ++>>>>>>-512 search res/drawable Android package (APK), with MANIFEST.MF and drawables ++>>>>>>>-22 string PK\005\006 ++>>>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block ++!:mime application/vnd.android.package-archive ++!:ext apk + # Starts with zipflinger virtual entry (28 + 104 = 132 bytes) + # See https://github.com/obfusk/apksigcopier/blob/666f5b7/apksigcopier/__init__.py#L230 + >4 string \x00\x00\x00\x00\x00\x00 diff --git a/debian/patches/1674058221.FILE5_44-23-gbaf1f4b4.add-mime-type-to-html-fc-stegerman.patch b/debian/patches/1674058221.FILE5_44-23-gbaf1f4b4.add-mime-type-to-html-fc-stegerman.patch new file mode 100644 index 0000000..ac253fa --- /dev/null +++ b/debian/patches/1674058221.FILE5_44-23-gbaf1f4b4.add-mime-type-to-html-fc-stegerman.patch @@ -0,0 +1,15 @@ +Subject: Add mime type to html (FC Stegerman) +Origin: FILE5_44-23-gbaf1f4b4 <https://github.com/file/file/commit/FILE5_44-23-gbaf1f4b4> +Upstream-Author: Christos Zoulas <christos@zoulas.com> +Date: Wed Jan 18 16:10:21 2023 +0000 + +--- a/magic/Magdir/sgml ++++ b/magic/Magdir/sgml +@@ -57,6 +57,7 @@ + !:mime text/html + 0 string/ct \<!-- + >&0 search/4096/cWt \<!doctype\ html HTML document text ++!:mime text/html + >&0 search/4096/ct \<html> HTML document text + !:mime text/html + diff --git a/debian/patches/1674058358.FILE5_44-24-gc4361a10.improve-detection-of-apk-files-if-we-find-a-manifest-file-at-least-say.patch b/debian/patches/1674058358.FILE5_44-24-gc4361a10.improve-detection-of-apk-files-if-we-find-a-manifest-file-at-least-say.patch new file mode 100644 index 0000000..1e934be --- /dev/null +++ b/debian/patches/1674058358.FILE5_44-24-gc4361a10.improve-detection-of-apk-files-if-we-find-a-manifest-file-at-least-say.patch @@ -0,0 +1,109 @@ +Subject: Improve detection of APK files; if we find a manifest file, at least say (...) +Origin: FILE5_44-24-gc4361a10 <https://github.com/file/file/commit/FILE5_44-24-gc4361a10> +Upstream-Author: Christos Zoulas <christos@zoulas.com> +Date: Wed Jan 18 16:12:38 2023 +0000 + + improve detection of APK files; if we find a manifest file, at least say + that it is a jar file (FC Stegerman) + +--- a/magic/Magdir/archive ++++ b/magic/Magdir/archive +@@ -1511,66 +1511,70 @@ + # Starts with AndroidManifest.xml (file name length = 19) + >26 uleshort 19 + >>30 string AndroidManifest.xml Android package (APK), with AndroidManifest.xml +->>>-22 string PK\005\006 +->>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + !:mime application/vnd.android.package-archive + !:ext apk ++>>>-22 string PK\005\006 ++>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + # Starts with META-INF/com/android/build/gradle/app-metadata.properties + >26 uleshort 57 + >>30 string META-INF/com/android/build/gradle/ + >>>&0 string app-metadata.properties Android package (APK), with gradle app-metadata.properties +->>>>-22 string PK\005\006 +->>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + !:mime application/vnd.android.package-archive + !:ext apk ++>>>>-22 string PK\005\006 ++>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + # Starts with classes.dex (file name length = 11) + >26 uleshort 11 + >>30 string classes.dex Android package (APK), with classes.dex +->>>-22 string PK\005\006 +->>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + !:mime application/vnd.android.package-archive + !:ext apk ++>>>-22 string PK\005\006 ++>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + # Starts with META-INF/MANIFEST.MF (file name length = 20) + # NB: checks for resources.arsc, classes.dex, etc. as well to avoid matching JAR files + >26 uleshort 20 + >>30 string META-INF/MANIFEST.MF + # Contains resources.arsc (near the end, in the central directory) + >>>-512 search resources.arsc Android package (APK), with MANIFEST.MF and resources.arsc +->>>>-22 string PK\005\006 +->>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + !:mime application/vnd.android.package-archive + !:ext apk ++>>>>-22 string PK\005\006 ++>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + >>>-512 default x + # Contains classes.dex (near the end, in the central directory) + >>>>-512 search classes.dex Android package (APK), with MANIFEST.MF and classes.dex +->>>>>-22 string PK\005\006 +->>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + !:mime application/vnd.android.package-archive + !:ext apk ++>>>>>-22 string PK\005\006 ++>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + >>>>-512 default x + # Contains lib/armeabi (near the end, in the central directory) + >>>>>-512 search lib/armeabi Android package (APK), with MANIFEST.MF and armeabi lib +->>>>>>-22 string PK\005\006 +->>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + !:mime application/vnd.android.package-archive + !:ext apk ++>>>>>>-22 string PK\005\006 ++>>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + >>>>>-512 default x + # Contains drawables (near the end, in the central directory) + >>>>>>-512 search res/drawable Android package (APK), with MANIFEST.MF and drawables +->>>>>>>-22 string PK\005\006 +->>>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + !:mime application/vnd.android.package-archive + !:ext apk ++>>>>>>>-22 string PK\005\006 ++>>>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block ++# It may or may not be an APK file, but it's definitely a Java JAR file ++>>>>>>-512 default x Java archive data (JAR) ++!:mime application/java-archive ++!:ext jar + # Starts with zipflinger virtual entry (28 + 104 = 132 bytes) + # See https://github.com/obfusk/apksigcopier/blob/666f5b7/apksigcopier/__init__.py#L230 + >4 string \x00\x00\x00\x00\x00\x00 + >>&0 string \x21\x08\x21\x02 + >>>&0 string \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 + >>>>&0 string \x00\x00 Android package (APK), with zipflinger virtual entry +->>>>>-22 string PK\005\006 +->>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + !:mime application/vnd.android.package-archive + !:ext apk ++>>>>>-22 string PK\005\006 ++>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block + # APK Signing Block + >0 default x + >>-22 string PK\005\006 +@@ -1795,9 +1799,10 @@ + >>>38 regex [!-OQ-~]+ Zip data (MIME type "%s"?) + !:mime application/zip + +-# Java Jar files ++# Java Jar files (see also APK files above) + >(26.s+30) leshort 0xcafe Java archive data (JAR) + !:mime application/java-archive ++!:ext jar + + # iOS App + >(26.s+30) leshort !0xcafe diff --git a/debian/patches/1674400026.FILE5_44-29-g1e4b7389.increase-strength-to-beat-targa-fc-stegerman.patch b/debian/patches/1674400026.FILE5_44-29-g1e4b7389.increase-strength-to-beat-targa-fc-stegerman.patch new file mode 100644 index 0000000..d5231fd --- /dev/null +++ b/debian/patches/1674400026.FILE5_44-29-g1e4b7389.increase-strength-to-beat-targa-fc-stegerman.patch @@ -0,0 +1,17 @@ +Subject: Increase strength to beat targa (FC Stegerman) +Origin: FILE5_44-29-g1e4b7389 <https://github.com/file/file/commit/FILE5_44-29-g1e4b7389> +Upstream-Author: Christos Zoulas <christos@zoulas.com> +Date: Sun Jan 22 15:07:06 2023 +0000 + +--- a/magic/Magdir/android ++++ b/magic/Magdir/android +@@ -180,7 +180,9 @@ + # In include/androidfw/ResourceTypes.h: + # RES_XML_TYPE = 0x0003 followed by the size of the header (ResXMLTree_header), + # which is 8 bytes (2 bytes type + 2 bytes header size + 4 bytes size). ++# The strength is increased to avoid misidentifying as Targa image data + 0 lelong 0x00080003 Android binary XML ++!:strength +1 + + # Android cryptfs footer + # From https://android.googlesource.com/\ diff --git a/debian/patches/local.don-t-include-libs-in-build.patch b/debian/patches/local.don-t-include-libs-in-build.patch new file mode 100644 index 0000000..fa33e3e --- /dev/null +++ b/debian/patches/local.don-t-include-libs-in-build.patch @@ -0,0 +1,17 @@ +Description: Don't include libs in build +Author: Michael Piefel <piefel@debian.org> +Last-Update: 2016-06-27 + + (Reason for this is not at all clear -CB) + +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -501,7 +501,7 @@ + + file$(EXEEXT): $(file_OBJECTS) $(file_DEPENDENCIES) $(EXTRA_file_DEPENDENCIES) + @rm -f file$(EXEEXT) +- $(AM_V_CCLD)$(LINK) $(file_OBJECTS) $(file_LDADD) $(LIBS) ++ $(AM_V_CCLD)$(LINK) $(file_OBJECTS) $(file_LDADD) + + mostlyclean-compile: + -rm -f *.$(OBJEXT) diff --git a/debian/patches/local.extra-magic.patch b/debian/patches/local.extra-magic.patch new file mode 100644 index 0000000..b38154f --- /dev/null +++ b/debian/patches/local.extra-magic.patch @@ -0,0 +1,15 @@ +Subject: Extra magic file, to be upstreamed +Author: Christoph Biedl <debian.axhn@manchmal.in-ulm.de> +Date: 2018-07-18 +Forwarded: not-yet + +--- a/magic/Makefile.am ++++ b/magic/Makefile.am +@@ -10,6 +10,7 @@ + MAGIC_FRAGMENTS = \ + $(MAGIC_DIR)/Header \ + $(MAGIC_DIR)/Localstuff \ ++$(MAGIC_FRAGMENT_DIR)/../../debian/debian-extra-magic \ + $(MAGIC_FRAGMENT_DIR)/acorn \ + $(MAGIC_FRAGMENT_DIR)/adi \ + $(MAGIC_FRAGMENT_DIR)/adventure \ diff --git a/debian/patches/local.manpage-seccomp-is-disabled.patch b/debian/patches/local.manpage-seccomp-is-disabled.patch new file mode 100644 index 0000000..b94c154 --- /dev/null +++ b/debian/patches/local.manpage-seccomp-is-disabled.patch @@ -0,0 +1,18 @@ +Subject: Clarify manpage: seccomp is disabled for the time being +Author: Christoph Biedl <debian.axhn@manchmal.in-ulm.de> +Date: 2019-01-11 +Bug-Debian: https://bugs.debian.org/917930 + +--- a/doc/file.man ++++ b/doc/file.man +@@ -387,6 +387,10 @@ + .Fl z + option is specified and the built-in decompressors are not available. + On systems where sandboxing is not available, this option has no effect. ++.Pp ++.Em Note: ++This Debian version of file was built without seccomp support, so this option ++has no effect. + .It Fl v , Fl Fl version + Print the version of the program and exit. + .It Fl z , Fl Fl uncompress diff --git a/debian/patches/local.support-local-definitions-in-etc-magic.patch b/debian/patches/local.support-local-definitions-in-etc-magic.patch new file mode 100644 index 0000000..f26768a --- /dev/null +++ b/debian/patches/local.support-local-definitions-in-etc-magic.patch @@ -0,0 +1,92 @@ +Description: Support local definitions in /etc/magic +Author: + Michael Piefel <piefel@debian.org>, + Judit Foglszinger <fgrfgr@freenet.de> +Forwarded: no +Last-Update: 2016-06-27 + +--- a/magic/Header ++++ b/magic/Header +@@ -1,5 +1,6 @@ + # Magic data for file(1) command. +-# Format is described in magic(files), where: +-# files is 5 on V7 and BSD, 4 on SV, and ?? on SVID. ++# Format is described in in magic(5). + # Don't edit this file, edit /etc/magic or send your magic improvements +-# to the maintainers, at file@astron.com ++# to the upstream maintainers, at file@astron.com ++# or send your suggested inclusions ++# as a wishlist bug against the file package (using the reportbug utility). +--- /dev/null ++++ b/magic/magic.local +@@ -0,0 +1,3 @@ ++# Magic local data for file(1) command. ++# Insert here your local magic data. Format is described in magic(5). ++ +--- a/src/apprentice.c ++++ b/src/apprentice.c +@@ -496,7 +496,7 @@ + #ifndef COMPILE_ONLY + map = apprentice_map(ms, fn); + if (map == NULL) { +- if (ms->flags & MAGIC_CHECK) ++ if (ms->flags & MAGIC_CHECK && strcmp("/etc/magic", fn) != 0) + file_magwarn(NULL, "using regular magic file `%s'", fn); + map = apprentice_load(ms, fn, action); + if (map == NULL) +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -4,7 +4,7 @@ + + bin_PROGRAMS = file + +-AM_CPPFLAGS = -DMAGIC='"$(MAGIC)"' ++AM_CPPFLAGS = -DMAGIC='"/etc/magic:$(MAGIC)"' + AM_CFLAGS = $(CFLAG_VISIBILITY) @WARNINGS@ + + libmagic_la_SOURCES = buffer.c magic.c apprentice.c softmagic.c ascmagic.c \ +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -360,7 +360,7 @@ + MAGIC = $(pkgdatadir)/magic + lib_LTLIBRARIES = libmagic.la + nodist_include_HEADERS = magic.h +-AM_CPPFLAGS = -DMAGIC='"$(MAGIC)"' ++AM_CPPFLAGS = -DMAGIC='"/etc/magic:$(MAGIC)"' + AM_CFLAGS = $(CFLAG_VISIBILITY) @WARNINGS@ + libmagic_la_SOURCES = buffer.c magic.c apprentice.c softmagic.c ascmagic.c \ + encoding.c compress.c is_csv.c is_json.c is_tar.c readelf.c print.c \ +--- a/doc/file.man ++++ b/doc/file.man +@@ -59,7 +59,7 @@ + Exceptions are well-known file formats (core files, tar archives) + that are known to contain binary data. + When modifying magic files or the program itself, make sure to +-.Em preserve these keywords . ++.Em "preserve these keywords" . + Users depend on knowing that all the readable files in a directory + have the word + .Dq text +@@ -102,7 +102,8 @@ + has been applied by extension to data files. + Any file with some invariant identifier at a small fixed + offset into the file can usually be described in this way. +-The information identifying these files is read from the compiled ++The information identifying these files is read from /etc/magic ++and the compiled + magic file + .Pa __MAGIC__.mgc , + or the files in the directory +@@ -572,12 +573,6 @@ + The order of entries in the magic file is significant. + Depending on what system you are using, the order that + they are put together may be incorrect. +-If your old +-.Nm +-command uses a magic file, +-keep the old magic file around for comparison purposes +-(rename it to +-.Pa __MAGIC__.orig ) . + .Sh HISTORY + There has been a + .Nm diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..6648216 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,25 @@ +# reverted upstream commits + +# cherry-picked commits. Keep in upstream's chronological order +1672082456.FILE5_44-5-g813b3304.pr-410-pandrew-add-bitcoin-and-leveldb-support.patch +1672518248.FILE5_44-9-gdc71304b.pyzip-improvements-fc-stegerman.patch +1673481589.FILE5_44-14-gbb955ca3.jar-manifest-signature-file-pkcs-7-signed-data-fc-stegerman.patch +1673481736.FILE5_44-15-ga2756aa5.improve-javascript-detection-fc-stegerman.patch +1673482012.FILE5_44-16-gb29519e7.detect-android-apk-files-fc-stegerman.patch +1673482186.FILE5_44-17-g4c8ee2e7.detect-smali-files-fc-stegerman.patch +1673482234.FILE5_44-18-g9fa5e784.detect-android-art-baseline-profiles-found-in-apk-files.patch +1673482275.FILE5_44-19-g4341ed61.detect-android-package-resource-table-arsc-fc-stegerman.patch +1673725413.FILE5_44-22-g6d565d82.improve-apk-detection-fc-stegerman.patch +1674058221.FILE5_44-23-gbaf1f4b4.add-mime-type-to-html-fc-stegerman.patch +1674058358.FILE5_44-24-gc4361a10.improve-detection-of-apk-files-if-we-find-a-manifest-file-at-least-say.patch +1674400026.FILE5_44-29-g1e4b7389.increase-strength-to-beat-targa-fc-stegerman.patch + +# patches that should go upstream +upstream.disable.att3b.patch +upstream.mute-debug-warning.patch + +# local modifications +local.support-local-definitions-in-etc-magic.patch +local.don-t-include-libs-in-build.patch +local.extra-magic.patch +local.manpage-seccomp-is-disabled.patch diff --git a/debian/patches/upstream.disable.att3b.patch b/debian/patches/upstream.disable.att3b.patch new file mode 100644 index 0000000..4e0c61b --- /dev/null +++ b/debian/patches/upstream.disable.att3b.patch @@ -0,0 +1,43 @@ +Subject: Disable att3b/WE32K executables like 3B20 +Author: Christoph Biedl <debian.axhn@manchmal.in-ulm.de> +Date: 2019-12-19 +Bug-Debian: https://bugs.debian.org/913867 +Forwarded: Not yet + +--- a/magic/Magdir/att3b ++++ b/magic/Magdir/att3b +@@ -18,20 +18,20 @@ + # + # WE32K + # +-0 beshort 0560 WE32000 COFF +->18 beshort ^00000020 object +->18 beshort &00000020 executable +->12 belong >0 not stripped +->18 beshort ^00010000 N/A on 3b2/300 w/paging +->18 beshort &00020000 32100 required +->18 beshort &00040000 and MAU hardware required +->20 beshort 0407 (impure) +->20 beshort 0410 (pure) +->20 beshort 0413 (demand paged) +->20 beshort 0443 (target shared library) +->22 beshort >0 - version %d +-0 beshort 0561 WE32000 COFF executable (TV) +->12 belong >0 not stripped ++#0 beshort 0560 WE32000 COFF ++#>18 beshort ^00000020 object ++#>18 beshort &00000020 executable ++#>12 belong >0 not stripped ++#>18 beshort ^00010000 N/A on 3b2/300 w/paging ++#>18 beshort &00020000 32100 required ++#>18 beshort &00040000 and MAU hardware required ++#>20 beshort 0407 (impure) ++#>20 beshort 0410 (pure) ++#>20 beshort 0413 (demand paged) ++#>20 beshort 0443 (target shared library) ++#>22 beshort >0 - version %d ++#0 beshort 0561 WE32000 COFF executable (TV) ++#>12 belong >0 not stripped + #>18 beshort &00020000 - 32100 required + #>18 beshort &00040000 and MAU hardware required + #>22 beshort >0 - version %d diff --git a/debian/patches/upstream.mute-debug-warning.patch b/debian/patches/upstream.mute-debug-warning.patch new file mode 100644 index 0000000..34d4c21 --- /dev/null +++ b/debian/patches/upstream.mute-debug-warning.patch @@ -0,0 +1,25 @@ +Subject: Disable debug messages +Author: Christoph Biedl <debian.axhn@manchmal.in-ulm.de> +Date: 2022-12-20 +Forwarded: https://mailman.astron.com/pipermail/file/2022-December/001018.html + +--- a/src/softmagic.c ++++ b/src/softmagic.c +@@ -1461,7 +1461,7 @@ + // On purpose not INTMAX_MAX + if (lhs >= UINT_MAX || lhs <= INT_MIN || + off >= UINT_MAX || off <= INT_MIN) { +- fprintf(stderr, "lhs/off overflow %jd %jd\n", lhs, off); ++/* fprintf(stderr, "lhs/off overflow %jd %jd\n", lhs, off); */ + return 1; + } + +@@ -1497,7 +1497,7 @@ + if (m->in_op & FILE_OPINVERSE) + offset = ~offset; + if (offset >= UINT_MAX) { +- fprintf(stderr, "offset overflow %jd\n", offset); ++/* fprintf(stderr, "offset overflow %jd\n", offset); */ + return 1; + } + *rv = CAST(uint32_t, offset); |