From nobody Thu Sep 14 22:02:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rmrrw5vMrz4scGx; Thu, 14 Sep 2023 22:02:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rmrrw5cnGz3Jrg; Thu, 14 Sep 2023 22:02:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694728928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zR8DHK+C7CwGX46U3Qe2eSkfBPuK+7HCtpfmwT05VaU=; b=LCYhnwROqlqgchbjzb0aZSNyDxcn3GijiGNHPni8xO1SLAhj/Tzun4t5/n9qHqTDgxA46Q fqTxT6+U8OzdMgIPPSoePZ4IVQo5W2WfJ5h8bFiP1rsp9plI/b2fejchrJvVWv/PpnZ+XR ATpM10VjP6cTdkOYStsK6lpFboAR0tB8+iaZomieqIgS+l8SmFWXB30YhDg+jfuH5kGX7z NPZhv8RqVLtCeL0pBsoRAonnSRd3VGKTdnP7EizocPpT9Fwnb6N8r5uRi7npEn0tzY73GD S3L34EcNV+SPeqO3rl3CNi7gDxe08VtHj4VDq7rRdWp+wOb0LJpZtFhuuxb1Wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694728928; a=rsa-sha256; cv=none; b=c/TmhF1XJLKlEoRF2MAtCDmB0345T5Q6h67ftkkKKdxULhF/AQQYWa3cj+A7a50H/5EBOb o4eZFfBEyBeMP0I8BJVqM5alWFj0cGyrw0M/jvmk9UVS9t3z+tYvajFdw/fTdL0ADlGUDt Ak8MNAvpmGQyQqI52Twhb5y8s8IU3f09Dk3pX6BxMP5ZwcHPgN1BMhz66csn43aUnKgf/D bAA/YSkXAW5a4sqIG+K0OxtbZIdEov7CAxXGfluhn8+z8w/W0ShArGI8unvEeU2X5HsAdY odB9ZXxC/ZTbhz3BtPMs0T9ELIBn5+Lckq1Xs0GZkYKuX/2pOZo/OYhR0MTeRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694728928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zR8DHK+C7CwGX46U3Qe2eSkfBPuK+7HCtpfmwT05VaU=; b=rRzgQotWo0oFMKnnDCJzpCqE8ogyxf8EQ1CK9L7sX2TAelch/r3M9VgcNRfnA7Aa/aNxeq BvPwPXd09wwIykfU9zmQRVyJ8pczLiWpOtF+ORd1P1QbgbLo8dnnCGLUXA3oX605mU4xUh mzgP/t4C+M4NCB1EHidcd8VlxpRuPM2XLiJPcLJXOeyN/s4z7DHt+yzz3DC5NOEAwXoofz l2u/SJ8/4yJeUjiOgENBBrHT/gJ/Yav55l7UUesxu/pADGS2zCPhTWBcdCLqx3aMQ6MOir lMyg9PJgmqZxaA0IILWjfhSL9peBbvqEnGBDTPELrqcQ4DfUhjKLiEryNxFb6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rmrrw4bmXz1D5S; Thu, 14 Sep 2023 22:02:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38EM28rL089422; Thu, 14 Sep 2023 22:02:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38EM28Uc089419; Thu, 14 Sep 2023 22:02:08 GMT (envelope-from git) Date: Thu, 14 Sep 2023 22:02:08 GMT Message-Id: <202309142202.38EM28Uc089419@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: acdad1f1cb47 - stable/14 - MFC: MFV: file 5.45. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: acdad1f1cb471aacbd7c372af9a79d6b3467ca93 Auto-Submitted: auto-generated The branch stable/14 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=acdad1f1cb471aacbd7c372af9a79d6b3467ca93 commit acdad1f1cb471aacbd7c372af9a79d6b3467ca93 Author: Xin LI AuthorDate: 2023-09-10 19:20:33 +0000 Commit: Xin LI CommitDate: 2023-09-14 22:01:08 +0000 MFC: MFV: file 5.45. (cherry picked from commit 898496ee09ed2b7d25f6807edc4515628196ec0a) Disable byteswap.h for now. (cherry picked from commit 90474518912f5e5f49bc5325b7f88e94eba64d6a) --- contrib/file/ChangeLog | 64 ++- contrib/file/README.md | 3 +- contrib/file/acinclude.m4 | 5 +- contrib/file/config.guess | 2 + contrib/file/config.h.in | 21 + contrib/file/config.sub | 1 + contrib/file/configure | 184 ++++++- contrib/file/configure.ac | 40 +- contrib/file/doc/file.man | 21 +- contrib/file/doc/libmagic.man | 26 +- contrib/file/doc/magic.man | 88 ++-- contrib/file/libmagic.pc.in | 1 + contrib/file/magic/Magdir/algol68 | 12 +- contrib/file/magic/Magdir/android | 52 +- contrib/file/magic/Magdir/animation | 25 +- contrib/file/magic/Magdir/apple | 299 +++++++++-- contrib/file/magic/Magdir/archive | 547 ++++++++++++++++++++- contrib/file/magic/Magdir/arm | 11 +- contrib/file/magic/Magdir/asf | 4 +- contrib/file/magic/Magdir/audio | 17 +- contrib/file/magic/Magdir/blender | 15 +- contrib/file/magic/Magdir/bytecode | 13 +- contrib/file/magic/Magdir/c-lang | 8 +- contrib/file/magic/Magdir/c64 | 357 +++++++++++++- contrib/file/magic/Magdir/cad | 40 +- contrib/file/magic/Magdir/coff | 3 +- contrib/file/magic/Magdir/commands | 18 +- contrib/file/magic/Magdir/compress | 88 +++- contrib/file/magic/Magdir/console | 52 +- contrib/file/magic/Magdir/crypto | 46 +- contrib/file/magic/Magdir/database | 62 ++- contrib/file/magic/Magdir/der | 9 +- contrib/file/magic/Magdir/dsf | 25 - contrib/file/magic/Magdir/dwarfs | 45 ++ contrib/file/magic/Magdir/elf | 10 +- contrib/file/magic/Magdir/filesystems | 211 ++++---- contrib/file/magic/Magdir/firmware | 133 +++++ contrib/file/magic/Magdir/games | 198 +++++++- contrib/file/magic/Magdir/gentoo | 9 +- contrib/file/magic/Magdir/geo | 42 +- contrib/file/magic/Magdir/images | 342 +++++++++++-- contrib/file/magic/Magdir/intel | 8 +- contrib/file/magic/Magdir/java | 9 +- contrib/file/magic/Magdir/javascript | 64 ++- contrib/file/magic/Magdir/jpeg | 8 +- contrib/file/magic/Magdir/lif | 9 +- contrib/file/magic/Magdir/linux | 99 +++- contrib/file/magic/Magdir/llvm | 3 +- contrib/file/magic/Magdir/macintosh | 56 ++- contrib/file/magic/Magdir/magic | 65 ++- contrib/file/magic/Magdir/mail.news | 4 +- contrib/file/magic/Magdir/map | 7 +- contrib/file/magic/Magdir/mathematica | 69 ++- contrib/file/magic/Magdir/meteorological | 8 +- contrib/file/magic/Magdir/misctools | 66 ++- contrib/file/magic/Magdir/modem | 12 +- contrib/file/magic/Magdir/msdos | 460 +++++++++++++++-- contrib/file/magic/Magdir/msooxml | 12 +- contrib/file/magic/Magdir/ole2compounddocs | 155 ++++-- contrib/file/magic/Magdir/pdf | 6 +- contrib/file/magic/Magdir/perl | 8 +- contrib/file/magic/Magdir/playdate | 57 +++ contrib/file/magic/Magdir/printer | 144 +++++- contrib/file/magic/Magdir/qt | 13 +- contrib/file/magic/Magdir/rst | 6 +- contrib/file/magic/Magdir/rust | 21 + contrib/file/magic/Magdir/scientific | 43 +- contrib/file/magic/Magdir/sendmail | 4 +- contrib/file/magic/Magdir/sgml | 13 +- contrib/file/magic/Magdir/sniffer | 75 ++- contrib/file/magic/Magdir/softquad | 9 +- contrib/file/magic/Magdir/spectrum | 118 ++++- contrib/file/magic/Magdir/sql | 65 ++- contrib/file/magic/Magdir/ssh | 11 +- contrib/file/magic/Magdir/svf | 5 + contrib/file/magic/Magdir/sysex | 6 +- contrib/file/magic/Magdir/terminfo | 3 +- contrib/file/magic/Magdir/tex | 10 +- contrib/file/magic/Magdir/tplink | 13 +- contrib/file/magic/Magdir/troff | 8 +- contrib/file/magic/Magdir/uterus | 4 +- contrib/file/magic/Magdir/varied.script | 64 +-- contrib/file/magic/Magdir/web | 8 +- contrib/file/magic/Magdir/windows | 532 ++++++++++++++++++-- contrib/file/magic/Magdir/wordprocessors | 72 ++- contrib/file/magic/Magdir/xenix | 18 +- contrib/file/magic/Magdir/xilinx | 20 +- contrib/file/magic/Makefile.am | 8 +- contrib/file/magic/Makefile.in | 8 +- contrib/file/src/Makefile.am | 8 +- contrib/file/src/Makefile.in | 23 +- contrib/file/src/apprentice.c | 275 ++++++----- contrib/file/src/apptype.c | 8 +- contrib/file/src/ascmagic.c | 38 +- contrib/file/src/asctime_r.c | 4 +- contrib/file/src/asprintf.c | 2 +- contrib/file/src/buffer.c | 11 +- contrib/file/src/cdf.c | 2 +- contrib/file/src/cdf_time.c | 6 +- contrib/file/src/compress.c | 389 +++++++++++---- contrib/file/src/ctime_r.c | 4 +- contrib/file/src/der.c | 12 +- contrib/file/src/dprintf.c | 2 +- contrib/file/src/encoding.c | 40 +- contrib/file/src/file.c | 131 ++--- contrib/file/src/file.h | 187 +++---- contrib/file/src/file_opts.h | 4 +- contrib/file/src/fmtcheck.c | 2 +- contrib/file/src/fsmagic.c | 8 +- contrib/file/src/funcs.c | 120 +++-- contrib/file/src/getline.c | 4 +- contrib/file/src/getopt_long.c | 2 +- contrib/file/src/gmtime_r.c | 4 +- contrib/file/src/is_csv.c | 12 +- contrib/file/src/is_json.c | 6 +- contrib/file/src/is_simh.c | 209 ++++++++ contrib/file/src/is_tar.c | 14 +- contrib/file/src/localtime_r.c | 4 +- contrib/file/src/magic.c | 60 ++- contrib/file/src/magic.h.in | 9 +- contrib/file/src/memtest.c | 3 +- contrib/file/src/pread.c | 2 +- contrib/file/src/print.c | 30 +- contrib/file/src/readcdf.c | 26 +- contrib/file/src/readelf.c | 72 +-- contrib/file/src/seccomp.c | 3 +- contrib/file/src/softmagic.c | 252 ++++++---- contrib/file/src/strlcat.c | 2 +- contrib/file/src/strlcpy.c | 2 +- contrib/file/src/tar.h | 4 +- contrib/file/src/vasprintf.c | 7 +- contrib/file/tests/CVE-2014-1943.result | 2 +- contrib/file/tests/HWP2016.hwp.result | 1 + contrib/file/tests/HWP2016.hwp.testfile | Bin 0 -> 9216 bytes contrib/file/tests/HWP2016.hwpx.zip.result | 1 + contrib/file/tests/HWP2016.hwpx.zip.testfile | Bin 0 -> 14377 bytes contrib/file/tests/HWP97.hwp.result | 1 + contrib/file/tests/HWP97.hwp.testfile | Bin 0 -> 8975 bytes contrib/file/tests/JW07022A.mp3.result | 2 +- contrib/file/tests/Makefile.am | 70 ++- contrib/file/tests/Makefile.in | 70 ++- contrib/file/tests/android-vdex-1.result | 2 +- contrib/file/tests/android-vdex-2.result | 2 +- contrib/file/tests/arj.result | 2 +- contrib/file/tests/bcachefs.result | 2 +- contrib/file/tests/bcachefs2.result | 1 + contrib/file/tests/bcachefs2.testfile | Bin 0 -> 8192 bytes contrib/file/tests/cl8m8ocofedso.result | 2 +- contrib/file/tests/cmd1.result | 1 + contrib/file/tests/cmd1.testfile | 1 + contrib/file/tests/cmd2.result | 1 + contrib/file/tests/cmd2.testfile | 1 + contrib/file/tests/cmd3.result | 1 + contrib/file/tests/cmd3.testfile | 2 + contrib/file/tests/cmd4.result | 1 + contrib/file/tests/cmd4.testfile | 2 + contrib/file/tests/dsd64-dff.result | 2 +- contrib/file/tests/dsd64-dsf.result | 2 +- contrib/file/tests/escapevel.result | 2 +- contrib/file/tests/ext4.result | 2 +- contrib/file/tests/fit-map-data.result | 2 +- contrib/file/tests/gedcom.result | 2 +- contrib/file/tests/hddrawcopytool.result | 2 +- contrib/file/tests/hello-racket_rkt.result | 1 + contrib/file/tests/hello-racket_rkt.testfile | Bin 0 -> 1664 bytes contrib/file/tests/issue311docx.result | 2 +- contrib/file/tests/issue359xlsx.result | 2 +- contrib/file/tests/jpeg-text.result | 1 + contrib/file/tests/jpeg-text.testfile | 1 + contrib/file/tests/json1.result | 2 +- contrib/file/tests/json2.result | 2 +- contrib/file/tests/json3.result | 2 +- contrib/file/tests/json4.result | 2 +- contrib/file/tests/json5.result | 2 +- contrib/file/tests/json6.result | 2 +- contrib/file/tests/json7.result | 2 +- contrib/file/tests/json8.result | 2 +- contrib/file/tests/jsonlines1.result | 2 +- contrib/file/tests/matilde.arm.result | 2 +- contrib/file/tests/multiple-A.magic | 2 + contrib/file/tests/multiple-B.magic | 2 + contrib/file/tests/multiple.flags | 1 + contrib/file/tests/multiple.result | 1 + contrib/file/tests/multiple.testfile | 1 + contrib/file/tests/pcjr.result | 2 +- contrib/file/tests/pgp-binary-key-v2-phil.result | 2 +- contrib/file/tests/pgp-binary-key-v3-lutz.result | 2 +- contrib/file/tests/pgp-binary-key-v4-dsa.result | 2 +- .../pgp-binary-key-v4-ecc-no-userid-secret.result | 2 +- .../tests/pgp-binary-key-v4-ecc-secret-key.result | 2 +- .../file/tests/pgp-binary-key-v4-rsa-key.result | 2 +- .../pgp-binary-key-v4-rsa-no-userid-secret.result | 2 +- .../tests/pgp-binary-key-v4-rsa-secret-key.result | 2 +- contrib/file/tests/pnm1.result | 1 + contrib/file/tests/pnm1.testfile | 5 + contrib/file/tests/pnm2.result | 1 + contrib/file/tests/pnm2.testfile | Bin 0 -> 15 bytes contrib/file/tests/pnm3.result | 1 + contrib/file/tests/pnm3.testfile | 5 + contrib/file/tests/regex-eol.result | 2 +- contrib/file/tests/registry-pol.result | 1 + contrib/file/tests/registry-pol.testfile | Bin 0 -> 7094 bytes contrib/file/tests/test.c | 70 ++- contrib/file/tests/uf2.result | 2 +- contrib/file/tests/xclbin.result | 1 + contrib/file/tests/xclbin.testfile | Bin 0 -> 512 bytes contrib/file/tests/zstd-3-skippable-frames.result | 2 +- contrib/file/tests/zstd-dictionary-0.result | 2 +- contrib/file/tests/zstd-dictionary-1.result | 2 +- contrib/file/tests/zstd-dictionary-2.result | 2 +- contrib/file/tests/zstd-skippable-frame-0.result | 2 +- contrib/file/tests/zstd-skippable-frame-4.result | 2 +- contrib/file/tests/zstd-skippable-frame-8.result | 2 +- contrib/file/tests/zstd-skippable-frame-C.result | 2 +- contrib/file/tests/zstd-v0.2-FF.result | 2 +- contrib/file/tests/zstd-v0.3-FF.result | 2 +- contrib/file/tests/zstd-v0.4-FF.result | 2 +- contrib/file/tests/zstd-v0.5-FF.result | 2 +- contrib/file/tests/zstd-v0.6-FF.result | 2 +- contrib/file/tests/zstd-v0.7-00.result | 2 +- contrib/file/tests/zstd-v0.7-21.result | 2 +- contrib/file/tests/zstd-v0.7-22.result | 2 +- contrib/file/tests/zstd-v0.8-00.result | 2 +- contrib/file/tests/zstd-v0.8-01.result | 2 +- contrib/file/tests/zstd-v0.8-02.result | 2 +- contrib/file/tests/zstd-v0.8-03.result | 2 +- contrib/file/tests/zstd-v0.8-16.result | 2 +- contrib/file/tests/zstd-v0.8-20.result | 2 +- contrib/file/tests/zstd-v0.8-21.result | 2 +- contrib/file/tests/zstd-v0.8-22.result | 2 +- contrib/file/tests/zstd-v0.8-23.result | 2 +- contrib/file/tests/zstd-v0.8-F4.result | 2 +- contrib/file/tests/zstd-v0.8-FF.result | 2 +- lib/libmagic/Makefile | 1 + lib/libmagic/config.h | 27 +- 235 files changed, 6484 insertions(+), 1559 deletions(-) diff --git a/contrib/file/ChangeLog b/contrib/file/ChangeLog index dd95543fe649..fdf1cff6e2d3 100644 --- a/contrib/file/ChangeLog +++ b/contrib/file/ChangeLog @@ -1,3 +1,63 @@ +2023-07-27 15:45 Christos Zoulas + + * release 5.45 + +2023-07-17 11:53 Christos Zoulas + + * PR/465: psrok1: Avoid muslc asctime_r crash + +2023-05-21 13:05 Christos Zoulas + + * add SIMH tape format support + +2023-02-09 12:50 Christos Zoulas + + * bump the max size of the elf section notes to be read to 128K + and make it configurable + +2023-01-08 1:08 Christos Zoulas + + * PR/415: Fix decompression with program returning empty + +2022-12-26 1:47 Christos Zoulas + + * PR/408: fix -p with seccomp + * PR/412: fix MinGW compilation + +2022-12-26 12:26 Christos Zoulas + + * release 5.44 + +2022-12-14 9:24 Christos Zoulas + + * Handle nan's so that we don't get internal floating point exceptions + when they are enabled (Vincent Mihalkovic) + +2022-10-23 10:21 Christos Zoulas + + * PR/397: Restore the ability to process files from stdin immediately. + +2022-09-20 17:12 Christos Zoulas + + * fixed various clustefuzz issues + +2022-09-19 15:54 Christos Zoulas + + * Fix error detection for decompression code (Vincent Mihalkovic) + +2022-09-15 13:50 Christos Zoulas + + * Add MAGIC_NO_COMPRESS_FORK and use it to produce a more + meaningful error message if we are sandboxing. + +2022-09-15 10:45 Christos Zoulas + + * Add built-in lzip decompression support (Michal Gorny) + +2022-09-14 10:35 Christos Zoulas + + * Add built-in zstd decompression support (Martin Rodriguez Reboredo) + 2022-09-13 14:55 Christos Zoulas * release 5.43 @@ -229,7 +289,7 @@ 2019-12-15 22:13 Christos Zoulas Document changes since the previous release: - Always accept -S (no sandbox) even if we don't support sandboxing - - More syscalls elided for sandboxiing + - More syscalls elided for sandboxing - For ELF dynamic means having an interpreter not just PT_DYNAMIC - Check for large ELF session header offset - When saving and restoring a locale, keep the locale name in our @@ -1759,7 +1819,7 @@ * Magic format checks (Dr. Werner Fink) - * Magic format function improvent (Karl Chen) + * Magic format function improvement (Karl Chen) 2006-05-03 11:11 Christos Zoulas diff --git a/contrib/file/README.md b/contrib/file/README.md index 37a3b17856c6..26e38045812c 100644 --- a/contrib/file/README.md +++ b/contrib/file/README.md @@ -1,6 +1,6 @@ ## README for file(1) Command and the libmagic(3) library ## - @(#) $File: README.md,v 1.4 2021/10/21 01:51:31 christos Exp $ + @(#) $File: README.md,v 1.5 2023/05/28 13:59:47 christos Exp $ - Bug Tracker: - Build Status: @@ -91,6 +91,7 @@ COPYING - read this first. * `src/gmtime_r.c` - replacement for OS's that don't have it. * `src/is_csv.c` - knows about Comma Separated Value file format (RFC 4180). * `src/is_json.c` - knows about JavaScript Object Notation format (RFC 8259). +* `src/is_simh.c` - knows about SIMH tape file format. * `src/is_tar.c, tar.h` - knows about Tape ARchive format (courtesy John Gilmore). * `src/localtime_r.c` - replacement for OS's that don't have it. * `src/magic.h.in` - source file for magic.h diff --git a/contrib/file/acinclude.m4 b/contrib/file/acinclude.m4 index e0811dd899aa..30242712bad3 100644 --- a/contrib/file/acinclude.m4 +++ b/contrib/file/acinclude.m4 @@ -39,11 +39,12 @@ AC_CHECK_DECLS([daylight], , , [#include #include ]) AC_CACHE_CHECK(for daylight, ac_cv_var_daylight, [AC_LINK_IFELSE( -[AC_LANG_PROGRAM([#include ], +[AC_LANG_PROGRAM([#include +#include ], [#if !HAVE_DECL_DAYLIGHT extern int daylight; #endif -atoi(daylight);])], ac_cv_var_daylight=yes, ac_cv_var_daylight=no)]) +daylight = atoi("1");])], ac_cv_var_daylight=yes, ac_cv_var_daylight=no)]) if test $ac_cv_var_daylight = yes; then AC_DEFINE(HAVE_DAYLIGHT,1,[HAVE_DAYLIGHT]) fi diff --git a/contrib/file/config.guess b/contrib/file/config.guess index 5d222e2ed594..cd4dbf7293fa 100755 --- a/contrib/file/config.guess +++ b/contrib/file/config.guess @@ -210,6 +210,8 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in aarch64eb) machine=aarch64_be-unknown ;; armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; + mipsn64eb) machine=mips64-unknown ;; + mipsn64el) machine=mips64el-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; diff --git a/contrib/file/config.h.in b/contrib/file/config.h.in index 8bf5e7ce6610..5ae30c61edd1 100644 --- a/contrib/file/config.h.in +++ b/contrib/file/config.h.in @@ -89,6 +89,9 @@ /* Define to 1 if you have the `gnurx' library (-lgnurx). */ #undef HAVE_LIBGNURX +/* Define to 1 if you have the `lz' library (-llz). */ +#undef HAVE_LIBLZ + /* Define to 1 if you have the `lzma' library (-llzma). */ #undef HAVE_LIBLZMA @@ -98,9 +101,15 @@ /* Define to 1 if you have the `z' library (-lz). */ #undef HAVE_LIBZ +/* Define to 1 if you have the `zstd' library (-lzstd). */ +#undef HAVE_LIBZSTD + /* Define to 1 if you have the `localtime_r' function. */ #undef HAVE_LOCALTIME_R +/* Define to 1 if you have the header file. */ +#undef HAVE_LZLIB_H + /* Define to 1 if you have the header file. */ #undef HAVE_LZMA_H @@ -276,9 +285,18 @@ /* Define to 1 if you have the header file. */ #undef HAVE_ZLIB_H +/* Define to 1 if you have the header file. */ +#undef HAVE_ZSTD_ERRORS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_ZSTD_H + /* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR +/* Enable lzlib compression support */ +#undef LZLIBSUPPORT + /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #undef MAJOR_IN_MKDEV @@ -425,6 +443,9 @@ /* Enable zlib compression support */ #undef ZLIBSUPPORT +/* Enable zstdlib compression support */ +#undef ZSTDLIBSUPPORT + /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS diff --git a/contrib/file/config.sub b/contrib/file/config.sub index d74fb6deac94..f6564f2885d4 100755 --- a/contrib/file/config.sub +++ b/contrib/file/config.sub @@ -1219,6 +1219,7 @@ case $cpu-$vendor in | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ + | mipsn64eb | mipsn64el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa32r3 | mipsisa32r3el \ diff --git a/contrib/file/configure b/contrib/file/configure index 143ccc5bbacb..8043072f56f7 100755 --- a/contrib/file/configure +++ b/contrib/file/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for file 5.43. +# Generated by GNU Autoconf 2.71 for file 5.45. # # Report bugs to . # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='file' PACKAGE_TARNAME='file' -PACKAGE_VERSION='5.43' -PACKAGE_STRING='file 5.43' +PACKAGE_VERSION='5.45' +PACKAGE_STRING='file 5.45' PACKAGE_BUGREPORT='christos@astron.com' PACKAGE_URL='' @@ -800,6 +800,8 @@ enable_elf_core enable_zlib enable_bzlib enable_xzlib +enable_zstdlib +enable_lzlib enable_libseccomp enable_fsect_man5 enable_dependency_tracking @@ -1371,7 +1373,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures file 5.43 to adapt to many kinds of systems. +\`configure' configures file 5.45 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1442,7 +1444,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of file 5.43:";; + short | recursive ) echo "Configuration of file 5.45:";; esac cat <<\_ACEOF @@ -1458,6 +1460,9 @@ Optional Features: --disable-bzlib disable bz2lib compression support [default=auto] --disable-xzlib disable liblzma/xz compression support [default=auto] + --disable-zstdlib disable zstdlib compression support [default=auto] + --disable-lzlib disable liblz (lzip) compression support + [default=auto] --disable-libseccomp disable libseccomp sandboxing [default=auto] --enable-fsect-man5 enable file formats in man section 5 --enable-dependency-tracking @@ -1562,7 +1567,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -file configure 5.43 +file configure 5.45 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2129,7 +2134,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by file $as_me 5.43, which was +It was created by file $as_me 5.45, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3405,7 +3410,7 @@ fi # Define the identity of the package. PACKAGE='file' - VERSION='5.43' + VERSION='5.45' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -3641,6 +3646,28 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_xzlib" >&5 printf "%s\n" "$enable_xzlib" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zstdlib support" >&5 +printf %s "checking for zstdlib support... " >&6; } +# Check whether --enable-zstdlib was given. +if test ${enable_zstdlib+y} +then : + enableval=$enable_zstdlib; +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_zstdlib" >&5 +printf "%s\n" "$enable_zstdlib" >&6; } + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lzlib support" >&5 +printf %s "checking for lzlib support... " >&6; } +# Check whether --enable-lzlib was given. +if test ${enable_lzlib+y} +then : + enableval=$enable_lzlib; +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_lzlib" >&5 +printf "%s\n" "$enable_lzlib" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libseccomp support" >&5 printf %s "checking for libseccomp support... " >&6; } # Check whether --enable-libseccomp was given. @@ -13665,6 +13692,30 @@ then : fi +fi +if test "$enable_zstdlib" != "no"; then + ac_fn_c_check_header_compile "$LINENO" "zstd.h" "ac_cv_header_zstd_h" "$ac_includes_default" +if test "x$ac_cv_header_zstd_h" = xyes +then : + printf "%s\n" "#define HAVE_ZSTD_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "zstd_errors.h" "ac_cv_header_zstd_errors_h" "$ac_includes_default" +if test "x$ac_cv_header_zstd_errors_h" = xyes +then : + printf "%s\n" "#define HAVE_ZSTD_ERRORS_H 1" >>confdefs.h + +fi + +fi +if test "$enable_lzlib" != "no"; then + ac_fn_c_check_header_compile "$LINENO" "lzlib.h" "ac_cv_header_lzlib_h" "$ac_includes_default" +if test "x$ac_cv_header_lzlib_h" = xyes +then : + printf "%s\n" "#define HAVE_LZLIB_H 1" >>confdefs.h + +fi + fi ac_fn_c_check_type "$LINENO" "sig_t" "ac_cv_type_sig_t" "#include " @@ -14037,13 +14088,14 @@ else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include +#include int main (void) { #if !HAVE_DECL_DAYLIGHT extern int daylight; #endif -atoi(daylight); +daylight = atoi("1"); ; return 0; } @@ -15459,6 +15511,96 @@ then : fi +fi +if test "$enable_zstdlib" != "no"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ZSTD_createDStream in -lzstd" >&5 +printf %s "checking for ZSTD_createDStream in -lzstd... " >&6; } +if test ${ac_cv_lib_zstd_ZSTD_createDStream+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lzstd $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char ZSTD_createDStream (); +int +main (void) +{ +return ZSTD_createDStream (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_zstd_ZSTD_createDStream=yes +else $as_nop + ac_cv_lib_zstd_ZSTD_createDStream=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zstd_ZSTD_createDStream" >&5 +printf "%s\n" "$ac_cv_lib_zstd_ZSTD_createDStream" >&6; } +if test "x$ac_cv_lib_zstd_ZSTD_createDStream" = xyes +then : + printf "%s\n" "#define HAVE_LIBZSTD 1" >>confdefs.h + + LIBS="-lzstd $LIBS" + +fi + +fi +if test "$enable_lzlib" != "no"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LZ_decompress_open in -llz" >&5 +printf %s "checking for LZ_decompress_open in -llz... " >&6; } +if test ${ac_cv_lib_lz_LZ_decompress_open+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-llz $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char LZ_decompress_open (); +int +main (void) +{ +return LZ_decompress_open (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_lz_LZ_decompress_open=yes +else $as_nop + ac_cv_lib_lz_LZ_decompress_open=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lz_LZ_decompress_open" >&5 +printf "%s\n" "$ac_cv_lib_lz_LZ_decompress_open" >&6; } +if test "x$ac_cv_lib_lz_LZ_decompress_open" = xyes +then : + printf "%s\n" "#define HAVE_LIBLZ 1" >>confdefs.h + + LIBS="-llz $LIBS" + +fi + fi if test "$enable_libseccomp" != "no"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for seccomp_init in -lseccomp" >&5 @@ -15591,6 +15733,26 @@ if test "$ac_cv_header_lzma_h$ac_cv_lib_lzma_lzma_stream_decoder" = "yesyes"; t printf "%s\n" "#define XZLIBSUPPORT 1" >>confdefs.h +fi +if test "$enable_zstdlib" = "yes"; then + if test "$ac_cv_header_zstd_h$ac_cv_lib_zstd_ZSTD_createDStream" != "yesyes"; then + as_fn_error $? "zstdlib support requested but not found" "$LINENO" 5 + fi +fi +if test "$ac_cv_header_zstd_h$ac_cv_lib_zstd_ZSTD_createDStream" = "yesyes"; then + +printf "%s\n" "#define ZSTDLIBSUPPORT 1" >>confdefs.h + +fi +if test "$enable_lzlib" = "yes"; then + if test "$ac_cv_header_lzlib_h$ac_cv_lib_lz_LZ_decompress_open" != "yesyes"; then + as_fn_error $? "lzlib support requested but not found" "$LINENO" 5 + fi +fi +if test "$ac_cv_header_lzlib_h$ac_cv_lib_lz_LZ_decompress_open" = "yesyes"; then + +printf "%s\n" "#define LZLIBSUPPORT 1" >>confdefs.h + fi ac_config_files="$ac_config_files Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile libmagic.pc" @@ -16131,7 +16293,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by file $as_me 5.43, which was +This file was extended by file $as_me 5.45, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16199,7 +16361,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -file config.status 5.43 +file config.status 5.45 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/contrib/file/configure.ac b/contrib/file/configure.ac index 6629300fd021..aa728badb1b7 100644 --- a/contrib/file/configure.ac +++ b/contrib/file/configure.ac @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([file],[5.43],[christos@astron.com]) +AC_INIT([file],[5.45],[christos@astron.com]) AM_INIT_AUTOMAKE([subdir-objects foreign]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) @@ -49,6 +49,16 @@ AC_ARG_ENABLE([xzlib], [AS_HELP_STRING([--disable-xzlib], [disable liblzma/xz compression support @<:@default=auto@:>@])]) AC_MSG_RESULT($enable_xzlib) +AC_MSG_CHECKING(for zstdlib support) +AC_ARG_ENABLE([zstdlib], +[AS_HELP_STRING([--disable-zstdlib], [disable zstdlib compression support @<:@default=auto@:>@])]) +AC_MSG_RESULT($enable_zstdlib) + +AC_MSG_CHECKING(for lzlib support) +AC_ARG_ENABLE([lzlib], +[AS_HELP_STRING([--disable-lzlib], [disable liblz (lzip) compression support @<:@default=auto@:>@])]) +AC_MSG_RESULT($enable_lzlib) + AC_MSG_CHECKING(for libseccomp support) AC_ARG_ENABLE([libseccomp], [AS_HELP_STRING([--disable-libseccomp], [disable libseccomp sandboxing @<:@default=auto@:>@])]) @@ -112,6 +122,12 @@ fi if test "$enable_xzlib" != "no"; then AC_CHECK_HEADERS(lzma.h) fi +if test "$enable_zstdlib" != "no"; then + AC_CHECK_HEADERS(zstd.h zstd_errors.h) +fi +if test "$enable_lzlib" != "no"; then + AC_CHECK_HEADERS(lzlib.h) +fi AC_CHECK_TYPE([sig_t],[AC_DEFINE([HAVE_SIG_T],1,[Have sig_t type])],,[#include ]) dnl Checks for typedefs, structures, and compiler characteristics. @@ -180,6 +196,12 @@ fi if test "$enable_xzlib" != "no"; then AC_CHECK_LIB(lzma, lzma_stream_decoder) fi +if test "$enable_zstdlib" != "no"; then + AC_CHECK_LIB(zstd, ZSTD_createDStream) +fi +if test "$enable_lzlib" != "no"; then + AC_CHECK_LIB(lz, LZ_decompress_open) +fi if test "$enable_libseccomp" != "no"; then AC_CHECK_LIB(seccomp, seccomp_init) fi @@ -215,6 +237,22 @@ fi if test "$ac_cv_header_lzma_h$ac_cv_lib_lzma_lzma_stream_decoder" = "yesyes"; then AC_DEFINE([XZLIBSUPPORT], 1, [Enable xzlib compression support]) fi +if test "$enable_zstdlib" = "yes"; then + if test "$ac_cv_header_zstd_h$ac_cv_lib_zstd_ZSTD_createDStream" != "yesyes"; then + AC_MSG_ERROR([zstdlib support requested but not found]) + fi +fi +if test "$ac_cv_header_zstd_h$ac_cv_lib_zstd_ZSTD_createDStream" = "yesyes"; then + AC_DEFINE([ZSTDLIBSUPPORT], 1, [Enable zstdlib compression support]) +fi +if test "$enable_lzlib" = "yes"; then + if test "$ac_cv_header_lzlib_h$ac_cv_lib_lz_LZ_decompress_open" != "yesyes"; then + AC_MSG_ERROR([lzlib support requested but not found]) + fi +fi +if test "$ac_cv_header_lzlib_h$ac_cv_lib_lz_LZ_decompress_open" = "yesyes"; then + AC_DEFINE([LZLIBSUPPORT], 1, [Enable lzlib compression support]) +fi AC_CONFIG_FILES([Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile libmagic.pc]) AC_OUTPUT diff --git a/contrib/file/doc/file.man b/contrib/file/doc/file.man index 91470b8e199d..b9580a970dc1 100644 --- a/contrib/file/doc/file.man +++ b/contrib/file/doc/file.man @@ -1,5 +1,5 @@ -.\" $File: file.man,v 1.146 2022/10/26 16:56:14 christos Exp $ -.Dd October 26, 2022 +.\" $File: file.man,v 1.150 2023/05/21 17:08:34 christos Exp $ +.Dd May 21, 2023 .Dt FILE __CSECTION__ .Os .Sh NAME @@ -224,6 +224,8 @@ elf magic is found. Examines JSON (RFC-7159) files by parsing them for compliance. .It soft Consults magic files. +.It simh +Examines SIMH tape files. .It tar Examines tar files by verifying the checksum of the 512 byte tar header. Excluding this test can provide more detailed content description by using @@ -337,16 +339,17 @@ attempt to preserve the access time of files analyzed, to pretend that never read them. .It Fl P , Fl Fl parameter Ar name=value Set various parameter limits. -.Bl -column "elf_phnum" "Default" "XXXXXXXXXXXXXXXXXXXXXXXXXXX" -offset indent +.Bl -column "elf_phnum" "Default" "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" .It Sy "Name" Ta Sy "Default" Ta Sy "Explanation" -.It Li bytes Ta 1048576 Ta max number of bytes to read from file +.It Li bytes Ta 1M Ta max number of bytes to read from file .It Li elf_notes Ta 256 Ta max ELF notes processed -.It Li elf_phnum Ta 2048 Ta max ELF program sections processed -.It Li elf_shnum Ta 32768 Ta max ELF sections processed -.It Li encoding Ta 65536 Ta max number of bytes to scan for encoding evaluation +.It Li elf_phnum Ta 2K Ta max ELF program sections processed +.It Li elf_shnum Ta 32K Ta max ELF sections processed +.It Li elf_shsize Ta 128MB Ta max ELF section size processed +.It Li encoding Ta 65K Ta max number of bytes to determine encoding .It Li indir Ta 50 Ta recursion limit for indirect magic .It Li name Ta 50 Ta use count limit for name/use magic -.It Li regex Ta 8192 Ta length limit for regex searches +.It Li regex Ta 8K Ta length limit for regex searches .El .It Fl r , Fl Fl raw Don't translate unprintable characters to \eooo. @@ -728,7 +731,7 @@ variable in file.h), then we don't seek to that offset, but we give up. It would be better if buffer managements was done when the file descriptor is available so we can seek around the file. One must be careful though because this has performance and thus security -considerations, because one can slow down things by repeateadly seeking. +considerations, because one can slow down things by repeatedly seeking. .Pp There is support now for keeping separate buffers and having offsets from the end of the file, but the internal buffer management still needs an diff --git a/contrib/file/doc/libmagic.man b/contrib/file/doc/libmagic.man index b0cf0339f19d..e89c6ee0bfac 100644 --- a/contrib/file/doc/libmagic.man +++ b/contrib/file/doc/libmagic.man @@ -1,6 +1,6 @@ -.\" $File: libmagic.man,v 1.45 2019/06/08 22:16:24 christos Exp $ +.\" $File: libmagic.man,v 1.49 2023/07/20 14:32:07 christos Exp $ .\" -.\" Copyright (c) Christos Zoulas 2003, 2018. +.\" Copyright (c) Christos Zoulas 2003, 2018, 2022 .\" All Rights Reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 8, 2019 +.Dd June 16, 2023 .Dt LIBMAGIC 3 .Os .Sh NAME @@ -84,6 +84,8 @@ .Fn magic_setparam "magic_t cookie" "int param" "const void *value" .Ft int .Fn magic_version "void" +.Ft const char * +.Fn magic_getpath "const char *magicfile" "int action" .Sh DESCRIPTION These functions operate on the magic database file @@ -143,6 +145,8 @@ Don't report on compression, only report about the uncompressed data. Don't check for .Dv EMX application type (only on EMX). +.It Dv MAGIC_NO_COMPRESS_FORK +Don't allow decompressors that use fork. .It Dv MAGIC_NO_CHECK_CDF Don't get extra information on MS Composite Document Files. .It Dv MAGIC_NO_CHECK_COMPRESS @@ -163,6 +167,8 @@ Don't look for known tokens inside ascii files. Don't examine JSON files. .It Dv MAGIC_NO_CHECK_CSV Don't examine CSV files. +.It Dv MAGIC_NO_CHECK_SIMH +Don't examine SIMH tape files. .El .Pp The @@ -343,6 +349,20 @@ from .In magic.h . This can be used by client programs to verify that the version they compile against is the same as the version that they run against. +.Pp +The +.Fn magic_getpath +command returns the colon separated list of magic database locations. +If the +.Fa filename +is non-NULL, then it is returned. +Otherwise, if the +.Dv MAGIC +environment variable is defined, then it is returned. +Otherwise, if +.Fa action +is 0 (meaning "file load"), then any user-specific magic database file is included. +Otherwise, only the system default magic database path is included. .Sh RETURN VALUES The function .Fn magic_open diff --git a/contrib/file/doc/magic.man b/contrib/file/doc/magic.man index d38b0e0b4019..af4bfa89c6bd 100644 --- a/contrib/file/doc/magic.man +++ b/contrib/file/doc/magic.man @@ -1,5 +1,5 @@ -.\" $File: magic.man,v 1.100 2022/09/10 13:19:26 christos Exp $ -.Dd September 10, 2022 +.\" $File: magic.man,v 1.103 2023/07/20 14:32:07 christos Exp $ +.Dd Arpil 18, 2023 .Dt MAGIC __FSECTION__ .Os .\" install as magic.4 on USG, magic.5 on V7, Berkeley and Linux systems. @@ -68,54 +68,52 @@ A 32-bit single precision IEEE floating point number in this machine's native by A 64-bit double precision IEEE floating point number in this machine's native byte order. .It Dv string A string of bytes. -The string type specification can be optionally followed *** 14628 LINES SKIPPED ***