Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/bsd/file/dist Import 5.38:



details:   https://anonhg.NetBSD.org/src/rev/031c35a4ebed
branches:  trunk
changeset: 847294:031c35a4ebed
user:      christos <christos%NetBSD.org@localhost>
date:      Tue Dec 17 02:23:53 2019 +0000

description:
Import 5.38:
        - Always accept -S (no sandbox) even if we don't support sandboxing
        - More syscalls elided for sandboxiing
        - 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
          own storage.
        - Add a flag to disable CSV file detection.
        - Don't pass NULL/0 to memset to appease sanitizers.
        - Avoid spurious prints when looks for extensions or apple strings
          in fsmagic.
        - Add builtin decompressors for xz and and bzip.
        - Add a limit for the number of CDF elements.
        - More checks for overflow in CDF.

diffstat:

 external/bsd/file/dist/README                        |     7 +-
 external/bsd/file/dist/ltmain.sh                     |  5827 +++++++++++------
 external/bsd/file/dist/m4/libtool.m4                 |  2583 ++++---
 external/bsd/file/dist/m4/ltoptions.m4               |   127 +-
 external/bsd/file/dist/m4/ltsugar.m4                 |     7 +-
 external/bsd/file/dist/m4/ltversion.m4               |    12 +-
 external/bsd/file/dist/m4/lt~obsolete.m4             |     7 +-
 external/bsd/file/dist/magic/magdir/android          |    16 +-
 external/bsd/file/dist/magic/magdir/animation        |    89 +-
 external/bsd/file/dist/magic/magdir/audio            |    49 +-
 external/bsd/file/dist/magic/magdir/bsi              |     2 +-
 external/bsd/file/dist/magic/magdir/c-lang           |     4 +-
 external/bsd/file/dist/magic/magdir/cad              |   187 +-
 external/bsd/file/dist/magic/magdir/commands         |     5 +-
 external/bsd/file/dist/magic/magdir/compress         |    20 +-
 external/bsd/file/dist/magic/magdir/console          |    95 +-
 external/bsd/file/dist/magic/magdir/database         |    37 +-
 external/bsd/file/dist/magic/magdir/espressif        |     4 +-
 external/bsd/file/dist/magic/magdir/fonts            |    56 +-
 external/bsd/file/dist/magic/magdir/forth            |    80 +
 external/bsd/file/dist/magic/magdir/frame            |    24 +-
 external/bsd/file/dist/magic/magdir/games            |     6 +-
 external/bsd/file/dist/magic/magdir/gimp             |    32 +-
 external/bsd/file/dist/magic/magdir/git              |    13 +
 external/bsd/file/dist/magic/magdir/icc              |     4 +-
 external/bsd/file/dist/magic/magdir/images           |   290 +-
 external/bsd/file/dist/magic/magdir/javascript       |     7 +-
 external/bsd/file/dist/magic/magdir/linux            |     7 +-
 external/bsd/file/dist/magic/magdir/macintosh        |    39 +-
 external/bsd/file/dist/magic/magdir/mail.news        |    13 +-
 external/bsd/file/dist/magic/magdir/map              |    79 +-
 external/bsd/file/dist/magic/magdir/modulefile       |     9 +
 external/bsd/file/dist/magic/magdir/msdos            |   284 +-
 external/bsd/file/dist/magic/magdir/msooxml          |     4 +-
 external/bsd/file/dist/magic/magdir/ole2compounddocs |   484 +-
 external/bsd/file/dist/magic/magdir/openfst          |    17 +
 external/bsd/file/dist/magic/magdir/opentimestamps   |    16 +
 external/bsd/file/dist/magic/magdir/pdf              |     8 +-
 external/bsd/file/dist/magic/magdir/pmem             |    46 +
 external/bsd/file/dist/magic/magdir/python           |    25 +-
 external/bsd/file/dist/magic/magdir/rpi              |    16 +-
 external/bsd/file/dist/magic/magdir/rst              |    11 +
 external/bsd/file/dist/magic/magdir/ruby             |     6 +-
 external/bsd/file/dist/magic/magdir/sgml             |     6 +-
 external/bsd/file/dist/magic/magdir/sniffer          |     8 +-
 external/bsd/file/dist/magic/magdir/sosi             |    40 +
 external/bsd/file/dist/magic/magdir/ssh              |     6 +
 external/bsd/file/dist/magic/magdir/uuencode         |     7 +-
 external/bsd/file/dist/magic/magdir/varied.script    |    10 +-
 external/bsd/file/dist/magic/magdir/vax              |    19 +-
 external/bsd/file/dist/magic/magdir/windows          |   122 +-
 external/bsd/file/dist/magic/magdir/wordprocessors   |    50 +-
 external/bsd/file/dist/magic/magdir/zip              |     4 +-
 external/bsd/file/dist/src/Makefile.am               |     4 +-
 external/bsd/file/dist/src/ascmagic.c                |     7 +-
 external/bsd/file/dist/src/buffer.c                  |     7 +-
 external/bsd/file/dist/src/cdf.h                     |     3 +-
 external/bsd/file/dist/src/file_opts.h               |     9 +-
 external/bsd/file/dist/src/is_csv.c                  |   203 +
 external/bsd/file/dist/src/magic.h.in                |     2 +
 external/bsd/file/dist/src/seccomp.c                 |    28 +-
 external/bsd/file/dist/src/vasprintf.c               |     8 +-
 external/bsd/file/dist/tests/JW07022A.mp3.result     |     2 +-
 external/bsd/file/dist/tests/test.c                  |     6 +-
 64 files changed, 7497 insertions(+), 3708 deletions(-)

