Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Sep 2023 22:02:08 GMT
From:      Xin LI <delphij@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: acdad1f1cb47 - stable/14 - MFC: MFV: file 5.45.
Message-ID:  <202309142202.38EM28Uc089419@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/14 has been updated by delphij:

URL: https://cgit.FreeBSD.org/src/commit/?id=acdad1f1cb471aacbd7c372af9a79d6b3467ca93

commit acdad1f1cb471aacbd7c372af9a79d6b3467ca93
Author:     Xin LI <delphij@FreeBSD.org>
AuthorDate: 2023-09-10 19:20:33 +0000
Commit:     Xin LI <delphij@FreeBSD.org>
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 <christos@zoulas.com>
+
+	* release 5.45
+
+2023-07-17  11:53  Christos Zoulas <christos@zoulas.com>
+
+	* PR/465: psrok1: Avoid muslc asctime_r crash
+
+2023-05-21  13:05  Christos Zoulas <christos@zoulas.com>
+	
+	* add SIMH tape format support
+
+2023-02-09  12:50  Christos Zoulas <christos@zoulas.com>
+	
+	* 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 <christos@zoulas.com>
+
+	* PR/415: Fix decompression with program returning empty
+
+2022-12-26   1:47  Christos Zoulas <christos@zoulas.com>
+
+	* PR/408: fix -p with seccomp
+	* PR/412: fix MinGW compilation
+
+2022-12-26  12:26  Christos Zoulas <christos@zoulas.com>
+
+	* release 5.44
+
+2022-12-14   9:24  Christos Zoulas <christos@zoulas.com>
+
+	* 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 <christos@zoulas.com>
+
+	* PR/397: Restore the ability to process files from stdin immediately.
+
+2022-09-20  17:12  Christos Zoulas <christos@zoulas.com>
+
+	* fixed various clustefuzz issues
+
+2022-09-19  15:54  Christos Zoulas <christos@zoulas.com>
+
+	* Fix error detection for decompression code (Vincent Mihalkovic)
+
+2022-09-15  13:50  Christos Zoulas <christos@zoulas.com>
+
+	* 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 <christos@zoulas.com>
+
+	* Add built-in lzip decompression support (Michal Gorny)
+
+2022-09-14  10:35  Christos Zoulas <christos@zoulas.com>
+
+	* Add built-in zstd decompression support (Martin Rodriguez Reboredo)
+
 2022-09-13  14:55  Christos Zoulas <christos@zoulas.com>
 
 	* release 5.43
@@ -229,7 +289,7 @@
 2019-12-15  22:13  Christos Zoulas <christos@zoulas.com>
     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 <christos@astron.com>
 
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: <https://bugs.astron.com/>;
 - Build Status: <https://travis-ci.org/file/file>;
@@ -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 <time.h>
 #include <stdlib.h>])
 AC_CACHE_CHECK(for daylight, ac_cv_var_daylight,
 [AC_LINK_IFELSE(
-[AC_LANG_PROGRAM([#include <time.h>],
+[AC_LANG_PROGRAM([#include <time.h>
+#include <stdlib.h>],
 [#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 <lzlib.h> header file. */
+#undef HAVE_LZLIB_H
+
 /* Define to 1 if you have the <lzma.h> header file. */
 #undef HAVE_LZMA_H
 
@@ -276,9 +285,18 @@
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
+/* Define to 1 if you have the <zstd_errors.h> header file. */
+#undef HAVE_ZSTD_ERRORS_H
+
+/* Define to 1 if you have the <zstd.h> 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 <mkdev.h>.
    */
 #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 <christos@astron.com>.
 #
@@ -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 <signal.h>
 "
@@ -14037,13 +14088,14 @@ else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <time.h>
+#include <stdlib.h>
 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 <signal.h>])
 
 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 ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202309142202.38EM28Uc089419>