Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package file for openSUSE:Factory checked in at 2026-04-02 17:40:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/file (Old) and /work/SRC/openSUSE:Factory/.file.new.21863 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "file" Thu Apr 2 17:40:40 2026 rev:144 rq:1344081 version:5.47 Changes: -------- --- /work/SRC/openSUSE:Factory/file/file.changes 2025-09-05 21:43:09.392253765 +0200 +++ /work/SRC/openSUSE:Factory/.file.new.21863/file.changes 2026-04-02 17:40:43.026235378 +0200 @@ -1,0 +2,53 @@ +Wed Apr 1 09:10:47 UTC 2026 - Dr. Werner Fink <[email protected]> + +- Add patch file-5.47-regression.dif (boo#1261199) + * Fix regression in detection of magics in a buffer + +------------------------------------------------------------------- +Tue Mar 31 11:06:20 UTC 2026 - Dr. Werner Fink <[email protected]> + +- Add patch file-5.47-fdf.dif + * Use tabs instead of normal white spaces in description of %FDF + +------------------------------------------------------------------- +Fri Mar 27 12:59:36 UTC 2026 - Dr. Werner Fink <[email protected]> + +- Port patches + * file-4.20-ssd.dif + * file-4.21-xcursor.dif + * file-5.19-clicfs.dif + * file-5.19-solv.dif + * file-5.19-zip2.0.dif + * file-5.28-btrfs-image.dif +- Remove patches now upstream or solved by upstream + * file-4.20-xen.dif + * file-4.21-scribus.dif + * file-5.14-tex.dif + * file-5.19-cromfs.dif + +------------------------------------------------------------------- +Fri Mar 27 11:38:17 UTC 2026 - Dr. Werner Fink <[email protected]> + +- Update to 5.47: + * Better multi-compound document identification by following the + order of the directories entries. (Thomas Ledoux) + * if stat fails, don't attempt to restore times (Steven Grubb) + * PR/622: Odd_Bloke: Handle negative offsets in file_buffer(), + when fd is not available. + * PR/655: jsummers: Obey str_flags in strings like we do for search + and regex + * PR/659: Pitzl: Apply MAGIC_CONTINUE to annotations; i.e. print + only the first, unless -k is specified. + * PR/592: allow + in format strings + * PR/592: signed operations should be done in signed context + * PR/578: jsummers: Don't crash on cygwin when tm_mon == -1 + * PR/579: net147: Fix stack overrun. +- Remove patches now upstream + * file-zipdata.patch + * boo1237209.patch + * file-seccomp.patch + * file-seccomp-ppc.patch + * file-5.46-tcgets2.patch +- Port and rename patch file-5.46.dif which becomes now file-5.47.dif + +------------------------------------------------------------------- --- /work/SRC/openSUSE:Factory/file/python-magic.changes 2024-08-13 13:23:15.830295941 +0200 +++ /work/SRC/openSUSE:Factory/.file.new.21863/python-magic.changes 2026-04-02 17:40:43.042236041 +0200 @@ -1,0 +2,5 @@ +Mon Mar 30 09:01:17 UTC 2026 - Dr. Werner Fink <[email protected]> + +- Replace the upstream tab with 8 white spaces in pyton file + +------------------------------------------------------------------- Old: ---- boo1237209.patch file-4.20-xen.dif file-4.21-scribus.dif file-5.14-tex.dif file-5.19-cromfs.dif file-5.46-tcgets2.patch file-5.46.dif file-5.46.tar.gz file-5.46.tar.gz.asc file-seccomp-ppc.patch file-seccomp.patch file-zipdata.patch New: ---- file-5.47-fdf.dif file-5.47-regression.dif file-5.47.dif file-5.47.tar.gz file-5.47.tar.gz.asc ----------(Old B)---------- Old:/work/SRC/openSUSE:Factory/.file.new.21863/file.changes- * file-zipdata.patch /work/SRC/openSUSE:Factory/.file.new.21863/file.changes: * boo1237209.patch /work/SRC/openSUSE:Factory/.file.new.21863/file.changes- * file-seccomp.patch Old:/work/SRC/openSUSE:Factory/.file.new.21863/file.changes- * file-seccomp-ppc.patch /work/SRC/openSUSE:Factory/.file.new.21863/file.changes: * file-5.46-tcgets2.patch /work/SRC/openSUSE:Factory/.file.new.21863/file.changes-- Port and rename patch file-5.46.dif which becomes now file-5.47.dif Old:/work/SRC/openSUSE:Factory/.file.new.21863/file.changes- * file-seccomp.patch /work/SRC/openSUSE:Factory/.file.new.21863/file.changes: * file-seccomp-ppc.patch /work/SRC/openSUSE:Factory/.file.new.21863/file.changes- * file-5.46-tcgets2.patch Old:/work/SRC/openSUSE:Factory/.file.new.21863/file.changes- * boo1237209.patch /work/SRC/openSUSE:Factory/.file.new.21863/file.changes: * file-seccomp.patch /work/SRC/openSUSE:Factory/.file.new.21863/file.changes- * file-seccomp-ppc.patch Old:/work/SRC/openSUSE:Factory/.file.new.21863/file.changes-- Remove patches now upstream /work/SRC/openSUSE:Factory/.file.new.21863/file.changes: * file-zipdata.patch /work/SRC/openSUSE:Factory/.file.new.21863/file.changes- * boo1237209.patch ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ file.spec ++++++ --- /var/tmp/diff_new_pack.5AmRyB/_old 2026-04-02 17:40:46.230368085 +0200 +++ /var/tmp/diff_new_pack.5AmRyB/_new 2026-04-02 17:40:46.234368251 +0200 @@ -1,7 +1,7 @@ # # spec file for package file # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,6 +18,7 @@ %define somajor 1 %define libname libmagic%{somajor} +%bcond_without debugmagic Name: file BuildRequires: bash >= 4.0 @@ -36,7 +37,7 @@ %endif # # Set Version also in python-magic.spec -Version: 5.46 +Version: 5.47 Release: 0 Summary: A Tool to Determine File Types License: BSD-2-Clause @@ -45,18 +46,16 @@ Source3: file-rpmlintrc Source4: https://www.astron.com/pub/file/file-%{version}.tar.gz.asc Source5: file.keyring -Patch0: file-5.46.dif +Patch0: file-5.47.dif Patch1: file-5.19-misc.dif +Patch2: file-5.47-fdf.dif +Patch3: file-5.47-regression.dif Patch4: file-4.24-autoconf.dif -Patch5: file-5.14-tex.dif Patch7: file-4.20-ssd.dif -Patch8: file-4.20-xen.dif Patch9: file-5.22-elf.dif Patch10: file-5.19-printf.dif Patch12: file-5.17-option.dif -Patch13: file-4.21-scribus.dif Patch15: file-4.21-xcursor.dif -Patch22: file-5.19-cromfs.dif Patch25: file-5.18-javacheck.dif Patch26: file-5.19-solv.dif Patch27: file-5.19-zip2.0.dif @@ -64,11 +63,6 @@ Patch32: file-5.19-clicfs.dif Patch37: file-secure_getenv.patch Patch39: file-5.28-btrfs-image.dif -Patch42: boo1237209.patch -Patch43: file-seccomp.patch -Patch44: file-seccomp-ppc.patch -Patch45: file-zipdata.patch -Patch46: file-5.46-tcgets2.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir /etc %global magicdir %{_datadir}/file @@ -113,30 +107,33 @@ %prep %setup -q -n file-%{version} +# f'cking python +sed -ri 's/ / /' python/magic.py +%if %{with debugmagic} %patch -P 1 -p0 -b .misc +%patch -P 2 -p0 -b .fdf +%patch -P 3 -p0 -b .regress +%endif %patch -P 4 -p0 -b .conf -%patch -P 5 -p0 -b .tex +%if %{with debugmagic} %patch -P 7 -p0 -b .ssd -%patch -P 8 -p0 -b .xen +%endif %patch -P 9 -p0 -b .elf %patch -P 10 -p0 -b .prtf %patch -P 12 -p1 -b .opt -%patch -P 13 -p0 -b .scri +%if %{with debugmagic} %patch -P 15 -p0 -b .xcur -%patch -P 22 -p0 -b .cromfs %patch -P 25 -p0 -b .javacheck %patch -P 26 -p0 -b .solv %patch -P 27 -p0 -b .zip2.0 %patch -P 31 -p0 -b .biorad %patch -P 32 -p0 -b .clicfs +%endif %patch -P 37 -p1 -b .getenv +%if %{with debugmagic} %patch -P 39 -p1 -b .btrfs +%endif %patch -P 0 -b .0 -%patch -P 42 -p1 -%patch -P 43 -p1 -b .seccomp -%patch -P 44 -p1 -b .ppc -%patch -P 45 -p1 -b .zipdata -%patch -P 46 -p1 -b .tcgets2 test -s src/magic.h.in || cp -p src/magic.h src/magic.h.in rm -fv src/magic.h @@ -172,6 +169,9 @@ %check # Test if prctl is still allowed by the seccomp filter. export GLIBC_TUNABLES=glibc.mem.decorate_maps=1 +# Seek for duplets +rm -v magic/magic.mgc +make V=1 -C magic magic.mgc # Standard checks make check # Check out that the binary does not bail out: ++++++ python-magic.spec ++++++ --- /var/tmp/diff_new_pack.5AmRyB/_old 2026-04-02 17:40:46.286370405 +0200 +++ /var/tmp/diff_new_pack.5AmRyB/_new 2026-04-02 17:40:46.290370570 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-magic # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,7 +21,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %global _miscdir %{_datadir}/misc Name: python-magic -Version: 5.46 +Version: 5.47 Release: 0 Summary: Python module to use libmagic License: BSD-3-Clause AND BSD-4-Clause ++++++ file-4.20-ssd.dif ++++++ --- /var/tmp/diff_new_pack.5AmRyB/_old 2026-04-02 17:40:46.346372890 +0200 +++ /var/tmp/diff_new_pack.5AmRyB/_new 2026-04-02 17:40:46.350373056 +0200 @@ -1,11 +1,15 @@ +--- + magic/Localstuff | 9 +++++++++ + 1 file changed, 9 insertions(+) + --- magic/Localstuff -+++ magic/Localstuff 2013-09-30 00:00:00.000000000 +0000 -@@ -14,3 +14,12 @@ - >33 string >\0 (%s) - 2 string \000\022 TeX font metric data - >33 string >\0 (%s) ++++ magic/Localstuff 2026-03-27 12:53:52.840746350 +0000 +@@ -5,3 +5,12 @@ + # $File: Localstuff,v 1.5 2007/01/12 17:38:27 christos Exp $ + # Add any locally observed files here. Remember: + # text if readable, executable if runnable binary, data if unreadable. + -+# XXX some MS Structured Storage Documents such as Adobe PageMaker[tm] ++# Some MS Structured Storage Documents such as Adobe PageMaker[tm] +# files interfere with the Microsoft Office Document and the SSD starting +# sequence \320\317\021\340\241\261\032\341. Anyone who knows +# more details about the scheme of such SSDs and can help to extend this to all ++++++ file-4.21-xcursor.dif ++++++ --- /var/tmp/diff_new_pack.5AmRyB/_old 2026-04-02 17:40:46.370373884 +0200 +++ /var/tmp/diff_new_pack.5AmRyB/_new 2026-04-02 17:40:46.378374216 +0200 @@ -1,10 +1,16 @@ ---- magic/Localstuff -+++ magic/Localstuff 2013-09-30 00:00:00.000000000 +0000 -@@ -33,3 +33,6 @@ - # File magic for Scribus, an Open Source Desktop Publishing system - 0 string \<SCRIBUSUTF8\ Version Scribus Document - 0 string \<SCRIBUSUTF8NEW\ Version Scribus Document -+ -+# File magic for X11 cursor data files +--- + magic/Magdir/images | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- magic/Magdir/images ++++ magic/Magdir/images 2026-03-27 12:41:45.618155685 +0000 +@@ -2739,7 +2739,7 @@ + # Type: X11 cursor + # URL: http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup + # From: Mathias Brodala <[email protected]> +-0 string Xcur X11 cursor +0 string Xcur\020\000 X11 cursor data + + # Type: Olympus ORF raw images. + # URL: https://libopenraw.freedesktop.org/wiki/Olympus_ORF ++++++ file-5.19-biorad.dif ++++++ --- /var/tmp/diff_new_pack.5AmRyB/_old 2026-04-02 17:40:46.410375541 +0200 +++ /var/tmp/diff_new_pack.5AmRyB/_new 2026-04-02 17:40:46.414375706 +0200 @@ -6,7 +6,7 @@ =================================================================== --- magic/Magdir/images.orig +++ magic/Magdir/images -@@ -2378,6 +2378,8 @@ +@@ -2379,6 +2379,8 @@ # https://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt # Samples: https://www.loci.wisc.edu/software/sample-data 14 uleshort <2 ++++++ file-5.19-clicfs.dif ++++++ --- /var/tmp/diff_new_pack.5AmRyB/_old 2026-04-02 17:40:46.442376866 +0200 +++ /var/tmp/diff_new_pack.5AmRyB/_new 2026-04-02 17:40:46.446377032 +0200 @@ -1,7 +1,11 @@ +--- + magic/Localstuff | 8 ++++++++ + 1 file changed, 8 insertions(+) + --- magic/Localstuff -+++ magic/Localstuff 2013-09-30 00:00:00.000000000 +0000 -@@ -53,3 +53,11 @@ - ++++ magic/Localstuff 2026-03-27 12:58:19.727806973 +0000 +@@ -18,3 +18,11 @@ + # libsatsolver solv file 0 string SOLV Sat-solver solv file, >4 belong x version %d + ++++++ file-5.19-printf.dif ++++++ --- /var/tmp/diff_new_pack.5AmRyB/_old 2026-04-02 17:40:46.470378026 +0200 +++ /var/tmp/diff_new_pack.5AmRyB/_new 2026-04-02 17:40:46.474378192 +0200 @@ -6,12 +6,12 @@ =================================================================== --- src/apprentice.c.orig +++ src/apprentice.c -@@ -2647,7 +2647,7 @@ check_format_type(const char *ptr, int t +@@ -2676,7 +2676,7 @@ check_format_type(const char *ptr, int t } } else h = 0; -- while (*ptr && strchr("-.#", *ptr) != NULL) -+ while (*ptr && strchr("-.# +'", *ptr) != NULL) +- while (*ptr && strchr("+-.#", *ptr) != NULL) ++ while (*ptr && strchr("+-.# '", *ptr) != NULL) ptr++; #define CHECKLEN() do { \ for (len = cnt = 0; isdigit(CAST(unsigned char, *ptr)); ptr++, cnt++) \ ++++++ file-5.19-solv.dif ++++++ --- /var/tmp/diff_new_pack.5AmRyB/_old 2026-04-02 17:40:46.486378689 +0200 +++ /var/tmp/diff_new_pack.5AmRyB/_new 2026-04-02 17:40:46.490378855 +0200 @@ -1,11 +1,15 @@ +--- + magic/Localstuff | 4 ++++ + 1 file changed, 4 insertions(+) + --- magic/Localstuff -+++ magic/Localstuff 2014-06-25 08:53:43.110735387 +0000 -@@ -49,3 +49,7 @@ - >44 ulelong >0 \b block size = %d, - >48 ulequad >0 \b bytes = %lld - -+# libsatsolver solv file ++++ magic/Localstuff 2026-03-27 12:55:05.219405584 +0000 +@@ -14,3 +14,7 @@ + # determined? + 512 search/531 R\0o\0o\0t\0\ \0E\0n\0t\0r\0y Structured Storage + >&109 search/17 P\0a\0g\0e\0M\0a\0k\0e\0r PageMaker + ++# libsatsolver solv file +0 string SOLV Sat-solver solv file, +>4 belong x version %d ++++++ file-5.19-zip2.0.dif ++++++ --- /var/tmp/diff_new_pack.5AmRyB/_old 2026-04-02 17:40:46.506379517 +0200 +++ /var/tmp/diff_new_pack.5AmRyB/_new 2026-04-02 17:40:46.514379848 +0200 @@ -1,10 +1,10 @@ --- - magic/Magdir/archive | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) + magic/Magdir/archive | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) --- magic/Magdir/archive -+++ magic/Magdir/archive 2024-11-28 08:59:31.099299217 +0000 -@@ -1793,7 +1793,11 @@ ++++ magic/Magdir/archive 2026-03-27 12:57:19.380922795 +0000 +@@ -1797,7 +1797,11 @@ 0 string PK\x07\x08PK\x03\x04 Zip multi-volume archive data, at least PKZIP v2.50 to extract !:mime application/zip !:ext zip/cbz @@ -15,6 +15,6 @@ +!:mime application/unknown+zip +!:ext zip/cbz - 0 string PK\003\004 - !:strength +1 + # Generic zip archives (Greg Roelofs, c/o [email protected]) + # Next line excludes specialized formats: ++++++ file-5.22-elf.dif ++++++ --- /var/tmp/diff_new_pack.5AmRyB/_old 2026-04-02 17:40:46.534380677 +0200 +++ /var/tmp/diff_new_pack.5AmRyB/_new 2026-04-02 17:40:46.550381339 +0200 @@ -6,7 +6,7 @@ =================================================================== --- src/readelf.c.orig +++ src/readelf.c -@@ -884,7 +884,7 @@ do_core_note(struct magic_set *ms, unsig +@@ -898,7 +898,7 @@ do_core_note(struct magic_set *ms, unsig default: if (type == NT_PRPSINFO && *flags & FLAGS_IS_CORE) { @@ -15,7 +15,7 @@ unsigned char c; /* * Extract the program name. We assume -@@ -896,7 +896,9 @@ do_core_note(struct magic_set *ms, unsig +@@ -910,7 +910,9 @@ do_core_note(struct magic_set *ms, unsig * If the characters aren't all printable, * reject it. */ ++++++ file-5.28-btrfs-image.dif ++++++ --- /var/tmp/diff_new_pack.5AmRyB/_old 2026-04-02 17:40:46.566382002 +0200 +++ /var/tmp/diff_new_pack.5AmRyB/_new 2026-04-02 17:40:46.570382168 +0200 @@ -17,7 +17,7 @@ =================================================================== --- file-5.43.orig/magic/Magdir/filesystems +++ file-5.43/magic/Magdir/filesystems -@@ -2277,20 +2277,29 @@ +@@ -2292,20 +2292,29 @@ >>0x10060 string >\0 lockproto %s) # Russell Coker <[email protected]> ++++++ file-5.47-fdf.dif ++++++ --- magic/Magdir/animation | 2 +- magic/Magdir/archive | 2 +- magic/Magdir/pdf | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) --- magic/Magdir/animation +++ magic/Magdir/animation 2026-04-01 09:17:29.978083784 +0000 @@ -259,7 +259,7 @@ >8 string opx2 \b, OMA PDCF DRM + XBS ext >(OMA-TS-DRM_XBS-V1_0-20070529-C) >8 string pana \b, Panasonic Digital Camera >8 string piff \b, Protected Interoperable File Format ->8 string pnvi ]b, Panasonic Video Intercom +>8 string pnvi \b, Panasonic Video Intercom >8 string qt \b, Apple QuickTime (.MOV/QT) !:mime video/quicktime # HEIF image format --- magic/Magdir/archive +++ magic/Magdir/archive 2026-04-01 09:17:54.181641663 +0000 @@ -1237,7 +1237,7 @@ #>0x200 ubequad x \b, at 0x200 %#16.16llx # cab_descriptor_size like: 0 (*.cab) BD5 C8B DA5 E2A E36 116C 251D 4DA9 56F0 5CC2 6E4B 777D 779E 1F7C2 >16 ulelong !0 \b, descriptor size %#x ->(12.l+40) lelong x ]b, %u files +>(12.l+40) lelong x \b, %u files # TOP4 0 string T4\x1a TOP4 archive data --- magic/Magdir/pdf +++ magic/Magdir/pdf 2026-03-31 11:08:30.038748296 +0000 @@ -35,12 +35,12 @@ # From: Nick Schmalenberger <[email protected]> # Forms Data Format -0 string %FDF- FDF document +0 string %FDF- FDF document !:mime application/vnd.fdf !:strength +60 !:ext pdf ->5 byte x \b, version %c ->7 byte x \b.%c +>5 byte x \b, version %c +>7 byte x \b.%c 0 search/1024 %PDF- PDF document !:mime application/pdf ++++++ file-5.47-regression.dif ++++++ commit 3d9fe77de69d7c2fba4cffac7bb5ee5e53d2f058 Author: Werner Fink <[email protected]> Date: Wed Apr 1 11:08:52 2026 +0200 Fix regression in buffer handling Signed-off-by: Werner Fink <[email protected]> diff --git src/softmagic.c src/softmagic.c index 9aaf8b3e..2e886a4f 100644 --- src/softmagic.c +++ src/softmagic.c @@ -1582,6 +1582,8 @@ normal: } else { if (b->fd != -1) ms->offset = ms->eoffset + offset; + else + ms->offset = offset; } } if ((ms->flags & MAGIC_DEBUG) != 0) { ++++++ file-4.20-xen.dif -> file-5.47.dif ++++++ --- /work/SRC/openSUSE:Factory/file/file-4.20-xen.dif 2013-10-02 08:48:17.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.file.new.21863/file-5.47.dif 2026-04-02 17:40:42.794225769 +0200 @@ -1,12 +1,548 @@ ---- magic/Localstuff -+++ magic/Localstuff 2013-09-30 00:00:00.000000000 +0000 -@@ -23,3 +23,9 @@ - # determined? - 512 search/531 R\0o\0o\0t\0\ \0E\0n\0t\0r\0y Structured Storage - >&109 search/17 P\0a\0g\0e\0M\0a\0k\0e\0r PageMaker -+ -+# File magic for Xen, the virtual machine monitor for x86 -+0 string LinuxGuestRecord Xen saved domain -+#>2 regex \(name\ [^)]*\) %s -+>20 search/256 (name (name -+>>&1 string x %s...) +--- + magic/Magdir/elf | 2 + magic/Magdir/msad | 5 + + magic/Magdir/msdos | 6 - + magic/Makefile.am | 63 +++++++++------- + magic/Makefile.in | 60 +++++++++------ + src/Makefile.am | 2 + src/dcore.c | 207 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + 7 files changed, 293 insertions(+), 52 deletions(-) + +--- magic/Magdir/elf ++++ magic/Magdir/elf 2026-02-27 10:51:00.596392215 +0000 +@@ -154,7 +154,7 @@ + >18 leshort 47 Renesas H8/300H, + >18 leshort 48 Renesas H8S, + >18 leshort 49 Renesas H8/500, +->18 leshort 50 IA-64, ++>18 leshort 50 IA-64 (Intel 64 bit architecture), + >18 leshort 51 Stanford MIPS-X, + >18 leshort 52 Motorola Coldfire, + >18 leshort 53 Motorola M68HC12, +--- magic/Magdir/msad ++++ magic/Magdir/msad 2026-02-27 10:51:00.596392215 +0000 +@@ -0,0 +1,5 @@ ++#------------------------------------------------------------------------------ ++# msad: file(1) magic for msad ++# Microsoft visual C ++# This must precede the heuristic for raw G3 data ++4 string Standard\ Jet\ DB Microsoft Access Database +--- magic/Magdir/msdos ++++ magic/Magdir/msdos 2026-02-27 10:51:00.600392145 +0000 +@@ -331,10 +331,10 @@ + # Check for presence of COM Runtime descriptor + >>(0x3c.l+24) leshort 0x010b + >>>(0x3c.l+116) leshort >14 +->>>>(0x3c.l+232) lelong >0 Mono/.Net assembly ++>>>>(0x3c.l+232) lelong >0 \b, Mono/.Net assembly + >>(0x3c.l+24) leshort 0x020b + >>>(0x3c.l+132) leshort >14 +->>>>(0x3c.l+248) lelong >0 Mono/.Net assembly ++>>>>(0x3c.l+248) lelong >0 \b, Mono/.Net assembly + + # hooray, there's a DOS extender using the PE format, with a valid PE + # executable inside (which just prints a message and exits if run in win) +@@ -1506,7 +1506,7 @@ + >1 leshort <-259 + # that offset must be accessible + # add 10000h to jump at end of 64 KiB segment, add 1 for jump instruction and 2 for 16-bit offset +->>(1,s+65539) byte x ++>>(1.s+65539) byte x + # after jump next instruction for DEBUGGING! + #>>>&-1 ubelong x \b, NEXT instruction %#8.8x + >>>0 use msdos-com +--- magic/Makefile.am ++++ magic/Makefile.am 2026-02-27 10:51:00.600392145 +0000 +@@ -5,7 +5,7 @@ MAGIC_FRAGMENT_BASE = Magdir + MAGIC_DIR = $(top_srcdir)/magic + MAGIC_FRAGMENT_DIR = $(MAGIC_DIR)/$(MAGIC_FRAGMENT_BASE) + +-pkgdata_DATA = magic.mgc ++pkgdata_DATA = magic.mgc magic + + MAGIC_FRAGMENTS = \ + $(MAGIC_DIR)/Header \ +@@ -24,7 +24,6 @@ $(MAGIC_FRAGMENT_DIR)/animation \ + $(MAGIC_FRAGMENT_DIR)/aout \ + $(MAGIC_FRAGMENT_DIR)/apache \ + $(MAGIC_FRAGMENT_DIR)/apl \ +-$(MAGIC_FRAGMENT_DIR)/apple \ + $(MAGIC_FRAGMENT_DIR)/application \ + $(MAGIC_FRAGMENT_DIR)/applix \ + $(MAGIC_FRAGMENT_DIR)/apt \ +@@ -108,7 +107,6 @@ $(MAGIC_FRAGMENT_DIR)/erlang \ + $(MAGIC_FRAGMENT_DIR)/espressif \ + $(MAGIC_FRAGMENT_DIR)/esri \ + $(MAGIC_FRAGMENT_DIR)/fcs \ +-$(MAGIC_FRAGMENT_DIR)/filesystems \ + $(MAGIC_FRAGMENT_DIR)/finger \ + $(MAGIC_FRAGMENT_DIR)/firmware \ + $(MAGIC_FRAGMENT_DIR)/flash \ +@@ -156,6 +154,8 @@ $(MAGIC_FRAGMENT_DIR)/isz \ + $(MAGIC_FRAGMENT_DIR)/java \ + $(MAGIC_FRAGMENT_DIR)/javascript \ + $(MAGIC_FRAGMENT_DIR)/jpeg \ ++$(MAGIC_FRAGMENT_DIR)/linux \ ++$(MAGIC_FRAGMENT_DIR)/filesystems \ + $(MAGIC_FRAGMENT_DIR)/karma \ + $(MAGIC_FRAGMENT_DIR)/kde \ + $(MAGIC_FRAGMENT_DIR)/keepass \ +@@ -168,7 +168,6 @@ $(MAGIC_FRAGMENT_DIR)/lauterbach \ + $(MAGIC_FRAGMENT_DIR)/lecter \ + $(MAGIC_FRAGMENT_DIR)/lex \ + $(MAGIC_FRAGMENT_DIR)/lif \ +-$(MAGIC_FRAGMENT_DIR)/linux \ + $(MAGIC_FRAGMENT_DIR)/lisp \ + $(MAGIC_FRAGMENT_DIR)/llvm \ + $(MAGIC_FRAGMENT_DIR)/locoscript \ +@@ -176,7 +175,6 @@ $(MAGIC_FRAGMENT_DIR)/lua \ + $(MAGIC_FRAGMENT_DIR)/luks \ + $(MAGIC_FRAGMENT_DIR)/m4 \ + $(MAGIC_FRAGMENT_DIR)/mach \ +-$(MAGIC_FRAGMENT_DIR)/macintosh \ + $(MAGIC_FRAGMENT_DIR)/macos \ + $(MAGIC_FRAGMENT_DIR)/magic \ + $(MAGIC_FRAGMENT_DIR)/mail.news \ +@@ -200,11 +198,11 @@ $(MAGIC_FRAGMENT_DIR)/misctools \ + $(MAGIC_FRAGMENT_DIR)/mkid \ + $(MAGIC_FRAGMENT_DIR)/mlssa \ + $(MAGIC_FRAGMENT_DIR)/mmdf \ +-$(MAGIC_FRAGMENT_DIR)/modem \ + $(MAGIC_FRAGMENT_DIR)/modulefile \ + $(MAGIC_FRAGMENT_DIR)/motorola \ + $(MAGIC_FRAGMENT_DIR)/mozilla \ + $(MAGIC_FRAGMENT_DIR)/msdos \ ++$(MAGIC_FRAGMENT_DIR)/modem \ + $(MAGIC_FRAGMENT_DIR)/msooxml \ + $(MAGIC_FRAGMENT_DIR)/msvc \ + $(MAGIC_FRAGMENT_DIR)/msx \ +@@ -269,6 +267,8 @@ $(MAGIC_FRAGMENT_DIR)/r \ + $(MAGIC_FRAGMENT_DIR)/revision \ + $(MAGIC_FRAGMENT_DIR)/ringdove \ + $(MAGIC_FRAGMENT_DIR)/riff \ ++$(MAGIC_FRAGMENT_DIR)/apple \ ++$(MAGIC_FRAGMENT_DIR)/macintosh \ + $(MAGIC_FRAGMENT_DIR)/rpi \ + $(MAGIC_FRAGMENT_DIR)/rpm \ + $(MAGIC_FRAGMENT_DIR)/rpmsg \ +@@ -365,9 +365,21 @@ EXTRA_DIST = \ + $(MAGIC_DIR)/scripts/create_filemagic_flac \ + $(MAGIC_FRAGMENTS) + +- ++RAW = magic + MAGIC = magic.mgc +-CLEANFILES = ${MAGIC} $(MAGIC_FRAGMENT_DIR)/Localstuff ++CLEANFILES = ${MAGIC} $(MAGIC_FRAGMENT_DIR)/Localstuff ${RAW} ++ ++${RAW}: $(MAGIC_DIR)/Header $(MAGIC_DIR)/Localstuff $(MAGIC_FRAGMENTS) ++ cat /dev/null > $@ ++ for frag in $(MAGIC_FRAGMENTS); do \ ++ if test -f $(srcdir)/$$frag; then \ ++ f=$(srcdir)/$$frag; \ ++ else \ ++ f=$$frag; \ ++ fi; \ ++ cat $$f; \ ++ done >> $@ ++ + + # FIXME: Build file natively as well so that it can be used to compile + # the target's magic file; for now we bail if the local version does not match +@@ -379,19 +391,22 @@ FILE_COMPILE = $(top_builddir)/src/file$ + FILE_COMPILE_DEP = $(FILE_COMPILE) + endif + +-${MAGIC}: $(MAGIC_FRAGMENTS) $(FILE_COMPILE_DEP) +- @rm -fr magic +- @mkdir magic && cp -p $(MAGIC_FRAGMENTS) magic +- @(if expr "${FILE_COMPILE}" : '.*/.*' > /dev/null; then \ +- echo "Using ${FILE_COMPILE} to generate ${MAGIC}" > /dev/null; \ +- else \ +- v=$$(${FILE_COMPILE} --version | sed -e s/file-// -e q); \ +- if [ "$$v" != "${PACKAGE_VERSION}" ]; then \ +- echo "Cannot use the installed version of file ($$v) to"; \ +- echo "cross-compile file ${PACKAGE_VERSION}"; \ +- echo "Please install file ${PACKAGE_VERSION} locally first"; \ +- exit 1; \ +- fi; \ +- fi) +- $(FILE_COMPILE) -C -m magic +- @rm -fr magic ++${MAGIC}: $(MAGIC_FRAGMENTS) $(FILE_COMPILE_DEP) $(RAW) ++ $(FILE_COMPILE) -C -m $(RAW) ++ ++#${MAGIC}: $(MAGIC_FRAGMENTS) $(FILE_COMPILE_DEP) ++# @rm -fr magic ++# @mkdir magic && cp -p $(MAGIC_FRAGMENTS) magic ++# @(if expr "${FILE_COMPILE}" : '.*/.*' > /dev/null; then \ ++# echo "Using ${FILE_COMPILE} to generate ${MAGIC}" > /dev/null; \ ++# else \ ++# v=$$(${FILE_COMPILE} --version | sed -e s/file-// -e q); \ ++# if [ "$$v" != "${PACKAGE_VERSION}" ]; then \ ++# echo "Cannot use the installed version of file ($$v) to"; \ ++# echo "cross-compile file ${PACKAGE_VERSION}"; \ ++# echo "Please install file ${PACKAGE_VERSION} locally first"; \ ++# exit 1; \ ++# fi; \ ++# fi) ++# $(FILE_COMPILE) -C -m magic ++# @rm -fr magic +--- magic/Makefile.in ++++ magic/Makefile.in 2026-02-27 10:51:00.600392145 +0000 +@@ -284,7 +284,7 @@ top_srcdir = @top_srcdir@ + MAGIC_FRAGMENT_BASE = Magdir + MAGIC_DIR = $(top_srcdir)/magic + MAGIC_FRAGMENT_DIR = $(MAGIC_DIR)/$(MAGIC_FRAGMENT_BASE) +-pkgdata_DATA = magic.mgc ++pkgdata_DATA = magic.mgc magic + MAGIC_FRAGMENTS = \ + $(MAGIC_DIR)/Header \ + $(MAGIC_DIR)/Localstuff \ +|@@ -302,7 +302,6 @@ $(MAGIC_FRAGMENT_DIR)/animation \ +| $(MAGIC_FRAGMENT_DIR)/aout \ +| $(MAGIC_FRAGMENT_DIR)/apache \ +| $(MAGIC_FRAGMENT_DIR)/apl \ +|-$(MAGIC_FRAGMENT_DIR)/apple \ +| $(MAGIC_FRAGMENT_DIR)/application \ +| $(MAGIC_FRAGMENT_DIR)/applix \ +| $(MAGIC_FRAGMENT_DIR)/apt \ +|@@ -386,7 +385,6 @@ $(MAGIC_FRAGMENT_DIR)/erlang \ +| $(MAGIC_FRAGMENT_DIR)/espressif \ +| $(MAGIC_FRAGMENT_DIR)/esri \ +| $(MAGIC_FRAGMENT_DIR)/fcs \ +|-$(MAGIC_FRAGMENT_DIR)/filesystems \ +| $(MAGIC_FRAGMENT_DIR)/finger \ +| $(MAGIC_FRAGMENT_DIR)/firmware \ +| $(MAGIC_FRAGMENT_DIR)/flash \ +|@@ -434,6 +432,8 @@ $(MAGIC_FRAGMENT_DIR)/isz \ +| $(MAGIC_FRAGMENT_DIR)/java \ +| $(MAGIC_FRAGMENT_DIR)/javascript \ +| $(MAGIC_FRAGMENT_DIR)/jpeg \ +|+$(MAGIC_FRAGMENT_DIR)/linux \ +|+$(MAGIC_FRAGMENT_DIR)/filesystems \ +| $(MAGIC_FRAGMENT_DIR)/karma \ +| $(MAGIC_FRAGMENT_DIR)/kde \ +| $(MAGIC_FRAGMENT_DIR)/keepass \ +|@@ -446,7 +446,6 @@ $(MAGIC_FRAGMENT_DIR)/lauterbach \ +| $(MAGIC_FRAGMENT_DIR)/lecter \ +| $(MAGIC_FRAGMENT_DIR)/lex \ +| $(MAGIC_FRAGMENT_DIR)/lif \ +|-$(MAGIC_FRAGMENT_DIR)/linux \ +| $(MAGIC_FRAGMENT_DIR)/lisp \ +| $(MAGIC_FRAGMENT_DIR)/llvm \ +| $(MAGIC_FRAGMENT_DIR)/locoscript \ +|@@ -454,7 +453,6 @@ $(MAGIC_FRAGMENT_DIR)/lua \ +| $(MAGIC_FRAGMENT_DIR)/luks \ +| $(MAGIC_FRAGMENT_DIR)/m4 \ +| $(MAGIC_FRAGMENT_DIR)/mach \ +|-$(MAGIC_FRAGMENT_DIR)/macintosh \ +| $(MAGIC_FRAGMENT_DIR)/macos \ +| $(MAGIC_FRAGMENT_DIR)/magic \ +| $(MAGIC_FRAGMENT_DIR)/mail.news \ +|@@ -478,11 +476,11 @@ $(MAGIC_FRAGMENT_DIR)/misctools \ +| $(MAGIC_FRAGMENT_DIR)/mkid \ +| $(MAGIC_FRAGMENT_DIR)/mlssa \ +| $(MAGIC_FRAGMENT_DIR)/mmdf \ +|-$(MAGIC_FRAGMENT_DIR)/modem \ +| $(MAGIC_FRAGMENT_DIR)/modulefile \ +| $(MAGIC_FRAGMENT_DIR)/motorola \ +| $(MAGIC_FRAGMENT_DIR)/mozilla \ +| $(MAGIC_FRAGMENT_DIR)/msdos \ +|+$(MAGIC_FRAGMENT_DIR)/modem \ +| $(MAGIC_FRAGMENT_DIR)/msooxml \ +| $(MAGIC_FRAGMENT_DIR)/msvc \ +| $(MAGIC_FRAGMENT_DIR)/msx \ +|@@ -547,6 +545,8 @@ $(MAGIC_FRAGMENT_DIR)/r \ +| $(MAGIC_FRAGMENT_DIR)/revision \ +| $(MAGIC_FRAGMENT_DIR)/ringdove \ +| $(MAGIC_FRAGMENT_DIR)/riff \ +|+$(MAGIC_FRAGMENT_DIR)/apple \ +|+$(MAGIC_FRAGMENT_DIR)/macintosh \ +| $(MAGIC_FRAGMENT_DIR)/rpi \ +| $(MAGIC_FRAGMENT_DIR)/rpm \ +| $(MAGIC_FRAGMENT_DIR)/rpmsg \ +@@ -643,10 +643,22 @@ EXTRA_DIST = \ + $(MAGIC_DIR)/scripts/create_filemagic_flac \ + $(MAGIC_FRAGMENTS) + ++RAW = magic + MAGIC = magic.mgc +-CLEANFILES = ${MAGIC} $(MAGIC_FRAGMENT_DIR)/Localstuff ++CLEANFILES = ${MAGIC} $(MAGIC_FRAGMENT_DIR)/Localstuff ${RAW} + @IS_CROSS_COMPILE_FALSE@FILE_COMPILE = $(top_builddir)/src/file${EXEEXT} + ++${RAW}: $(MAGIC_DIR)/Header $(MAGIC_DIR)/Localstuff $(MAGIC_FRAGMENTS) ++ cat /dev/null > $@ ++ for frag in $(MAGIC_FRAGMENTS); do \ ++ if test -f $(srcdir)/$$frag; then \ ++ f=$(srcdir)/$$frag; \ ++ else \ ++ f=$$frag; \ ++ fi; \ ++ cat $$f; \ ++ done >> $@ ++ + # FIXME: Build file natively as well so that it can be used to compile + # the target's magic file; for now we bail if the local version does not match + @IS_CROSS_COMPILE_TRUE@FILE_COMPILE = file${EXEEXT} +@@ -870,23 +882,25 @@ uninstall-am: uninstall-pkgdataDATA + + .PRECIOUS: Makefile + ++${MAGIC}: $(MAGIC_FRAGMENTS) $(FILE_COMPILE_DEP) $(RAW) ++ $(FILE_COMPILE) -C -m $(RAW) + +-${MAGIC}: $(MAGIC_FRAGMENTS) $(FILE_COMPILE_DEP) +- @rm -fr magic +- @mkdir magic && cp -p $(MAGIC_FRAGMENTS) magic +- @(if expr "${FILE_COMPILE}" : '.*/.*' > /dev/null; then \ +- echo "Using ${FILE_COMPILE} to generate ${MAGIC}" > /dev/null; \ +- else \ +- v=$$(${FILE_COMPILE} --version | sed -e s/file-// -e q); \ +- if [ "$$v" != "${PACKAGE_VERSION}" ]; then \ +- echo "Cannot use the installed version of file ($$v) to"; \ +- echo "cross-compile file ${PACKAGE_VERSION}"; \ +- echo "Please install file ${PACKAGE_VERSION} locally first"; \ +- exit 1; \ +- fi; \ +- fi) +- $(FILE_COMPILE) -C -m magic +- @rm -fr magic ++#${MAGIC}: $(MAGIC_FRAGMENTS) $(FILE_COMPILE_DEP) ++# @rm -fr magic ++# @mkdir magic && cp -p $(MAGIC_FRAGMENTS) magic ++# @(if expr "${FILE_COMPILE}" : '.*/.*' > /dev/null; then \ ++# echo "Using ${FILE_COMPILE} to generate ${MAGIC}" > /dev/null; \ ++# else \ ++# v=$$(${FILE_COMPILE} --version | sed -e s/file-// -e q); \ ++# if [ "$$v" != "${PACKAGE_VERSION}" ]; then \ ++# echo "Cannot use the installed version of file ($$v) to"; \ ++# echo "cross-compile file ${PACKAGE_VERSION}"; \ ++# echo "Please install file ${PACKAGE_VERSION} locally first"; \ ++# exit 1; \ ++# fi; \ ++# fi) ++# $(FILE_COMPILE) -C -m magic ++# @rm -fr magic + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +--- src/Makefile.am ++++ src/Makefile.am 2026-02-27 10:51:00.600392145 +0000 +@@ -1,4 +1,4 @@ +-MAGIC = $(pkgdatadir)/magic ++MAGIC = $(sysconfdir)/magic:$(pkgdatadir)/magic + lib_LTLIBRARIES = libmagic.la + nodist_include_HEADERS = magic.h + +--- src/dcore.c ++++ src/dcore.c 2026-02-27 10:51:00.600392145 +0000 +@@ -0,0 +1,207 @@ ++/* ++ * Show goo about ELF core files ++ * Jeremy Fitzhardinge <[email protected]> 1996 ++ */ ++#include <unistd.h> ++#include <fcntl.h> ++#include <stdlib.h> ++#include <stdio.h> ++#include <sys/types.h> ++#include <string.h> ++#if defined __GLIBC__ && __GLIBC__ >= 2 ++#include <elf.h> ++#include <sys/procfs.h> ++# ifndef NT_PRFPREG ++# define NT_PRFPREG 2 ++# endif ++# ifndef NT_TASKSTRUCT ++# define NT_TASKSTRUCT 4 ++# endif ++#else ++#include <linux/elf.h> ++#include <linux/elfcore.h> ++#endif ++ ++static void fperror(const char *str) ++{ ++ perror(str); ++ exit(1); ++} ++ ++static size_t myread(int fd, void *buf, size_t sz) ++{ ++ size_t ret; ++ ++ if ((ret = read(fd, buf, sz)) != sz) ++ fperror("read failed"); ++ return ret; ++} ++ ++static void print_prstatus(const prstatus_t *pr) ++{ ++ unsigned i; ++ static const char *regs[] = { "ebx", "ecx", "edx", "esi", "edi", "ebp", ++ "eax", "ds", "es", "fs", "gs", ++ "orig_eax", "eip", "cs", ++ "efl", "uesp", "ss"}; ++ ++ printf(" pid=%d ppid=%d pgrp=%d sid=%d\n", ++ pr->pr_pid, pr->pr_ppid, pr->pr_pgrp, pr->pr_sid); ++ for(i = 0; i < NGREG; i++) ++ { ++ unsigned long val = pr->pr_reg[i]; ++ printf(" %-2u %-5s=%08lx %lu\n", i, regs[i], val, val); ++ } ++} ++ ++static void print_prpsinfo(const prpsinfo_t *ps) ++{ ++ printf(" uid=%d gid=%d\n", ps->pr_uid, ps->pr_gid); ++ printf(" comm=%s\n", ps->pr_fname); ++ printf(" psargs=%s\n", ps->pr_psargs); ++} ++ ++#define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) ++ ++static void do_note(int fd, Elf32_Phdr *phdr) ++{ ++ off_t here = lseek(fd, 0, SEEK_CUR); ++ int size = phdr->p_filesz; ++ char *raw = alloca(size), *end; ++ end = raw+size; ++ ++ lseek(fd, phdr->p_offset, SEEK_SET); ++ myread(fd, raw, size); ++ ++ while(raw < end) ++ { ++ Elf32_Nhdr *note = (Elf32_Nhdr *)raw; ++ const char *str; ++ const char *name, *desc; ++ ++ raw += sizeof(*note); ++ name = raw; ++ raw += roundup(note->n_namesz, sizeof(long)); ++ desc = raw; ++ raw += roundup(note->n_descsz, sizeof(long)); ++ ++ printf(" name=%.*s", (int)note->n_namesz, name); ++ ++ if(strncmp(name, "CORE", note->n_namesz) != 0) ++ { ++ printf("\n"); ++ continue; ++ } ++ ++ switch(note->n_type) ++ { ++#define X(x) case x: str = #x; break; ++ X(NT_PRSTATUS); ++ X(NT_PRFPREG); ++ X(NT_PRPSINFO); ++ X(NT_TASKSTRUCT); ++#undef X ++ default: ++ str = "???"; ++ } ++ printf(" n_type=%s n_descsz=%ld\n", ++ str, note->n_descsz); ++ switch(note->n_type) ++ { ++ case NT_PRSTATUS: ++ print_prstatus((prstatus_t *)desc); ++ break; ++ case NT_PRPSINFO: ++ print_prpsinfo((prpsinfo_t *)desc); ++ break; ++ } ++ } ++ lseek(fd, here, SEEK_SET); ++} ++ ++int main(int argc, char *argv[]) ++{ ++ int fd; ++ Elf32_Ehdr elf; ++ int i; ++ ++ if (argc != 2) ++ { ++ fprintf(stderr, "Usage: %s corefile\n", argv[0]); ++ exit(1); ++ } ++ ++ if ((fd = open(argv[1], O_RDONLY)) == -1) ++ fperror("open of core"); ++ ++ myread(fd, &elf, sizeof(elf)); ++ ++ if (memcmp(ELFMAG, elf.e_ident, SELFMAG) != 0) ++ printf("bad magic\n"); ++ ++ if (elf.e_ident[EI_CLASS] != ELFCLASS32) ++ printf("wrong class\n"); ++ ++ if (elf.e_ident[EI_DATA] != ELFDATA2LSB) ++ printf("wrong endianess\n"); ++ ++ if (elf.e_ident[EI_VERSION] != EV_CURRENT) ++ printf("wrong version\n"); ++ ++ { ++ const char *str; ++ switch(elf.e_type) ++ { ++#define C(x) case ET_##x: str = #x; break; ++ C(NONE); ++ C(REL); ++ C(EXEC); ++ C(DYN); ++ C(CORE); ++#undef C ++ default: str = "???"; break; ++ } ++ printf("elf file type ET_%s\n", str); ++ } ++ ++ if (elf.e_machine != EM_386 && elf.e_machine != EM_486) ++ printf("not i386 or i486\n"); ++ ++ if (elf.e_ehsize != sizeof(elf)) ++ printf("wrong header size\n"); ++ ++ if (elf.e_phentsize != sizeof(Elf32_Phdr)) ++ printf("wrong phdr size\n"); ++ ++ if (lseek(fd, elf.e_phoff, SEEK_SET) != (off_t)elf.e_phoff) ++ fperror("lseek to phdr failed\n"); ++ ++ for(i = 0; i < elf.e_phnum; i++) ++ { ++ Elf32_Phdr phdr; ++ const char *str; ++ ++ myread(fd, &phdr, sizeof(phdr)); ++ switch(phdr.p_type) ++ { ++#define C(x) case PT_##x: str = #x; break; ++ C(NULL); ++ C(LOAD); ++ C(DYNAMIC); ++ C(INTERP); ++ C(NOTE); ++ C(SHLIB); ++ C(PHDR); ++#undef C ++ default: ++ str = "???"; break; ++ } ++ printf("type PT_%s off=%ld vaddr=%lx filesz=%ld flags=%lx\n", ++ str, phdr.p_offset, phdr.p_vaddr, phdr.p_filesz, ++ (unsigned long)phdr.p_flags); ++ if (phdr.p_type == PT_NOTE) ++ do_note(fd, &phdr); ++ } ++ exit(0); ++} ++ ++++++ file-5.46.tar.gz -> file-5.47.tar.gz ++++++ ++++ 5479 lines of diff (skipped) ++++++ file-secure_getenv.patch ++++++ --- /var/tmp/diff_new_pack.5AmRyB/_old 2026-04-02 17:40:47.718429717 +0200 +++ /var/tmp/diff_new_pack.5AmRyB/_new 2026-04-02 17:40:47.734430380 +0200 @@ -15,9 +15,9 @@ dnl Checks for typedefs, structures, and compiler characteristics. AC_TYPE_OFF_T AC_TYPE_SIZE_T ---- file-5.42/src/file.h -+++ file-5.42/src/file.h 2022-06-13 08:34:50.347521415 +0000 -@@ -735,4 +735,12 @@ static const char *rcsid(const char *p) +--- file-5.47/src/file.h ++++ file-5.47/src/file.h 2026-02-27 10:50:37.160814338 +0000 +@@ -739,6 +739,14 @@ static const char *rcsid(const char *p) #define __RCSID(a) #endif @@ -29,7 +29,9 @@ +# endif +#endif + - #endif /* __file_h__ */ + #define file_no_overflow \ + __attribute__((__no_sanitize__("signed-integer-overflow"))) + --- file-5.42/src/magic.c +++ file-5.42/src/magic.c 2022-06-13 08:36:49.997304349 +0000 @@ -185,7 +185,7 @@ get_default_magic(void)