diffs (truncated from 19563 to 300 lines):

diff -r afa3b3140326 -r 031c35a4ebed external/bsd/file/dist/README
--- a/external/bsd/file/dist/README     Tue Dec 17 01:37:52 2019 +0000
+++ b/external/bsd/file/dist/README     Tue Dec 17 02:23:53 2019 +0000
@@ -1,6 +1,6 @@
 ## README for file(1) Command and the libmagic(3) library ##
 
-    @(#) $File: README,v 1.57 2019/02/06 00:20:56 christos Exp $
+    @(#) $File: README,v 1.59 2019/09/19 01:04:01 christos Exp $
 
 Mailing List: file%astron.com@localhost
 Mailing List archives: http://mailman.astron.com/pipermail/file/
@@ -24,6 +24,10 @@
 
        https://github.com/file/file
 
+We are continuously being fuzzed by OSS-FUZZ:
+
+       https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:file
+
 The major changes for 5.x are CDF file parsing, indirect magic, name/use
 (recursion) and overhaul in mime and ascii encoding handling.
 
@@ -91,6 +95,7 @@
 src/getline.c - replacement for OS's that don't have it.
 src/getopt_long.c - replacement for OS's that don't have it.
 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_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.
diff -r afa3b3140326 -r 031c35a4ebed external/bsd/file/dist/ltmain.sh
--- a/external/bsd/file/dist/ltmain.sh  Tue Dec 17 01:37:52 2019 +0000
+++ b/external/bsd/file/dist/ltmain.sh  Tue Dec 17 02:23:53 2019 +0000
@@ -1,9 +1,12 @@
-
-# libtool (GNU libtool) 2.4.2
+#! /bin/sh
+## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
+##               by inline-source v2014-01-03.01
+
+# libtool (GNU libtool) 2.4.6
+# Provide generalized library-building support services.
 # Written by Gordon Matzigkeit <gord%gnu.ai.mit.edu@localhost>, 1996
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
 # This is free software; see the source for copying conditions.  There is NO
 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
@@ -23,167 +26,673 @@
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# Usage: $progname [OPTION]... [MODE-ARG]...
-#
-# Provide generalized library-building support services.
-#
-#       --config             show all configuration variables
-#       --debug              enable verbose shell tracing
-#   -n, --dry-run            display commands without modifying any files
-#       --features           display basic configuration information and exit
-#       --mode=MODE          use operation mode MODE
-#       --preserve-dup-deps  don't remove duplicate dependency libraries
-#       --quiet, --silent    don't print informational messages
-#       --no-quiet, --no-silent
-#                            print informational messages (default)
-#       --no-warn            don't display warning messages
-#       --tag=TAG            use configuration variables from tag TAG
-#   -v, --verbose            print more informational messages than default
-#       --no-verbose         don't print the extra informational messages
-#       --version            print version information
-#   -h, --help, --help-all   print short, long, or detailed help message
-#
-# MODE must be one of the following:
-#
-#         clean              remove files from the build directory
-#         compile            compile a source file into a libtool object
-#         execute            automatically set library path, then run a program
-#         finish             complete the installation of libtool libraries
-#         install            install libraries or executables
-#         link               create a library or an executable
-#         uninstall          remove libraries from an installed directory
-#
-# MODE-ARGS vary depending on the MODE.  When passed as first option,
-# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
-# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-#
-# When reporting a bug, please describe a test case to reproduce it and
-# include the following information:
-#
-#         host-triplet:        $host
-#         shell:               $SHELL
-#         compiler:            $LTCC
-#         compiler flags:              $LTCFLAGS
-#         linker:              $LD (gnu? $with_gnu_ld)
-#         $progname:   (GNU libtool) 2.4.2
-#         automake:    $automake_version
-#         autoconf:    $autoconf_version
-#
-# Report bugs to <bug-libtool%gnu.org@localhost>.
-# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
-# General help using GNU software: <http://www.gnu.org/gethelp/>.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION=2.4.2
-TIMESTAMP=""
-package_revision=1.3337
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+VERSION=2.4.6
+package_revision=2.4.6
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Run './libtool --help' for help with using this script from the
+# command line.
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# After configure completes, it has a better idea of some of the
+# shell tools we need than the defaults used by the functions shared
+# with bootstrap, so set those here where they can still be over-
+# ridden by the user, but otherwise take precedence.
+
+: ${AUTOCONF="autoconf"}
+: ${AUTOMAKE="automake"}
+
+
+## -------------------------- ##
+## Source external libraries. ##
+## -------------------------- ##
+
+# Much of our low-level functionality needs to be sourced from external
+# libraries, which are installed to $pkgauxdir.
+
+# Set a version string for this script.
+scriptversion=2015-01-20.17; # UTC
+
+# General shell script boiler plate, and helper functions.
+# Written by Gary V. Vaughan, 2004
+
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+
+# As a special exception to the GNU General Public License, if you distribute
+# this file as part of a program or library that is built using GNU Libtool,
+# you may include this file under the same distribution terms that you use
+# for the rest of that program.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary%gnu.org@localhost.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Evaluate this file near the top of your script to gain access to
+# the functions and variables defined here:
+#
+#   . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
+#
+# If you need to override any of the default environment variable
+# settings, do that before evaluating this file.
+
+
+## -------------------- ##
+## Shell normalisation. ##
+## -------------------- ##
+
+# Some shells need a little help to be as Bourne compatible as possible.
+# Before doing anything else, make sure all that help has been provided!
+
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
   NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
 fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-}
-
-# NLS nuisances: We save the old values to restore during execute mode.
-lt_user_locale=
-lt_safe_locale=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+
+# NLS nuisances: We save the old values in case they are required later.
+_G_user_locale=
+_G_safe_locale=
+for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
 do
-  eval "if test \"\${$lt_var+set}\" = set; then
-          save_$lt_var=\$$lt_var
-          $lt_var=C
-         export $lt_var
-         lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
-         lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+  eval "if test set = \"\${$_G_var+set}\"; then
+          save_$_G_var=\$$_G_var
+          $_G_var=C
+         export $_G_var
+         _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
+         _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
        fi"
 done
-LC_ALL=C
-LANGUAGE=C
-export LANGUAGE LC_ALL
-
-$lt_unset CDPATH
-
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Make sure IFS has a sensible default
+sp=' '
+nl='
+'
+IFS="$sp       $nl"
+
+# There are apparently some retarded systems that use ';' as a PATH separator!
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+
+## ------------------------- ##
+## Locate command utilities. ##
+## ------------------------- ##
+
+
+# func_executable_p FILE
+# ----------------------
+# Check that FILE is an executable regular file.
+func_executable_p ()
+{
+    test -f "$1" && test -x "$1"
+}
+
+
+# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
+# --------------------------------------------
+# Search for either a program that responds to --version with output
+# containing "GNU", or else returned by CHECK_FUNC otherwise, by
+# trying all the directories in PATH with each of the elements of
+# PROGS_LIST.
+#
+# CHECK_FUNC should accept the path to a candidate program, and
+# set $func_check_prog_result if it truncates its output less than



Home | Main Index | Thread Index | Old Index