# # spec file for package file # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define somajor 1 %define libname libmagic%{somajor} Name: file BuildRequires: findutils BuildRequires: libtool BuildRequires: zlib-devel Url: http://www.darwinsys.com/file/ # bug437293 %ifarch ppc64 Obsoletes: file-64bit %endif # # Set Version also in python-magic.spec Version: 5.32 Release: 7.14.1 Summary: A Tool to Determine File Types License: BSD-2-Clause Group: Productivity/File utilities Source: ftp://ftp.astron.com/pub/file/file-%{version}.tar.gz Source2: baselibs.conf Source3: file-rpmlintrc Patch: file-5.32.dif Patch1: file-5.19-misc.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 Patch11: file-5.12-zip.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 Patch31: file-5.19-biorad.dif Patch32: file-5.19-clicfs.dif Patch33: file-5.16-ocloexec.patch Patch34: file-5.23-endian.patch Patch36: file-5.15-clear-invalid.patch Patch37: file-secure_getenv.patch Patch39: file-5.28-btrfs-image.dif Patch40: file-5.32-ncurses-6.1.patch Patch43: CVE-2019-18218-46a8443f.patch # PATCH-FIX-USTREAM for bsc#1096974, bsc#1096984, and CVE-2018-10360 -- Avoid reading past the end of buffer Patch54: file-a642587a9c.patch # PATCH-FIX-USTREAM for bsc#1126117, bsc#1126118, bsc#1126119, CVE-2019-8905, CVE-2019-8906, and CVE-2019-8907 Patch55: 0002-PR-62-spinpx-limit-size-of-file_printable.patch # PATCH-FIX-SUSE previous backport caused a shorten output of the elf interprter Patch56: fix_of_backport_PR-62.patch # PATCH-FIX-USTREAM for bsc#1189996 Patch57: bsc1189996-9fbe768a.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir /etc %global _miscdir %{_datadir}/misc %description With the file command, you can obtain information on the file type of a specified file. File type recognition is controlled by the file /etc/magic, which contains the classification criteria. This command is used by apsfilter to permit automatic printing of different file types. %package magic Summary: Database for libmagic to help identify files Group: Productivity/File utilities Obsoletes: libmagic-data < %{version} Provides: libmagic-data = %{version} %if 0%{?suse_version} >= 1200 BuildArch: noarch %endif %description magic This package contains the basic magic files that libmagic reads and uses to estimate a file's type. %package -n %libname Summary: Library for heuristic file type identification Group: System/Libraries Provides: file:%{_libdir}/libmagic.so.%{somajor} Requires: file-magic = %{version} %description -n %libname This library reads magic files and detects file types. Used by file command %package devel Summary: Development files for libmagic, a library to determine file types Group: Development/Libraries/C and C++ Provides: file:/usr/include/magic.h Requires: %libname = %{version} Requires: glibc-devel %description devel This package contains all necessary include files and libraries needed to develop applications that require the magic "file" interface. %prep %setup -q -n file-%{version} %patch1 -p0 -b .misc %patch4 -p0 -b .conf %patch5 -p0 -b .tex %patch7 -p0 -b .ssd %patch8 -p0 -b .xen %patch9 -p0 -b .elf %patch10 -p0 -b .prtf %patch11 -p0 -b .zip %patch12 -p0 -b .opt %patch13 -p0 -b .scri %patch15 -p0 -b .xcur %patch22 -p0 -b .cromfs %patch25 -p0 -b .javacheck %patch26 -p0 -b .solv %patch27 -p0 -b .zip2.0 %patch31 -p0 -b .biorad %patch32 -p0 -b .clicfs %patch33 -p0 -b .clexe %patch34 -p0 -b .endian %patch36 -p1 -b .clear %patch37 -p1 -b .getenv %patch39 -p1 -b .btrfs %patch40 -p0 -b .nc61 %patch43 -p0 -b .CVE-2019-18218 %patch54 -p0 %patch55 -p0 %patch56 -p0 %patch57 -p0 %patch -b .0 test -s src/magic.h.in || cp -p src/magic.h src/magic.h.in rm -fv src/magic.h %build export LANG=POSIX export LC_ALL=POSIX rm -f Magdir/*,v Magdir/*~ rm -f ltcf-c.sh ltconfig ltmain.sh autoreconf -fiv export CFLAGS="%{optflags} -DHOWMANY=69632 -fPIE" %configure --disable-silent-rules --datadir=%{_miscdir} --disable-static --enable-fsect-man5 make %{?_smp_mflags} pkgdatadir='$(datadir)' LDFLAGS="-pie" %install export LANG=POSIX export LC_ALL=POSIX mkdir %{buildroot}/etc make DESTDIR=%{buildroot} install pkgdatadir='$(datadir)' rm -vf %{buildroot}%{_sysconfdir}/magic echo '# Localstuff: file(1) magic(5) for locally observed files' > %{buildroot}%{_sysconfdir}/magic echo '# global magic file is %{_miscdir}/magic(.mgc)' >> %{buildroot}%{_sysconfdir}/magic # Does not build %if %{with decore} install -s dcore %{buildroot}%{_bindir} %endif # Check out that the binary does not bail out: LD_LIBRARY_PATH=%{buildroot}%{_libdir} export LD_LIBRARY_PATH find %{buildroot}%{_bindir}/file %{_bindir}/ /%{_lib}/ %{_libdir}/ | \ xargs %{buildroot}%{_bindir}/file -m %{buildroot}%{_miscdir}/magic unset LD_LIBRARY_PATH rm -f %{buildroot}%{_libdir}/*.la %post -n %libname -p /sbin/ldconfig %postun -n %libname -p /sbin/ldconfig %files -n %libname %defattr (-,root,root) %{_libdir}/lib*.so.* %files magic %defattr (-,root,root) %config(noreplace) %{_sysconfdir}/magic %{_miscdir}/magic %{_miscdir}/magic.mgc %doc %{_mandir}/man5/magic.5.gz %files %defattr (-,root,root) %if %{with decore} %attr(755,root,root) %{_bindir}/dcore %endif %attr(755,root,root) %{_bindir}/file %doc %{_mandir}/man1/file.1.gz %license COPYING %doc AUTHORS NEWS ChangeLog %files devel %defattr (-,root,root) %{_libdir}/lib*.so %{_includedir}/magic.h %doc %{_mandir}/man3/libmagic.3.gz %license COPYING %doc README AUTHORS NEWS ChangeLog %changelog * Tue Sep 7 2021 werner@suse.de - Add patch bsc1189996-9fbe768a.patch to fix bsc#1189996 * Fri Sep 18 2020 werner@suse.de - Add patchfix_of_backport_PR-62.patch as previous backport caused a shorten output of the elf interprter (bsc#1176123) * Tue Apr 14 2020 schwab@suse.de - file-5.24-nitpick.dif: remove obsolete patch (bsc#1169512) - file-secure_getenv.patch: refresh * Tue Oct 22 2019 werner@suse.de - Add temporary patch CVE-2019-18218-46a8443f.patch from upstream to fix bsc#1154661 -- heap-based buffer overflow in cdf_read_property_info in cdf.c * Thu Feb 21 2019 werner@suse.de - Add patch 0002-PR-62-spinpx-limit-size-of-file_printable.patch to fix bsc#1126117, bsc#1126118, and bsc#1126119 for CVE-2019-8905, CVE-2019-8906, and CVE-2019-8907 * Tue Jun 12 2018 werner@suse.de - Add patch file-a642587a9c.patch for bsc#1096974, bsc#1096984, and CVE-2018-10360 -- Avoid reading past the end of buffer * Thu Feb 22 2018 fvogt@suse.com - Use %%license (boo#1082318) * Mon Jan 22 2018 werner@suse.de - Add patch file-5.32-ncurses-6.1.patch to support extend magic format for new ncurses 6.1 * Sun Oct 8 2017 jengelh@inai.de - Update package summaries. Replace old RPM constructs. - Remove --with-pic which is useless with --disable-static. - Edit pre_checkin.sh to remove dead python3 file. * Tue Sep 26 2017 jmatejek@suse.com - remove python build instructions from master spec file, move completely into python-magic.spec * Wed Sep 13 2017 werner@suse.de - Update to file version 5.32 * Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski) * Fix always true condition (Thomas Jarosch) * pickier parsing of numeric values in magic files. * PR/615 add magic_getflags() - This release fix the bug bsc#1056838 for CVE-2017-1000249 - Remove patch file-5.31-fix-tga.dif as now upstream - Rename patch file-5.31.dif which now becomes file-5.32.dif - Modify the patches * file-5.16-ocloexec.patch * file-5.19-biorad.dif * file-5.19-printf.dif * file-5.23-endian.patch * file-5.28-btrfs-image.dif * Mon Jun 5 2017 coolo@suse.com - add file-5.31-fix-tga.dif upstream commited after I reported a failure in File::Unpack's test suite * Wed May 24 2017 werner@suse.de - Update to file version 5.31 * remove trailing spaces from magic files * refactor is_tar * better bounds checks for cdf - Remove patches now upstream * file-5.30-150735.patch * file-5.30-3c60e5.patch - Rename patch file-5.30.dif which becomes file-5.31.dif - Modify the patches * file-4.24-autoconf.dif * file-5.14-tex.dif * file-5.16-ocloexec.patch * file-5.19-printf.dif * file-5.23-endian.patch * Thu Mar 2 2017 werner@suse.de - Update to file version 5.30 * If we exceeded the offset in a search return no match (Christoph Biedl) * Be more lenient on corrupt CDF files (Christoph Biedl) * pacify ubsan sign extension (oss-fuzz/524) * off by one in cdf parsing (PR/593) * report debugging sections in elf (PR/591) * Allow @@@ in extensions * Add missing overflow check in der magic (Jonas Wagner) - Mofify the patches file-5.16-ocloexec.patch file-5.19-biorad.dif file-5.28-btrfs-image.dif - Rename patch file-5.29.dif to file-5.30.dif - Add upstream patches file-5.30-150735.patch file-5.30-3c60e5.patch * Wed Nov 30 2016 werner@suse.de - Modify patch file-5.29.dif that is replace colon with dot in offset (boo#1012779) * Thu Nov 24 2016 werner@suse.de - Update to file version 5.29 * der getlength overflow (Jonas Wagner) * multiple magic file load failure (Christoph Biedl) * CDF parsing improvements (Guy Helmer) * Add support for signed indirect offsets * cat /dev/null | file - should print empty (Christoph Biedl) * Bump string size from 64 to 96. * PR/556: Fix separators on annotations. - Remove patch file-5.28-compress.patch now upstream - Rename patch file-5.28.dif which becomes now file-5.29.dif * Thu Oct 20 2016 jeffm@suse.com - Add patch file-5.28-btrfs-image.dif to add support for files output by btrfs-image. * Wed Aug 24 2016 dimstar@opensuse.org - Fix boo#995089: * Do not attempt to produce a file-magic-32bit package: there is nothing arch-dependant in this package (for completeness, this was already fixed just before by Marcus) * Fix baselibs.conf for libmagic1-32bit to require file-magic instead of file-magic-32bit. * Build file-magic as noarch on openSUSE >= 1200 (where rpm is new enough to support this). * Wed Aug 24 2016 meissner@suse.com - file-magic is architecture independend, no need for a baselibs package. * Thu Aug 18 2016 werner@suse.de - Add patch file-5.28-compress.patch to fix crash as found in build system * Tue Aug 16 2016 werner@suse.de - Update to file version 5.28 * fix leak on allocation failure * PR/555: Avoid overflow for offset > nbytes * PR/550: Segv on DER parsing: - use the correct variable for length - set offset to 0 on failure. - Port patches to 5.28 file-4.24-autoconf.dif file-5.15-clear-invalid.patch file-5.16-ocloexec.patch file-5.19-biorad.dif file-5.23-endian.patch file-5.24-nitpick.dif file-secure_getenv.patch - Remove patches now upstream file-5.26-revert-close.patch - Rename patches file-5.26.dif becomes file-5.28.dif * Wed Jun 1 2016 werner@suse.de - Update to file version 5.27 * Errors comparing DER entries or computing offsets are just indications of malformed non-DER files. Don't print them. * Offset comparison was off-by-one. * Fix compression code (Werner Fink) * Put new bytes constant in the right file (not the generated one) - Remove patches file-5.26-version.patch file-5.26-downgrade_DER.patch file-5.26-console.diff file-5.26-zmagic.patch as now upstream - Disable patch file-5.26-revert-close.patch for test - Modify patches file-5.17-option.dif file-5.26.dif * Wed Apr 20 2016 werner@suse.de - Add and revert upstream patch file-5.26-revert-close.patch (commit 0177f6dd30e1f8c5639c058dcdf1d9edd9f8528c) to help rpmbuild not to loose stdin * Tue Apr 19 2016 werner@suse.de - Add patch file-5.26-zmagic.patch to fix detection chain if for compresses files are expanded * Tue Apr 19 2016 werner@suse.de - Add upstream patch file-5.26-console.diff to fix wrong detection of UNIF edb files * Tue Apr 19 2016 werner@suse.de - Add upstream patch file-5.26-downgrade_DER.patch to fix DER error messages as well oas offset handling * Mon Apr 18 2016 werner@suse.de - Update to file version 5.26 * make the number of bytes read from files configurable. * Add bounds checks for DER code (discovered by Thomas Jarosch) * Change indirect recursion limit to indirect use count and bump from 15 to 50 to prevent abuse. * Add -00 which prints filename\0description\0 * Fix ID3 indirect parsing * add DER parsing capability * provide dprintf(3) for the OS's that don't have it. * redo the compression code report decompression errors * REG_STARTEND code is not working as expected, delete it. * Add zlib support if we have it. * PR/492: compression forking was broken with magic_buffer. - Removed patches as upstream now file-4.24-mips.dif file-5.25-avoid-double-evaluation-in-python-bindings.dif - Modified patches file-5.12-zip.dif file-5.16-ocloexec.patch file-5.19-printf.dif file-5.19-zip2.0.dif file-5.22-elf.dif file-5.23-endian.patch file-5.24-nitpick.dif file-secure_getenv.patch - Renamed patches file-5.23.dif becomes file-5.26.dif - Added patch from upstream to fix version handling of PHP files file-5.26-version.patch * Tue Feb 16 2016 rolf@rotkraut.de - Make the python command a macro. * Thu Jan 21 2016 dmueller@suse.com - add file-5.25-avoid-double-evaluation-in-python-bindings.dif (bsc#949905) * Sun Oct 4 2015 astieger@suse.com - file 5.25: * add a limit to the length of regex searches * fix problems with --parameter * Tue Jul 14 2015 werner@suse.de - Update to file version 5.24 * redo long option encoding to fix off-by-one in 5.23 - Adapt and rename patch file-5.12-nitpick.dif becomes file-5.24-nitpick.dif * Thu Jun 11 2015 werner@suse.de - Update to file version 5.23 * Fix issue with regex range for magic with offset * Always return true from mget with USE (success to mget not match indication). Fixes mime evaluation after USE magic * PR/459: Don't insert magic entries to the list if there are parsing errors for them. * PR/455: Add utf-7 encoding * PR/455: Implement -Z, look inside, but don't report on compression * PR/454: Fix allocation error on bad magic. * handle MAGIC_CONTINUE everywhere, not just in softmagic * don't print descriptions for NAME types when mime. * Add --extension to list the known extensions for this file type Idea by Andrew J Roazen * Bump file search buffer size to 1M. * Fix multiple issues with date formats reported by Christoph Biedl: - T_LOCAL meaning was reversed - Arithmetic did not work Also stop adjusting daylight savings for gmt printing. * PR/411: Fix memory corruption from corrupt cdf file. - Refresh and rename patches file-5.20-endian.patch becomes file-5.23-endian.patch file-5.22.dif becomes file-5.23.dif Refresh patch file-secure_getenv.patch * Mon Jan 19 2015 werner@suse.de - Update to file version 5.22 (also related to bsc#913650 and bsc#913651) * add indirect relative for TIFF/Exif * restructure elf note printing to avoid repeated messages * add note limit, suggested by Alexander Cherepanov * Bail out on partial pread()'s (Alexander Cherepanov) * Fix incorrect bounds check in file_printable (Alexander Cherepanov) * PR/405: ignore SIGPIPE from uncompress programs * change printable -> file_printable and use it in more places for safety * in ELF, instead of "(uses dynamic libraries)" when PT_INTERP is present print the interpreter name. - Patch file-5.18-elf.dif is modified and renamed to file-5.22-elf.dif - Patch file-5.20.dif s modified and renamed to file-5.22.dif * Sat Dec 20 2014 meissner@suse.com - build with PIE * Wed Dec 17 2014 werner@suse.de - Drop patch file-5.20-CVE-2014-3710.patch as now part of upstream - Update to file version 5.21 * Fix CVE-2014-8116 and CVE-2014-8117 (bsc#910252 and bsc#910253) * there was an incorrect free in magic_load_buffers() * there was an out of bounds read for some pascal strings * there was a memory leak in magic lists * don't interpret strings printed from files using the current locale, convert them to ascii format first. * there was an out of bounds read in elf note reads * fix MacOS/X locale.h vs. xlocale.h issues * Thu Oct 23 2014 werner@suse.de - Add patch file-5.20-CVE-2014-3710.patch to fic bsc#902367 CVE-2014-3710: file: out-of-bounds read in elf note headers * Mon Oct 13 2014 werner@suse.de - Update to file version 5.20 * recognize encrypted CDF documents * add magic_load_buffers from Brooks Davis * add thumbs.db support - Remove file-5.07-iso9660.dif as now upstream - Remove file-5.19-gdbm.patch as now upstream - Adapt and rename file-5.18-endian.patch to file-5.20-endian.patch - Adapt and rename file-5.19.dif file-5.20.dif * Tue Aug 19 2014 pgajdos@suse.com - correctly identify GDBM files created by libgdbm4 [bnc#888308] * add file-5.19-gdbm.patch * Mon Aug 18 2014 werner@suse.de - Add file-rpmlintrc to file list * Mon Aug 18 2014 fcrozat@suse.com - Add obsoletes/provides to baselibs.conf. * Tue Jun 24 2014 werner@suse.de - Update to file version 5.19 * Misc buffer overruns and missing buffer size tests in cdf parsing (Francisco Alonso, Jan Kaluza) * Enforce limit of 8K on regex searches that have no limits * Allow the l modifier for regex to mean line count. Default to byte count. If line count is specified, assume a max of 80 characters per line to limit the byte count. * Don't allow conversions to be used for dates, allowing the mask field to be used as an offset. * Make the range operator limit the length of the regex search. * PR/347: Windows fixes * PR/352: Hangul word processor recognition * PR/354: Encoding irregularities in text files * Fix uninitialized title in CDF files (Jan Kaluza) * PR/351: Fix compilation of empty files * Fix integer formats: We don't specify 'l' or 'h' and 'hh' specifiers anymore, only 'll' for quads and nothing for the rest. This is so that magic writing is simpler. * PR/341: Jan Kaluza, fix memory leak * PR/342: Jan Kaluza, fix out of bounds read * Fix issue with long formats not matching fmtcheck - Rename and change patch file-5.14-misc.dif to file-5.19-misc.dif - Rename and change patch file-5.14-printf.dif to file-5.19-printf.dif - Rename and change patch file-5.07-biorad.dif to file-5.19-biorad.dif - Rename and change patch file-5.19.dif to file-5.17.dif - Rename and change patch file-4.24-cromfs.dif to file-5.19-cromfs.dif - Rename and change patch file-4.24-solv.dif to file-5.19-solv.dif - Rename and change patch file-5.12-zip2.0.dif to file-5.19-zip2.0.dif - Rename and change patch file-5.07-clicfs.dif to file-5.19-clicfs.dif * Thu May 8 2014 crrodriguez@opensuse.org - file-secure_getenv.patch use secure_getenv only as we can't know in which context the shared library is used. * Fri Mar 28 2014 werner@suse.de - Update to file version 5.18 * add fmtcheck(3) for those who don't have it * prevent mime entries from being attached to magic entries with no descriptions * adjust magic strength for regex type * remove superfluous ascmagic with encoding test * fix regression fix echo -ne "\012\013\014" | file -i - which printed "binary" instead of "application/octet-stream" * add size_t overflow check for magic file size * experimental support for matching with CFD CLSID * Cache old LC_CTYPE locale before setting it to "C", so we can use it to restore LC_CTYPE instead of asking setlocale() to scan the environment variables. - Refresh patches file-5.07-elf.dif becomes file-5.18-elf.dif file-5.12-javacheck.dif becomes file-5.18-javacheck.dif file-5.12-endian.patch becomes file-5.18-endian.patch file-5.15-clear-invalid.patch - Drop patch 0001-off-by-one-in-out-of-bounds-calculations-Jan-Kaluza.patch now part of upstream * Mon Mar 17 2014 werner@suse.de - Add patch 0001-off-by-one-in-out-of-bounds-calculations-Jan-Kaluza.patch to finally fix bnc#866750 * Tue Feb 18 2014 werner@suse.de - Update to file version 5.17 (bug fix release) * Count recursion levels through indirect magic * Prevent infinite recursion on files with indirect offsets of 0 * Add -E flag that makes file print filesystem errors to stderr and exit. * mime printing could print results from multiple magic entries if there were multiple matches. * in some cases overflow was not detected when computing offsets in softmagic. * use strcasestr() to for cdf strings * reset to the "C" locale while doing regex operations, or case insensitive comparisons; this is provisional * Mon Dec 2 2013 werner@suse.de - Update to file version 5.16 (bug fix release) * always leave magic file loaded, don't unload for magic_check, etc. * fix default encoding to binary instead of unknown which broke recently * handle empty and one byte files, less specially so that - -mime-encoding does not break completely. * fix erroneous non-zero exit code from non-existant file and message * add CDF MSI file detection (Guy Helmer) * Mon Nov 4 2013 jengelh@inai.de - Set RPM groups * Tue Oct 1 2013 werner@suse.de - Add changes of Andreas Stieger * Mon Sep 30 2013 werner@suse.de - Update to file version 5.15 (bug fix release, no new featuress) * Don't mix errors and regular output if there was an error * in magic_descriptor() don't close the file and try to restore its position * Don't treat magic as an error if offset was past EOF (Christoph Biedl) * Fix spacing issues in softmagic and elf (Jan Kaluza) * Fix segmentation fault with multiple magic_load commands. * The way "default" was implemented was not very useful because the "if something was printed at that level" was not easily controlled by the user, and the format was bound to a string which is too restrictive. Add a "clear" for that level keyword and make "default" void. * disallow strength setting in "name" entries - Adjust for upstream changes: * file-5.14-tex.dif * file-5.07-elf.dif * file-5.12-ocloexec.patch * file-5.12-nitpick.dif * file-5.13.dif - Drop patches, applied upstream: * file-5.13-whitespace.patch * elf-invalid-byte-order.patch * Sun Sep 29 2013 andreas.stieger@gmx.de - add file-5.15-clear-invalid.patch to fix an invalid format * Sun May 26 2013 schwab@suse.de - elf-invalid-byte-order.patch: remove bogus "invalid byte order" from elf magic * Sun May 26 2013 schwab@suse.de - file-5.13-whitespace.patch: remove extra whitespace in ELF magic, breaks libtool * Fri Mar 29 2013 crrodriguez@opensuse.org - Refresh patches and remove the visibility patch that I upstreamed few releases ago in a different form. * Fri Mar 22 2013 werner@suse.de - Update to file version 5.14 (also mainly bug fixes) * fix recursive magic separator printing * limit recursion level for mget * fix pread() related breakage in cdf * handle offsets properly in recursive "use" - Remove patch file-5.13-return.patch * Tue Feb 26 2013 werner@suse.de - Add patch file-5.13-return.patch: avoid doubled return * Fri Feb 22 2013 werner@suse.de - Update to file version 5.13 (mainly bug fixes) * add elf reading of debug info to determine if file is stripped * use pread() * change mime description size from 64 to 80 to accommodate OOXML. * Warn about inconsistent continuation levels. * Change fsmagic to add a space after it prints. * Make getline public so that file can link against it. Perhaps it is better to rename it, or hide it differently. Fixes builds on platforms that do not provide it. * Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document what long, int, short, etc is (Guy Harris) * add magic_version function and constant * Redo memory allocation and de-allocation. (prevents double frees on non mmap platforms) * Fix bug with name/use having to do with passing found state from the parent to the child and back. * Tue Feb 19 2013 werner@suse.de - Use %%libname macro and make that file-magic obsoletes libmagic-data compare with bnc# 804323 to avoid trouble with interim package name * Wed Jan 23 2013 werner@suse.de - Make if build on ppc64, that is re-add the configure check for sizeof long long otherwise readelf fail on ppc64 * Tue Jan 22 2013 werner@suse.de - Update to file version 5.12 * Warn about inconsistent continuation levels. * Change fsmagic to add a space after it prints. * Make getline public so that file can link against it. Perhaps it is better to rename it, or hide it differently. Fixes builds on platforms that do not provide it. * Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document what long, int, short, etc is (Guy Harris) * add magic_version function and constant * Redo memory allocation and de-allocation. (prevents double frees on non mmap platforms) * Fix bug with name/use having to do with passing found state from the parent to the child and back. * Only print elf capabilities for archs we know (Jan Kaluza) * Add "name" and "use" file types in order to look inside mach-o files. * add string/T (Jan Kaluza) * search for $HOME/.magic.mgc if it is there first * fix reads from a pipe, and preserve errno * use ctime_r, asctime_r * Fixes for indirect offsets to handle apple disk formats - Also includes our extfs-minix patch * Mon Nov 26 2012 werner@suse.de - Add file-5.11-extfs-minix.dif: Change detection order of ext2/3/4 fs and minix to avoid the for the free inode numbers 4991,5007, 9320,9336 and multiple of 65536 the ext2/3/4 fs will be detected as minix fs (bnc#788435) * Sat Oct 27 2012 coolo@suse.com - implement shared library policy for libmagic1 * Tue Sep 18 2012 werner@suse.de - Add small patch to make clear if file follows symbloc links or not as tihs depend on the environment variable POSIXLY_CORRECT - Remove the README file as this is for packagers and not for users * Sun Aug 19 2012 giecrilj@stegny.2a.pl - add documentation (bnc#776532) * Tue Aug 14 2012 crrodriguez@opensuse.org - Use the OS's byteswapping routines. * Tue Jun 26 2012 cfarrell@suse.com - license update: BSD-2-Clause SPDX format * Wed Mar 21 2012 werner@suse.de - Update to file version 5.11 (bnc#753303, CVE-2012-1571) * Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann) * Mon Jan 16 2012 werner@suse.de - Update to file version 5.10 * Add magic for /usr/bin/env Perl scripts * Weaken generic script magic to avoid clashing with language-specific magic. * Remove hardwired token finding (names.h), turning it into soft magic. Patterns are either anchored regexs or search/8192. English language detection and PL/1 detection have been removed as they were too fragile. -e tokens is still accepted for backwards compatibility. * Move 3ds patterns (which are commented out anyway) into autodesk (they were, oddly, in c-lang). * Tweak strength of generic hash-bang detectors to be less than specific ones. * Make an inconsistent description of Python scripts consistent. * Python3 binding fixes from Kelly Anderson * If a string type magic entry is marked as text or binary only match text files against text entries and binary files against binary entries. * If the application name is not set in a cdf file, try to see if it has a directory with the application name on it. * Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza * Don't use variable string formats. * Sat Nov 5 2011 crrodriguez@opensuse.org - libmagic: use O_CLOEXEC where needed, as there is no warranty that calling applications will not fork() and we end up leaking file descriptors to their child processes. * Sat Oct 1 2011 coolo@suse.com - add libtool as buildrequire to make the spec file more reliable * Sun Sep 18 2011 jengelh@medozas.de - Apply packaging guidelines (remove redundant/obsolete tags/sections from specfile, etc.) * Tue Aug 23 2011 werner@suse.de - Update to file version 5.08 * Fix detection of Zip files (Mantis #128). * Make some minor improvements to file(1). * Rename MIME types for filesystem objects for consistency with xdg-utils. Typically this means that application/x-foo becomes inode/foo, but some names also change slightly, e.g. application/x-character-device becomes inode/chardevice. * Mon Jul 18 2011 werner@suse.de - Fixed regression on zip archive detection (bnc#706310) * Tue Jun 14 2011 werner@suse.de - Update to file version 5.07 * Several regressions in magic were fixed. A buffer overflow was corrected. The program version is now recorded in only one place. Several documentation improvements were made. * The Python bindings were updated and fixed. Magic support for OCF (EPUB) files and for lrzip files was added. Zip file magic was adapted for files with unsupported special types. Many more magic updates and fixes were made. * Several minor bugs were fixed. - Add magic for clicfs evne if upstream does not support it (bnc#681329) * Wed Nov 24 2010 werner@suse.de - Add patch for Bio-Rad image format to avoid conflicts with other magic records like RPM and even some ACII files (bnc#654696) * Fri Nov 5 2010 cristian.rodriguez@opensuse.org - libmagic: export only public interface symbols listed in magic.h, this also avoids exporting interesting stuff like strlcat, strlcpy... * Mon Jun 28 2010 jengelh@medozas.de - use %%_smp_mflags * Mon Apr 19 2010 werner@suse.de - Add llvm bicode magic (bnc#597752) * Fri Feb 5 2010 werner@suse.de - Update to file version 5.04 * print proper mime for crystal reports file * print the last summary information of a cdf document, not the first so that nested documents print the right info * ctime/asctime can return NULL on some OS's although they should not (Toshit Antani) * Centralize magic path handling routines and remove the special-casing from file.c so that the python module for example comes up with the same magic path (Fixes ~/.magic handling) (from Gab) * When magic argument is a directory, read the files in strcmp-sorted order (fixes Debian bug #488562 and our own FIXME). * Combine overlapping epoc and psion magic files into one (epoc). * Add some more EPOC MIME types. * Fix 3 bugs (From Ian Darwin): - file_showstr could move one past the end of the array - parse_apple did not nul terminate the string in the overflow case - parse_mime truncated the wrong string in the overflow case * Add the necessary field handling for crystal reports files to work * Stop "(if" identifying Lisp files, that's plain dumb! * Add a couple of missing MP3 MIME types. * Add full range of hash-bang tests for Python and Ruby. * Add MIME types for Python and Ruby scripts. * off by one in parsing hw capabilities in elf (Cheng Renquan) * Sat Dec 12 2009 jengelh@medozas.de - add baselibs.conf as a source * Tue Nov 3 2009 coolo@novell.com - updated patches to apply with fuzz=0 * Tue Oct 27 2009 werner@suse.de - Make ISO9660 magic entry working with file 5.xx (bnc#547683) * Wed Sep 30 2009 crrodriguez@opensuse.org - file-devel only requires glibc-devel * Tue Jun 9 2009 werner@suse.de - Do _not_ touch change log of python-magic - Update to file version 5.03 * Avoid null dereference in cdf code (Drew Yao) * More cdf bounds checks and overflow checks * Tue Jun 2 2009 coolo@novell.com - sync Version using pre_checkin.sh * Thu May 7 2009 werner@suse.de - Add support for special zip archives (bnc#500511) * Wed May 6 2009 werner@suse.de - Update to file version 5.02 * Read ~/.magic in addition to the default magic file not instead of, as documented in the man page. * filesystem and msdos patches (Joerg Jenderek) * Added CDF parsing * Add text/x-lua MIME type for Lua scripts. * >= <= is not supported, so fix the magic and warn about it. reported by: Thien-Thi Nguyen * use memchr instead of strchr because the string might not be NUL terminated (Scott MacVicar) * Fix --mime, --mime-type and --mime-encoding under new scheme. * add loop limits to avoid DoS attacks by constructing looping sector references. * Allow escaping of relation characters, so that we can say \^[A-Z] and the ^ is not eaten as a relation char. * Mon Jan 26 2009 crrodriguez@suse.de - remove "la" files and static libraries * Wed Dec 10 2008 olh@suse.de - use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade (bnc#437293) * Thu Nov 27 2008 werner@suse.de - Add libsatsolver file magic - Re-enable detection of old LZW (.Z) format (bnc#448984) * Thu Oct 30 2008 olh@suse.de - obsolete old -XXbit packages (bnc#437293) * Tue Aug 19 2008 ro@suse.de - fix detection for java bytecode * Tue May 6 2008 aj@suse.de - Do not return random data. * Thu Apr 24 2008 werner@suse.de - Don't slip into Mp3 channel for ext file systems (bnc#383431) * Mon Apr 14 2008 werner@suse.de - Add CROM File System to Localstuff (bnc#379027) - Update to file bugfix version 4.24 * ELF core file command name/line bug fixes and enhancements * Change strength of ! from MULT to 0, as it matches almost anything (Reuben Thomas) * Clarify UTF-8 BOM message (Reuben Thomas) * Add HTML comment to token list in names.h * !:mime annotations in magic files (Reuben Thomas) * zero out utime/utimes structs (Gavin Atkinson) * reduce writable data from Diego "Flameeyes" Petten * strtof detection * remove bogus regex magic that could cause a DoS * better mismatch version message * bring back some fixes from OpenBSD * treat ELF dynamic objects as executables * fix gcc warnings * make sure we have zlib.h and libz to compile the builtin decompress code * float and double magic support (Behan Webster) * Convert fortran to a soft test (Reuben Thomas) * Add --with-filename, and --no-filename (Reuben Thomas) * Rest of the mime split (Reuben Thomas) * Make usage message generated from the flags so that they stay consistent (Reuben Thomas) * typo in comment, missing ifdef QUICK, remove unneeded code * Fix problem printing -\012 in some entries * Separate magic type and encoding flags (Reuben Thomas) * configure fix for int64 and strndup (Reuben Thomas) * Add magic_descriptor() function. * Fix regression in elf reading code where the core name was not being printed. * Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson) * Make mime format consistent so that it can Remove 7/8bit classifications, since they were arbitrary and not based on the file data. * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support * Thu Mar 13 2008 werner@suse.de - Remember ReiserFS V3.6.19 (bnc#370535) * Mon Jan 28 2008 rguenther@suse.de - Split python-magic off to separate spec file to avoid pulling python into the base build cycle * Tue Jan 15 2008 werner@suse.de - Move python-base to python * Wed Dec 5 2007 werner@suse.de - Add X11 cursor magic to Localstuff (bug #346132) - New package python-magic, the python API for the libmagic * Fri Aug 31 2007 werner@suse.de - Make regex for awk more robust to avoid conflict with PostScript, thanks goes to Werner Lemberg for the report * Wed Aug 29 2007 werner@suse.de - Add Scribus to local magic (bug #298009) * Wed Jun 6 2007 werner@suse.de - Update to file version 4.21 including the last three bug fixes * Thu May 24 2007 werner@suse.de - Fix of the fix for bug #256290 with CVE-2007-2799 * Mon May 21 2007 werner@suse.de - Expand search area used before regex (also bug #263754) * Mon May 14 2007 werner@suse.de - More on DoS attack with regex (bug #263754) - Avoid crash on unknown option and enable option `-e' * Mon Apr 16 2007 werner@suse.de - Avoid DoS attack with regex (bug #263754) * Thu Apr 5 2007 werner@suse.de - Avoid trouble with variable/macro on ppc64 * Mon Mar 26 2007 rguenther@suse.de - Add zlib-devel BuildRequires * Wed Mar 21 2007 werner@suse.de - Update to file 4.20 due security reason CVE-2007-1536 (#256290) * Tue Mar 6 2007 rguenther@suse.de - Fix order of changelog entries * Thu Nov 23 2006 werner@suse.de - Initialize variable in elf patch * Wed Nov 22 2006 werner@suse.de - Update to new file 4.18 * Includes most of our extensions (elf, fifo, softmagic) * Mon Jun 12 2006 werner@suse.de - Reenable file to display process name from a core dump (#183685) * Mon Mar 27 2006 werner@suse.de - Add Mono/.Net identfiers to msdos magics (bug #159708) * Fri Mar 24 2006 werner@suse.de - Update to file version 4.17 * This version supports new key like `search' and `regex' * Port our patches to this version * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Mon Jan 16 2006 werner@suse.de - Add Xen magics * Tue Dec 6 2005 werner@suse.de - Add Structured Storage Entry for PageMaker to local (bug #134895) * Thu Oct 20 2005 werner@suse.de - Update to file version 4.16 * Tue Aug 23 2005 werner@suse.de - Fix broken cracklib magic (bug #106007) * Mon Jul 25 2005 werner@suse.de - Update to new file 4.14 - Split of the development version as own package * Fri Jul 1 2005 werner@suse.de - Even for netware the columns in the magic entry are seperated by tabs - Add cracklib magics (bug #93673) * Mon Jun 13 2005 mmj@suse.de - Add primitive magic for detecting netware loadable modules (NLMs) - Don't remove buildroot before install - Don't strip binaries explicitly - %%doc is implied by %%man * Thu Mar 17 2005 werner@suse.de - Be sure that the pipe/fifo patch works (bug #73644) * Thu Mar 10 2005 werner@suse.de - Be able to use the -s option even on pipes (bug #71074) - Do not hang on sockets or pipes not opened on the write side * Fri Feb 18 2005 werner@suse.de - Update to file 4.13 for fixes in handling of bzip2 and DOS files - Do not be fooled by minix filesystems magics on jpeg files * Fri Nov 26 2004 werner@suse.de - Update to file 4.12, this may fix a security issue (bug #48576) * Tue Sep 28 2004 werner@suse.de - Correct PCP entries (bug #46111) * Thu Sep 16 2004 werner@suse.de - Read HOWMANY bytes even from a pipe (reported by max) * Thu Aug 26 2004 werner@suse.de - Update to bugfix release 4.09 * Tue Aug 24 2004 lmuelle@suse.de - Add -fPIC to the CFLAGS. * Wed May 26 2004 werner@suse.de - Don't trap into string formats if integers are provided (#41209) * Mon May 24 2004 werner@suse.de - Check for random data within ELF header (bug #40909) * Thu Feb 12 2004 werner@suse.de - Add name offsets for CORE dumps even for 64bit ELF (bug #34461) * Tue Jan 20 2004 werner@suse.de - Update to 4.07 * Mon Dec 15 2003 werner@suse.de - Add workaround for new automake `feature' of ignoring man pages - Ensure that the correct break condition is returned if readelf past the end of the buffer (bug #33644). * Mon Dec 8 2003 werner@suse.de - Update to 4.06 - Use /etc/magic:/usr/share/misc/magic as magic and move /etc/magic to a real configuration file for _local_ settings (bug #32725). * Sat Oct 18 2003 kukuk@suse.de - Add patch to detect policy file for SE Linux - Build as normal user - Clean up build root * Mon Sep 29 2003 werner@suse.de - Avoid endless loop due wrong alignment in old ELF binaries * Tue Sep 16 2003 werner@suse.de - Extend buffer from 64kb upto 68kB to find ReiserFS (bug #30736) * Wed Jul 2 2003 werner@suse.de - Use _libdir * Tue Jul 1 2003 werner@suse.de - Update to file 4.03 * Thu Apr 17 2003 coolo@suse.de - use BuildRoot * Tue Mar 4 2003 werner@suse.de - Fix buffer overflow in elf detection * Tue Dec 17 2002 olh@suse.de - use RPM_BUILD_ROOT, not BUILD_ROOT in testsuite * Sun Nov 10 2002 ro@suse.de - fix deprecated multiline string literal (from longopt patch) * Tue Sep 17 2002 ro@suse.de - removed bogus self-provides * Tue Jul 23 2002 werner@suse.de - Add mySQL bytes to magic (bug #16138) * Fri Jun 7 2002 olh@suse.de - don't change the union u in readelf.c:tryelf() on ppc64 * Mon Feb 4 2002 werner@suse.de - Fix looking of manual page * Mon Feb 4 2002 werner@suse.de - Add some magics for METAFONT format files - Add inofficial long options for LSB * Thu Dec 27 2001 adrian@suse.de - fix file output for mips binaries. The old output broke several ltconfig scripts in other packages and was wrong anyway. - recompress tar ball with bz2 * Wed Dec 19 2001 werner@suse.de - update to version 3.37 * Sat Jun 30 2001 bk@suse.de - update to version 3.33 - don't change the union u in readelf.c:tryelf() on s390x. - option i: fix one-byte memory underallocation - strcat adds '\0' * Thu Jun 7 2001 werner@suse.de - Autoconf and Elf header: make it work again * Fri May 4 2001 werner@suse.de - Make symlink /etc/magic a relative one * Tue Jan 16 2001 werner@suse.de - Change order to find WAVE and TTF data before G3, apple and macintosh data. - Change string detection of PFM data to bit comparision masking out the third bit to make raw G3 work. * Sun Dec 3 2000 schwab@suse.de - Don't match against artificial null byte. - Fix resource leaks. * Tue Nov 28 2000 aj@suse.de - Add LFS support. * Tue Nov 14 2000 werner@suse.de - Correct version handling of Linux/i386 Kernel setup header * Mon Nov 13 2000 werner@suse.de - Fix handling of Microsoft Access Database in comparision with Digifax-G3-File. * Tue Oct 3 2000 kukuk@suse.de - fix inclusion of config.h - Add group tag * Thu Sep 28 2000 werner@suse.de - Move Magdir changes into misc dif - Remove exectuable from text scripts * Fri Sep 15 2000 werner@suse.de - Update to version 3.32 * Tue Jun 20 2000 werner@suse.de - /usr/lib/magic -> /usr/share/misc/magic * Thu Feb 3 2000 schwab@suse.de - Ignore SHT_DYNSYM sections when deciding whether object is stripped. * Fri Jan 28 2000 schwab@suse.de - Fix int32 vs long problem. * Thu Jan 27 2000 schwab@suse.de - Fix non-ascii literal characters in string - Specfile cleanup, get rid of Makefile.Linux - /usr/man -> /usr/share/man * Thu Nov 25 1999 schwab@suse.de - Fix location of magic file. * Tue Nov 23 1999 kukuk@suse.de - Update to version 3.27 - Add patches for SPARC * Mon Sep 13 1999 bs@suse.de - ran old prepare_spec on spec file to switch to new prepare_spec. * Tue Aug 24 1999 uli@suse.de - added -fsigned-char to CFLAGS (PPC) * Wed Nov 4 1998 ro@suse.de - disabled dcore (won't build with glibc-2.0) * Thu Oct 1 1998 ro@suse.de - update to 3.26 - hacked dcore.c to build with glibc-2.1 * Fri Oct 10 1997 florian@suse.de - add some more entries to magic * Wed Jun 25 1997 florian@suse.de - add additional entries to recognize LaTeX files * Tue May 27 1997 florian@suse.de - add some additional entries from mgetty/vgetty - add additional entries for CLISP and GNU gettext from Bruno Haible * Wed Jan 22 1997 florian@suse.de - update to version 3.22 * Thu Jan 2 1997 florian@suse.de - recognise german umlauts as text: dirty hack, but also call "setlocale" for correctly installed systems... - add "dcore"-program to show some information about core-files * Thu Jan 2 1997 florian@suse.de - update to version 3.21 - mv /etc/magic /usr/lib/magic (/etc/magic is still a symlink to new location) * Thu Jan 2 1997 florian@suse.de - added missing entries for G3-fax (from mgetty source)