Module Name: src
Committed By: christos
Date: Fri Sep 8 13:40:25 UTC 2017
Modified Files:
src/external/bsd/file/dist: ChangeLog Makefile.in config.guess
config.sub configure configure.ac
src/external/bsd/file/dist/doc: file.1 libmagic.3 magic.5
src/external/bsd/file/dist/magic: Makefile.am Makefile.in
src/external/bsd/file/dist/magic/magdir: archive filesystems
src/external/bsd/file/dist/src: apprentice.c cdf.c compress.c file.h
fsmagic.c funcs.c magic.c readelf.c softmagic.c
src/external/bsd/file/dist/tests: Makefile.in
src/external/bsd/file/include: config.h
Log Message:
merge file-5.32
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/bsd/file/dist/ChangeLog
cvs rdiff -u -r1.14 -r1.15 src/external/bsd/file/dist/Makefile.in
cvs rdiff -u -r1.9 -r1.10 src/external/bsd/file/dist/config.guess
cvs rdiff -u -r1.8 -r1.9 src/external/bsd/file/dist/config.sub
cvs rdiff -u -r1.17 -r1.18 src/external/bsd/file/dist/configure
cvs rdiff -u -r1.13 -r1.14 src/external/bsd/file/dist/configure.ac
cvs rdiff -u -r1.19 -r1.20 src/external/bsd/file/dist/doc/file.1
cvs rdiff -u -r1.15 -r1.16 src/external/bsd/file/dist/doc/libmagic.3
cvs rdiff -u -r1.16 -r1.17 src/external/bsd/file/dist/doc/magic.5
cvs rdiff -u -r1.13 -r1.14 src/external/bsd/file/dist/magic/Makefile.am
cvs rdiff -u -r1.16 -r1.17 src/external/bsd/file/dist/magic/Makefile.in
cvs rdiff -u -r1.12 -r1.13 src/external/bsd/file/dist/magic/magdir/archive \
src/external/bsd/file/dist/magic/magdir/filesystems
cvs rdiff -u -r1.18 -r1.19 src/external/bsd/file/dist/src/apprentice.c
cvs rdiff -u -r1.14 -r1.15 src/external/bsd/file/dist/src/cdf.c
cvs rdiff -u -r1.13 -r1.14 src/external/bsd/file/dist/src/compress.c
cvs rdiff -u -r1.16 -r1.17 src/external/bsd/file/dist/src/file.h \
src/external/bsd/file/dist/src/softmagic.c
cvs rdiff -u -r1.12 -r1.13 src/external/bsd/file/dist/src/fsmagic.c \
src/external/bsd/file/dist/src/funcs.c
cvs rdiff -u -r1.11 -r1.12 src/external/bsd/file/dist/src/magic.c
cvs rdiff -u -r1.15 -r1.16 src/external/bsd/file/dist/src/readelf.c
cvs rdiff -u -r1.11 -r1.12 src/external/bsd/file/dist/tests/Makefile.in
cvs rdiff -u -r1.10 -r1.11 src/external/bsd/file/include/config.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/bsd/file/dist/ChangeLog
diff -u src/external/bsd/file/dist/ChangeLog:1.5 src/external/bsd/file/dist/ChangeLog:1.6
--- src/external/bsd/file/dist/ChangeLog:1.5 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/ChangeLog Fri Sep 8 09:40:24 2017
@@ -1,3 +1,27 @@
+2017-09-02 11:53 Christos Zoulas <[email protected]>
+
+ * release 5.32
+
+2017-08-28 16:37 Christos Zoulas <[email protected]>
+
+ * Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski)
+
+2017-08-27 03:55 Christos Zoulas <[email protected]>
+
+ * Fix always true condition (Thomas Jarosch)
+
+2017-05-24 17:30 Christos Zoulas <[email protected]>
+
+ * pickier parsing of numeric values in magic files.
+
+2017-05-23 17:55 Christos Zoulas <[email protected]>
+
+ * PR/615 add magic_getflags()
+
+2017-05-23 13:55 Christos Zoulas <[email protected]>
+
+ * release 5.31
+
2017-03-17 20:32 Christos Zoulas <[email protected]>
* remove trailing spaces from magic files
@@ -417,7 +441,7 @@
`
2013-11-06 14:40 Christos Zoulas <[email protected]>
- * fix erroneous non-zero exit code from non-existant file and message
+ * fix erroneous non-zero exit code from non-existent file and message
2013-10-29 14:25 Christos Zoulas <[email protected]>
Index: src/external/bsd/file/dist/Makefile.in
diff -u src/external/bsd/file/dist/Makefile.in:1.14 src/external/bsd/file/dist/Makefile.in:1.15
--- src/external/bsd/file/dist/Makefile.in:1.14 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/Makefile.in Fri Sep 8 09:40:24 2017
@@ -327,8 +327,7 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = MAINT
-SUBDIRS = src
-#SUBDIRS = src magic tests doc python
+SUBDIRS = src magic tests doc python
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
Index: src/external/bsd/file/dist/config.guess
diff -u src/external/bsd/file/dist/config.guess:1.9 src/external/bsd/file/dist/config.guess:1.10
--- src/external/bsd/file/dist/config.guess:1.9 Fri Feb 10 12:53:24 2017
+++ src/external/bsd/file/dist/config.guess Fri Sep 8 09:40:24 2017
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2017 Free Software Foundation, Inc.
-timestamp='2015-03-04'
+timestamp='2017-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@ timestamp='2015-03-04'
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
#
# Please send patches to <[email protected]>.
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2017 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."
@@ -188,7 +188,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
# The Operating System including object format, if it has switched
# to ELF recently (or will in the future) and ABI.
case "${UNAME_MACHINE_ARCH}" in
- arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ earm*)
+ os=netbsdelf
+ ;;
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
@@ -900,7 +903,7 @@ EOF
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
@@ -923,7 +926,7 @@ EOF
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arc:Linux:*:* | arceb:Linux:*:*)
@@ -969,6 +972,9 @@ EOF
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
+ k1om:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
@@ -994,6 +1000,9 @@ EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
+ mips64el:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
openrisc*:Linux:*:*)
echo or1k-unknown-linux-${LIBC}
exit ;;
@@ -1026,6 +1035,9 @@ EOF
ppcle:Linux:*:*)
echo powerpcle-unknown-linux-${LIBC}
exit ;;
+ riscv32:Linux:*:* | riscv64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
@@ -1045,7 +1057,7 @@ EOF
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
@@ -1289,9 +1301,9 @@ EOF
UNAME_PROCESSOR=powerpc
fi
if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
case $UNAME_PROCESSOR in
Index: src/external/bsd/file/dist/config.sub
diff -u src/external/bsd/file/dist/config.sub:1.8 src/external/bsd/file/dist/config.sub:1.9
--- src/external/bsd/file/dist/config.sub:1.8 Fri Feb 10 12:53:24 2017
+++ src/external/bsd/file/dist/config.sub Fri Sep 8 09:40:24 2017
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2017 Free Software Foundation, Inc.
-timestamp='2015-03-08'
+timestamp='2017-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -67,7 +67,7 @@ Report bugs and patches to <config-patch
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2017 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."
@@ -117,7 +117,7 @@ case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
- kopensolaris*-gnu* | \
+ kopensolaris*-gnu* | cloudabi*-eabi* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -254,6 +254,7 @@ case $basic_machine in
| arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
+ | ba \
| be32 | be64 \
| bfin \
| c4x | c8051 | clipper \
@@ -521,7 +522,7 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
- asmjs)
+ asmjs)
basic_machine=asmjs-unknown
;;
aux)
@@ -1387,18 +1388,18 @@ case $os in
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* | -cloudabi* \
+ | -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -bitrig* | -openbsd* | -solidbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
@@ -1407,7 +1408,8 @@ case $os in
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
Index: src/external/bsd/file/dist/configure
diff -u src/external/bsd/file/dist/configure:1.17 src/external/bsd/file/dist/configure:1.18
--- src/external/bsd/file/dist/configure:1.17 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/configure Fri Sep 8 09:40:24 2017
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for file 5.31.
+# Generated by GNU Autoconf 2.69 for file 5.32.
#
# Report bugs to <[email protected]>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='file'
PACKAGE_TARNAME='file'
-PACKAGE_VERSION='5.31'
-PACKAGE_STRING='file 5.31'
+PACKAGE_VERSION='5.32'
+PACKAGE_STRING='file 5.32'
PACKAGE_BUGREPORT='[email protected]'
PACKAGE_URL=''
@@ -1332,7 +1332,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.31 to adapt to many kinds of systems.
+\`configure' configures file 5.32 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1402,7 +1402,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of file 5.31:";;
+ short | recursive ) echo "Configuration of file 5.32:";;
esac
cat <<\_ACEOF
@@ -1516,7 +1516,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-file configure 5.31
+file configure 5.32
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2172,7 +2172,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.31, which was
+It was created by file $as_me 5.32, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3060,7 +3060,7 @@ fi
# Define the identity of the package.
PACKAGE='file'
- VERSION='5.31'
+ VERSION='5.32'
cat >>confdefs.h <<_ACEOF
@@ -15108,7 +15108,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
# 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.31, which was
+This file was extended by file $as_me 5.32, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15174,7 +15174,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-file config.status 5.31
+file config.status 5.32
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
Index: src/external/bsd/file/dist/configure.ac
diff -u src/external/bsd/file/dist/configure.ac:1.13 src/external/bsd/file/dist/configure.ac:1.14
--- src/external/bsd/file/dist/configure.ac:1.13 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/configure.ac Fri Sep 8 09:40:24 2017
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT([file],[5.31],[[email protected]])
+AC_INIT([file],[5.32],[[email protected]])
AM_INIT_AUTOMAKE([subdir-objects foreign])
AM_MAINTAINER_MODE(disable)
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
Index: src/external/bsd/file/dist/doc/file.1
diff -u src/external/bsd/file/dist/doc/file.1:1.19 src/external/bsd/file/dist/doc/file.1:1.20
--- src/external/bsd/file/dist/doc/file.1:1.19 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/doc/file.1 Fri Sep 8 09:40:25 2017
@@ -1,4 +1,4 @@
-.\" $NetBSD: file.1,v 1.19 2017/05/25 00:11:26 christos Exp $
+.\" $NetBSD: file.1,v 1.20 2017/09/08 13:40:25 christos Exp $
.\"
.\" $File: file.man,v 1.125 2017/01/03 11:24:46 christos Exp $
.Dd October 19, 2016
@@ -28,7 +28,7 @@
.Nm
.Op Fl Fl help
.Sh DESCRIPTION
-This manual page documents version 5.31 of the
+This manual page documents version 5.32 of the
.Nm
command.
.Pp
Index: src/external/bsd/file/dist/doc/libmagic.3
diff -u src/external/bsd/file/dist/doc/libmagic.3:1.15 src/external/bsd/file/dist/doc/libmagic.3:1.16
--- src/external/bsd/file/dist/doc/libmagic.3:1.15 Fri Feb 10 12:53:24 2017
+++ src/external/bsd/file/dist/doc/libmagic.3 Fri Sep 8 09:40:25 2017
@@ -1,6 +1,6 @@
-.\" $NetBSD: libmagic.3,v 1.15 2017/02/10 17:53:24 christos Exp $
+.\" $NetBSD: libmagic.3,v 1.16 2017/09/08 13:40:25 christos Exp $
.\"
-.\" $File: libmagic.man,v 1.40 2016/03/31 17:51:12 christos Exp $
+.\" $File: libmagic.man,v 1.41 2017/05/23 21:54:07 christos Exp $
.\"
.\" Copyright (c) Christos Zoulas 2003.
.\" All Rights Reserved.
@@ -27,7 +27,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd September 11, 2015
+.Dd May 23, 2017
.Dt LIBMAGIC 3
.Os
.Sh NAME
@@ -37,6 +37,7 @@
.Nm magic_errno ,
.Nm magic_descriptor ,
.Nm magic_buffer ,
+.Nm magic_getflags ,
.Nm magic_setflags ,
.Nm magic_check ,
.Nm magic_compile ,
@@ -66,6 +67,8 @@
.Ft const char *
.Fn magic_buffer "magic_t cookie" "const void *buffer" "size_t length"
.Ft int
+.Fn magic_getflags "magic_t cookie"
+.Ft int
.Fn magic_setflags "magic_t cookie" "int flags"
.Ft int
.Fn magic_check "magic_t cookie" "const char *filename"
@@ -208,6 +211,12 @@ argument with
bytes size.
.Pp
The
+.Fn magic_getflags
+functions returns a value representing current
+.Ar flags
+set.
+.Pp
+The
.Fn magic_setflags
function sets the
.Ar flags
Index: src/external/bsd/file/dist/doc/magic.5
diff -u src/external/bsd/file/dist/doc/magic.5:1.16 src/external/bsd/file/dist/doc/magic.5:1.17
--- src/external/bsd/file/dist/doc/magic.5:1.16 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/doc/magic.5 Fri Sep 8 09:40:25 2017
@@ -1,4 +1,4 @@
-.\" $NetBSD: magic.5,v 1.16 2017/05/25 00:11:26 christos Exp $
+.\" $NetBSD: magic.5,v 1.17 2017/09/08 13:40:25 christos Exp $
.\"
.\" $File: magic.man,v 1.91 2017/02/12 15:30:08 christos Exp $
.Dd February 12, 2017
@@ -12,7 +12,7 @@
This manual page documents the format of magic files as
used by the
.Xr file 1
-command, version 5.31.
+command, version 5.32.
The
.Xr file 1
command identifies the type of a file using,
Index: src/external/bsd/file/dist/magic/Makefile.am
diff -u src/external/bsd/file/dist/magic/Makefile.am:1.13 src/external/bsd/file/dist/magic/Makefile.am:1.14
--- src/external/bsd/file/dist/magic/Makefile.am:1.13 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/magic/Makefile.am Fri Sep 8 09:40:25 2017
@@ -1,5 +1,5 @@
#
-# $File: Makefile.am,v 1.124 2017/04/11 14:52:15 christos Exp $
+# $File: Makefile.am,v 1.126 2017/08/10 11:01:38 christos Exp $
#
MAGIC_FRAGMENT_BASE = magdir
MAGIC_DIR = $(top_srcdir)/magic
@@ -35,6 +35,7 @@ $(MAGIC_FRAGMENT_DIR)/audio \
$(MAGIC_FRAGMENT_DIR)/basis \
$(MAGIC_FRAGMENT_DIR)/ber \
$(MAGIC_FRAGMENT_DIR)/bflt \
+$(MAGIC_FRAGMENT_DIR)/bhl \
$(MAGIC_FRAGMENT_DIR)/bioinformatics \
$(MAGIC_FRAGMENT_DIR)/blackberry \
$(MAGIC_FRAGMENT_DIR)/blcr \
@@ -98,6 +99,7 @@ $(MAGIC_FRAGMENT_DIR)/fsav \
$(MAGIC_FRAGMENT_DIR)/fusecompress \
$(MAGIC_FRAGMENT_DIR)/games \
$(MAGIC_FRAGMENT_DIR)/gcc \
+$(MAGIC_FRAGMENT_DIR)/gconv \
$(MAGIC_FRAGMENT_DIR)/geo \
$(MAGIC_FRAGMENT_DIR)/geos \
$(MAGIC_FRAGMENT_DIR)/gimp \
Index: src/external/bsd/file/dist/magic/Makefile.in
diff -u src/external/bsd/file/dist/magic/Makefile.in:1.16 src/external/bsd/file/dist/magic/Makefile.in:1.17
--- src/external/bsd/file/dist/magic/Makefile.in:1.16 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/magic/Makefile.in Fri Sep 8 09:40:25 2017
@@ -274,7 +274,7 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
#
-# $File: Makefile.am,v 1.124 2017/04/11 14:52:15 christos Exp $
+# $File: Makefile.am,v 1.126 2017/08/10 11:01:38 christos Exp $
#
MAGIC_FRAGMENT_BASE = magdir
MAGIC_DIR = $(top_srcdir)/magic
@@ -308,6 +308,7 @@ $(MAGIC_FRAGMENT_DIR)/audio \
$(MAGIC_FRAGMENT_DIR)/basis \
$(MAGIC_FRAGMENT_DIR)/ber \
$(MAGIC_FRAGMENT_DIR)/bflt \
+$(MAGIC_FRAGMENT_DIR)/bhl \
$(MAGIC_FRAGMENT_DIR)/bioinformatics \
$(MAGIC_FRAGMENT_DIR)/blackberry \
$(MAGIC_FRAGMENT_DIR)/blcr \
@@ -371,6 +372,7 @@ $(MAGIC_FRAGMENT_DIR)/fsav \
$(MAGIC_FRAGMENT_DIR)/fusecompress \
$(MAGIC_FRAGMENT_DIR)/games \
$(MAGIC_FRAGMENT_DIR)/gcc \
+$(MAGIC_FRAGMENT_DIR)/gconv \
$(MAGIC_FRAGMENT_DIR)/geo \
$(MAGIC_FRAGMENT_DIR)/geos \
$(MAGIC_FRAGMENT_DIR)/gimp \
Index: src/external/bsd/file/dist/magic/magdir/archive
diff -u src/external/bsd/file/dist/magic/magdir/archive:1.12 src/external/bsd/file/dist/magic/magdir/archive:1.13
--- src/external/bsd/file/dist/magic/magdir/archive:1.12 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/magic/magdir/archive Fri Sep 8 09:40:25 2017
@@ -1,5 +1,5 @@
#------------------------------------------------------------------------------
-# $File: archive,v 1.107 2017/03/20 19:51:15 christos Exp $
+# $File: archive,v 1.108 2017/08/30 13:45:10 christos Exp $
# archive: file(1) magic for archive formats (see also "msdos" for self-
# extracting compressed archives)
#
@@ -565,12 +565,12 @@
# check header level 0 1 2 3
>>>20 ubyte <4
# check 2nd, 3th and 4th character of method id
->>>>3 regex \^(lh[0-9a-ex]|lz[s2-8]|pm[012]|pc1) \b\040
+>>>>3 regex \^(lh[0-9a-ex]|lz[s2-8]|pm[012]|pc1) \b
!:mime application/x-lzh-compressed
# creator type "LHA "
!:apple ????LHA
# display archive type name like "LHa/LZS archive data" or "LArc archive"
->>>>>2 string -lz \b\040
+>>>>>2 string -lz \b
!:ext lzs
# already known -lzs- -lz4- -lz5- with old names
>>>>>>2 string -lzs LHa/LZS archive data
@@ -584,12 +584,12 @@
# LHice archiver use ".ICE" as name extension instead usual one ".lzh"
# FOOBAR archiver use ".foo" as name extension instead usual one
# "Florain Orjanov's and Olga Bachetska's ARchiver" not found at the moment
->>>>>>>2 string -lh1 \b\040
+>>>>>>>2 string -lh1 \b
!:ext lha/lzh/ice
>>>>>>3 regex \^lh[23d] LHa 2.x? archive data
>>>>>>3 regex \^lh[7] LHa (2.x)/LHark archive data
>>>>>>3 regex \^lh[456] LHa (2.x) archive data
->>>>>>>2 string -lh5 \b\040
+>>>>>>>2 string -lh5 \b
# https://en.wikipedia.org/wiki/BIOS
# Some mainboard BIOS like Award use LHa compression. So archives with unusal extension are found like
# bios.rom , kd7_v14.bin, 1010.004, ...
@@ -599,7 +599,7 @@
# UNLHA32 2.67a
>>>>>>2 string -lhx LHa (UNLHA32) archive
# lha archives with standard file name extensions ".lha" ".lzh"
->>>>>>3 regex !\^(lh1|lh5) \b\040
+>>>>>>3 regex !\^(lh1|lh5) \b
!:ext lha/lzh
# this should not happen if all -lh variants are described
>>>>>>2 default x LHa (unknown) archive
Index: src/external/bsd/file/dist/magic/magdir/filesystems
diff -u src/external/bsd/file/dist/magic/magdir/filesystems:1.12 src/external/bsd/file/dist/magic/magdir/filesystems:1.13
--- src/external/bsd/file/dist/magic/magdir/filesystems:1.12 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/magic/magdir/filesystems Fri Sep 8 09:40:25 2017
@@ -1,5 +1,5 @@
#------------------------------------------------------------------------------
-# $File: filesystems,v 1.120 2017/03/24 19:29:26 christos Exp $
+# $File: filesystems,v 1.122 2017/07/21 10:34:41 christos Exp $
# filesystems: file(1) magic for different filesystems
#
0 name partid
@@ -1959,11 +1959,10 @@
32769 string CD001
# mime line at that position does not work
# to display CD-ROM (70=81-11) after MBR (113=40+72+1), partition-table (71=50+21) and before Apple Driver Map (51)
-!:strength -11
+#!:strength -11
# to display CD-ROM (114=81+33) before MBR (113=40+72+1), partition-table (71=50+21) and Apple Driver Map (51)
-# does not work
-#!:strength +33
->0 use cdrom
+!:strength +34
+>0 use cdrom
# .cso files
# Reference: http://pismotec.com/ciso/ciso.h
@@ -2388,3 +2387,13 @@
>>>>>>>>0x1B ubyte 0x30 \b, media=1D
>>>>>>>>0x1B ubyte 0x40 \b, media=1DD
>>>>>>>>0x1A ubyte 0x10 \b, write-protected
+
+# HDD Raw Copy Tool disk image, file extension: .imgc
+# From Benjamin Vanheuverzwijn <[email protected]>
+0 pstring HDD\ Raw\ Copy\ Tool %s
+>0x100 pstring x %s
+>0x200 pstring x - HD model: %s
+#>0x300 pstring x unknown %s
+>0x400 pstring x serial: %s
+#>0x500 pstring x unknown: %s
+!:ext imgc
Index: src/external/bsd/file/dist/src/apprentice.c
diff -u src/external/bsd/file/dist/src/apprentice.c:1.18 src/external/bsd/file/dist/src/apprentice.c:1.19
--- src/external/bsd/file/dist/src/apprentice.c:1.18 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/src/apprentice.c Fri Sep 8 09:40:25 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: apprentice.c,v 1.18 2017/05/25 00:11:26 christos Exp $ */
+/* $NetBSD: apprentice.c,v 1.19 2017/09/08 13:40:25 christos Exp $ */
/*
* Copyright (c) Ian F. Darwin 1986-1995.
@@ -35,9 +35,9 @@
#ifndef lint
#if 0
-FILE_RCSID("@(#)$File: apprentice.c,v 1.260 2017/04/28 16:27:58 christos Exp $")
+FILE_RCSID("@(#)$File: apprentice.c,v 1.262 2017/08/28 13:39:18 christos Exp $")
#else
-__RCSID("$NetBSD: apprentice.c,v 1.18 2017/05/25 00:11:26 christos Exp $");
+__RCSID("$NetBSD: apprentice.c,v 1.19 2017/09/08 13:40:25 christos Exp $");
#endif
#endif /* lint */
@@ -618,8 +618,7 @@ buffer_apprentice(struct magic_set *ms,
if (nbufs == 0)
return -1;
- if (ms->mlist[0] != NULL)
- file_reset(ms);
+ (void)file_reset(ms, 0);
init_file_tables();
@@ -662,8 +661,7 @@ file_apprentice(struct magic_set *ms, co
int file_err, errs = -1;
size_t i;
- if (ms->mlist[0] != NULL)
- file_reset(ms);
+ (void)file_reset(ms, 0);
if ((fn = magic_getpath(fn, action)) == NULL)
return -1;
@@ -785,6 +783,59 @@ nonmagic(const char *str)
return rv == 0 ? 1 : rv; /* Return at least 1 */
}
+
+private size_t
+typesize(int type)
+{
+ switch (type) {
+ case FILE_BYTE:
+ return 1;
+
+ case FILE_SHORT:
+ case FILE_LESHORT:
+ case FILE_BESHORT:
+ return 2;
+
+ case FILE_LONG:
+ case FILE_LELONG:
+ case FILE_BELONG:
+ case FILE_MELONG:
+ return 4;
+
+ case FILE_DATE:
+ case FILE_LEDATE:
+ case FILE_BEDATE:
+ case FILE_MEDATE:
+ case FILE_LDATE:
+ case FILE_LELDATE:
+ case FILE_BELDATE:
+ case FILE_MELDATE:
+ case FILE_FLOAT:
+ case FILE_BEFLOAT:
+ case FILE_LEFLOAT:
+ return 4;
+
+ case FILE_QUAD:
+ case FILE_BEQUAD:
+ case FILE_LEQUAD:
+ case FILE_QDATE:
+ case FILE_LEQDATE:
+ case FILE_BEQDATE:
+ case FILE_QLDATE:
+ case FILE_LEQLDATE:
+ case FILE_BEQLDATE:
+ case FILE_QWDATE:
+ case FILE_LEQWDATE:
+ case FILE_BEQWDATE:
+ case FILE_DOUBLE:
+ case FILE_BEDOUBLE:
+ case FILE_LEDOUBLE:
+ return 8;
+ default:
+ return (size_t)~0;
+ }
+}
+
/*
* Get weight of this magic entry, for sorting purposes.
*/
@@ -792,7 +843,7 @@ private size_t
apprentice_magic_strength(const struct magic *m)
{
#define MULT 10
- size_t v, val = 2 * MULT; /* baseline strength */
+ size_t ts, v, val = 2 * MULT; /* baseline strength */
switch (m->type) {
case FILE_DEFAULT: /* make sure this sorts last */
@@ -801,41 +852,13 @@ apprentice_magic_strength(const struct m
return 0;
case FILE_BYTE:
- val += 1 * MULT;
- break;
-
case FILE_SHORT:
case FILE_LESHORT:
case FILE_BESHORT:
- val += 2 * MULT;
- break;
-
case FILE_LONG:
case FILE_LELONG:
case FILE_BELONG:
case FILE_MELONG:
- val += 4 * MULT;
- break;
-
- case FILE_PSTRING:
- case FILE_STRING:
- val += m->vallen * MULT;
- break;
-
- case FILE_BESTRING16:
- case FILE_LESTRING16:
- val += m->vallen * MULT / 2;
- break;
-
- case FILE_SEARCH:
- val += m->vallen * MAX(MULT / m->vallen, 1);
- break;
-
- case FILE_REGEX:
- v = nonmagic(m->value.s);
- val += v * MAX(MULT / v, 1);
- break;
-
case FILE_DATE:
case FILE_LEDATE:
case FILE_BEDATE:
@@ -847,9 +870,6 @@ apprentice_magic_strength(const struct m
case FILE_FLOAT:
case FILE_BEFLOAT:
case FILE_LEFLOAT:
- val += 4 * MULT;
- break;
-
case FILE_QUAD:
case FILE_BEQUAD:
case FILE_LEQUAD:
@@ -865,7 +885,29 @@ apprentice_magic_strength(const struct m
case FILE_DOUBLE:
case FILE_BEDOUBLE:
case FILE_LEDOUBLE:
- val += 8 * MULT;
+ ts = typesize(m->type);
+ if (ts == (size_t)~0)
+ abort();
+ val += ts * MULT;
+ break;
+
+ case FILE_PSTRING:
+ case FILE_STRING:
+ val += m->vallen * MULT;
+ break;
+
+ case FILE_BESTRING16:
+ case FILE_LESTRING16:
+ val += m->vallen * MULT / 2;
+ break;
+
+ case FILE_SEARCH:
+ val += m->vallen * MAX(MULT / m->vallen, 1);
+ break;
+
+ case FILE_REGEX:
+ v = nonmagic(m->value.s);
+ val += v * MAX(MULT / v, 1);
break;
case FILE_INDIRECT:
@@ -2572,6 +2614,9 @@ check_format(struct magic_set *ms, struc
private int
getvalue(struct magic_set *ms, struct magic *m, const char **p, int action)
{
+ char *ep;
+ uint64_t ull;
+
switch (m->type) {
case FILE_BESTRING16:
case FILE_LESTRING16:
@@ -2600,43 +2645,79 @@ getvalue(struct magic_set *ms, struct ma
return rc ? -1 : 0;
}
return 0;
+ default:
+ if (m->reln == 'x')
+ return 0;
+ break;
+ }
+
+ switch (m->type) {
case FILE_FLOAT:
case FILE_BEFLOAT:
case FILE_LEFLOAT:
- if (m->reln != 'x') {
- char *ep;
- errno = 0;
+ errno = 0;
#ifdef HAVE_STRTOF
- m->value.f = strtof(*p, &ep);
+ m->value.f = strtof(*p, &ep);
#else
- m->value.f = (float)strtod(*p, &ep);
+ m->value.f = (float)strtod(*p, &ep);
#endif
- if (errno == 0)
- *p = ep;
- }
+ if (errno == 0)
+ *p = ep;
return 0;
case FILE_DOUBLE:
case FILE_BEDOUBLE:
case FILE_LEDOUBLE:
- if (m->reln != 'x') {
- char *ep;
- errno = 0;
- m->value.d = strtod(*p, &ep);
- if (errno == 0)
- *p = ep;
- }
+ errno = 0;
+ m->value.d = strtod(*p, &ep);
+ if (errno == 0)
+ *p = ep;
return 0;
default:
- if (m->reln != 'x') {
- char *ep;
- errno = 0;
- m->value.q = file_signextend(ms, m,
- (uint64_t)strtoull(*p, &ep, 0));
- if (errno == 0) {
- *p = ep;
- eatsize(p);
+ errno = 0;
+ ull = (uint64_t)strtoull(*p, &ep, 0);
+ m->value.q = file_signextend(ms, m, ull);
+ if (*p == ep) {
+ file_magwarn(ms, "Unparseable number `%s'", *p);
+ } else {
+ size_t ts = typesize(m->type);
+ uint64_t x;
+ const char *q;
+
+ if (ts == (size_t)~0) {
+ file_magwarn(ms,
+ "Expected numeric type got `%s'",
+ type_tbl[m->type].name);
+ }
+ for (q = *p; isspace((unsigned char)*q); q++)
+ continue;
+ if (*q == '-')
+ ull = -(int64_t)ull;
+ switch (ts) {
+ case 1:
+ x = (uint64_t)(ull & ~0xffULL);
+ break;
+ case 2:
+ x = (uint64_t)(ull & ~0xffffULL);
+ break;
+ case 4:
+ x = (uint64_t)(ull & ~0xffffffffULL);
+ break;
+ case 8:
+ x = 0;
+ break;
+ default:
+ abort();
+ }
+ if (x) {
+ file_magwarn(ms, "Overflow for numeric"
+ " type `%s' value %#" PRIx64,
+ type_tbl[m->type].name, ull);
}
}
+ if (errno == 0) {
+ *p = ep;
+ eatsize(p);
+ }
return 0;
}
}
Index: src/external/bsd/file/dist/src/cdf.c
diff -u src/external/bsd/file/dist/src/cdf.c:1.14 src/external/bsd/file/dist/src/cdf.c:1.15
--- src/external/bsd/file/dist/src/cdf.c:1.14 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/src/cdf.c Fri Sep 8 09:40:25 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: cdf.c,v 1.14 2017/05/25 00:11:26 christos Exp $ */
+/* $NetBSD: cdf.c,v 1.15 2017/09/08 13:40:25 christos Exp $ */
/*-
* Copyright (c) 2008 Christos Zoulas
@@ -40,7 +40,7 @@
#if 0
FILE_RCSID("@(#)$File: cdf.c,v 1.106 2017/04/30 17:05:02 christos Exp $")
#else
-__RCSID("$NetBSD: cdf.c,v 1.14 2017/05/25 00:11:26 christos Exp $");
+__RCSID("$NetBSD: cdf.c,v 1.15 2017/09/08 13:40:25 christos Exp $");
#endif
#endif
@@ -91,6 +91,7 @@ static union {
#define CDF_CALLOC(n, u) cdf_calloc(__FILE__, __LINE__, (n), (u))
+/*ARGSUSED*/
static void *
cdf_malloc(const char *file __attribute__((__unused__)),
size_t line __attribute__((__unused__)), size_t n)
@@ -99,6 +100,7 @@ cdf_malloc(const char *file __attribute_
return malloc(n);
}
+/*ARGSUSED*/
static void *
cdf_realloc(const char *file __attribute__((__unused__)),
size_t line __attribute__((__unused__)), void *p, size_t n)
@@ -107,6 +109,7 @@ cdf_realloc(const char *file __attribute
return realloc(p, n);
}
+/*ARGSUSED*/
static void *
cdf_calloc(const char *file __attribute__((__unused__)),
size_t line __attribute__((__unused__)), size_t n, size_t u)
Index: src/external/bsd/file/dist/src/compress.c
diff -u src/external/bsd/file/dist/src/compress.c:1.13 src/external/bsd/file/dist/src/compress.c:1.14
--- src/external/bsd/file/dist/src/compress.c:1.13 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/src/compress.c Fri Sep 8 09:40:25 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: compress.c,v 1.13 2017/05/25 00:11:26 christos Exp $ */
+/* $NetBSD: compress.c,v 1.14 2017/09/08 13:40:25 christos Exp $ */
/*
* Copyright (c) Ian F. Darwin 1986-1995.
@@ -38,9 +38,9 @@
#ifndef lint
#if 0
-FILE_RCSID("@(#)$File: compress.c,v 1.104 2017/03/29 15:57:48 christos Exp $")
+FILE_RCSID("@(#)$File: compress.c,v 1.105 2017/05/25 00:13:03 christos Exp $")
#else
-__RCSID("$NetBSD: compress.c,v 1.13 2017/05/25 00:11:26 christos Exp $");
+__RCSID("$NetBSD: compress.c,v 1.14 2017/09/08 13:40:25 christos Exp $");
#endif
#endif
Index: src/external/bsd/file/dist/src/file.h
diff -u src/external/bsd/file/dist/src/file.h:1.16 src/external/bsd/file/dist/src/file.h:1.17
--- src/external/bsd/file/dist/src/file.h:1.16 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/src/file.h Fri Sep 8 09:40:25 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: file.h,v 1.16 2017/05/25 00:11:26 christos Exp $ */
+/* $NetBSD: file.h,v 1.17 2017/09/08 13:40:25 christos Exp $ */
/*
* Copyright (c) Ian F. Darwin 1986-1995.
@@ -29,7 +29,7 @@
*/
/*
* file.h - definitions for file(1) program
- * @(#)$File: file.h,v 1.182 2017/04/07 19:46:44 christos Exp $
+ * @(#)$File: file.h,v 1.183 2017/08/28 13:39:18 christos Exp $
*/
#ifndef __file_h__
@@ -449,7 +449,7 @@ protected size_t file_printedlen(const s
protected int file_replace(struct magic_set *, const char *, const char *);
protected int file_printf(struct magic_set *, const char *, ...)
__attribute__((__format__(__printf__, 2, 3)));
-protected int file_reset(struct magic_set *);
+protected int file_reset(struct magic_set *, int);
protected int file_tryelf(struct magic_set *, int, const unsigned char *,
size_t);
protected int file_trycdf(struct magic_set *, int, const unsigned char *,
Index: src/external/bsd/file/dist/src/softmagic.c
diff -u src/external/bsd/file/dist/src/softmagic.c:1.16 src/external/bsd/file/dist/src/softmagic.c:1.17
--- src/external/bsd/file/dist/src/softmagic.c:1.16 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/src/softmagic.c Fri Sep 8 09:40:25 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: softmagic.c,v 1.16 2017/05/25 00:11:26 christos Exp $ */
+/* $NetBSD: softmagic.c,v 1.17 2017/09/08 13:40:25 christos Exp $ */
/*
* Copyright (c) Ian F. Darwin 1986-1995.
@@ -35,9 +35,9 @@
#ifndef lint
#if 0
-FILE_RCSID("@(#)$File: softmagic.c,v 1.248 2017/04/21 16:54:57 christos Exp $")
+FILE_RCSID("@(#)$File: softmagic.c,v 1.249 2017/06/19 18:30:25 christos Exp $")
#else
-__RCSID("$NetBSD: softmagic.c,v 1.16 2017/05/25 00:11:26 christos Exp $");
+__RCSID("$NetBSD: softmagic.c,v 1.17 2017/09/08 13:40:25 christos Exp $");
#endif
#endif /* lint */
@@ -1205,7 +1205,7 @@ mcopy(struct magic_set *ms, union VALUET
const char *end;
size_t lines, linecnt, bytecnt;
- if (s == NULL) {
+ if (s == NULL || nbytes < offset) {
ms->search.s_len = 0;
ms->search.s = NULL;
return 0;
@@ -1238,7 +1238,7 @@ mcopy(struct magic_set *ms, union VALUET
b++;
}
if (lines)
- last = RCAST(const char *, s) + bytecnt;
+ last = end;
ms->search.s = buf;
ms->search.s_len = last - buf;
Index: src/external/bsd/file/dist/src/fsmagic.c
diff -u src/external/bsd/file/dist/src/fsmagic.c:1.12 src/external/bsd/file/dist/src/fsmagic.c:1.13
--- src/external/bsd/file/dist/src/fsmagic.c:1.12 Fri Feb 10 12:53:24 2017
+++ src/external/bsd/file/dist/src/fsmagic.c Fri Sep 8 09:40:25 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: fsmagic.c,v 1.12 2017/02/10 17:53:24 christos Exp $ */
+/* $NetBSD: fsmagic.c,v 1.13 2017/09/08 13:40:25 christos Exp $ */
/*
* Copyright (c) Ian F. Darwin 1986-1995.
@@ -35,9 +35,9 @@
#ifndef lint
#if 0
-FILE_RCSID("@(#)$File: fsmagic.c,v 1.76 2015/04/09 20:01:41 christos Exp $")
+FILE_RCSID("@(#)$File: fsmagic.c,v 1.77 2017/05/24 19:17:50 christos Exp $")
#else
-__RCSID("$NetBSD: fsmagic.c,v 1.12 2017/02/10 17:53:24 christos Exp $");
+__RCSID("$NetBSD: fsmagic.c,v 1.13 2017/09/08 13:40:25 christos Exp $");
#endif
#endif /* lint */
@@ -110,14 +110,13 @@ file_fsmagic(struct magic_set *ms, const
{
int ret, did = 0;
int mime = ms->flags & MAGIC_MIME;
+ int silent = ms->flags & (MAGIC_APPLE|MAGIC_EXTENSION);
#ifdef S_IFLNK
char buf[BUFSIZ+4];
ssize_t nch;
struct stat tstatbuf;
#endif
- if (ms->flags & (MAGIC_APPLE|MAGIC_EXTENSION))
- return 0;
if (fn == NULL)
return 0;
@@ -174,7 +173,7 @@ file_fsmagic(struct magic_set *ms, const
}
ret = 1;
- if (!mime) {
+ if (!mime && !silent) {
#ifdef S_ISUID
if (sb->st_mode & S_ISUID)
if (file_printf(ms, "%ssetuid", COMMA) == -1)
@@ -197,6 +196,7 @@ file_fsmagic(struct magic_set *ms, const
if (mime) {
if (handle_mime(ms, mime, "directory") == -1)
return -1;
+ } else if (silent) {
} else if (file_printf(ms, "%sdirectory", COMMA) == -1)
return -1;
break;
@@ -214,6 +214,7 @@ file_fsmagic(struct magic_set *ms, const
if (mime) {
if (handle_mime(ms, mime, "chardevice") == -1)
return -1;
+ } else if (silent) {
} else {
#ifdef HAVE_STRUCT_STAT_ST_RDEV
# ifdef dv_unit
@@ -248,6 +249,7 @@ file_fsmagic(struct magic_set *ms, const
if (mime) {
if (handle_mime(ms, mime, "blockdevice") == -1)
return -1;
+ } else if (silent) {
} else {
#ifdef HAVE_STRUCT_STAT_ST_RDEV
# ifdef dv_unit
@@ -276,6 +278,7 @@ file_fsmagic(struct magic_set *ms, const
if (mime) {
if (handle_mime(ms, mime, "fifo") == -1)
return -1;
+ } else if (silent) {
} else if (file_printf(ms, "%sfifo (named pipe)", COMMA) == -1)
return -1;
break;
@@ -285,6 +288,7 @@ file_fsmagic(struct magic_set *ms, const
if (mime) {
if (handle_mime(ms, mime, "door") == -1)
return -1;
+ } else if (silent) {
} else if (file_printf(ms, "%sdoor", COMMA) == -1)
return -1;
break;
@@ -300,6 +304,7 @@ file_fsmagic(struct magic_set *ms, const
if (mime) {
if (handle_mime(ms, mime, "symlink") == -1)
return -1;
+ } else if (silent) {
} else if (file_printf(ms,
"%sunreadable symlink `%s' (%s)", COMMA, fn,
strerror(errno)) == -1)
@@ -329,6 +334,7 @@ file_fsmagic(struct magic_set *ms, const
if (handle_mime(ms, mime,
"x-path-too-long") == -1)
return -1;
+ } else if (silent) {
} else if (file_printf(ms,
"%spath too long: `%s'", COMMA,
fn) == -1)
@@ -358,6 +364,7 @@ file_fsmagic(struct magic_set *ms, const
if (mime) {
if (handle_mime(ms, mime, "symlink") == -1)
return -1;
+ } else if (silent) {
} else if (file_printf(ms, "%ssymbolic link to %s",
COMMA, buf) == -1)
return -1;
@@ -370,6 +377,7 @@ file_fsmagic(struct magic_set *ms, const
if (mime) {
if (handle_mime(ms, mime, "socket") == -1)
return -1;
+ } else if (silent) {
} else if (file_printf(ms, "%ssocket", COMMA) == -1)
return -1;
break;
@@ -392,6 +400,7 @@ file_fsmagic(struct magic_set *ms, const
if (mime) {
if (handle_mime(ms, mime, "x-empty") == -1)
return -1;
+ } else if (silent) {
} else if (file_printf(ms, "%sempty", COMMA) == -1)
return -1;
break;
@@ -405,7 +414,7 @@ file_fsmagic(struct magic_set *ms, const
/*NOTREACHED*/
}
- if (!mime && did && ret == 0) {
+ if (!silent && !mime && did && ret == 0) {
if (file_printf(ms, " ") == -1)
return -1;
}
Index: src/external/bsd/file/dist/src/funcs.c
diff -u src/external/bsd/file/dist/src/funcs.c:1.12 src/external/bsd/file/dist/src/funcs.c:1.13
--- src/external/bsd/file/dist/src/funcs.c:1.12 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/src/funcs.c Fri Sep 8 09:40:25 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: funcs.c,v 1.12 2017/05/25 00:11:26 christos Exp $ */
+/* $NetBSD: funcs.c,v 1.13 2017/09/08 13:40:25 christos Exp $ */
/*
* Copyright (c) Christos Zoulas 2003.
@@ -30,9 +30,9 @@
#ifndef lint
#if 0
-FILE_RCSID("@(#)$File: funcs.c,v 1.92 2017/04/07 20:10:24 christos Exp $")
+FILE_RCSID("@(#)$File: funcs.c,v 1.93 2017/08/28 13:39:18 christos Exp $")
#else
-__RCSID("$NetBSD: funcs.c,v 1.12 2017/05/25 00:11:26 christos Exp $");
+__RCSID("$NetBSD: funcs.c,v 1.13 2017/09/08 13:40:25 christos Exp $");
#endif
#endif /* lint */
@@ -334,9 +334,9 @@ simple:
#endif
protected int
-file_reset(struct magic_set *ms)
+file_reset(struct magic_set *ms, int checkloaded)
{
- if (ms->mlist[0] == NULL) {
+ if (checkloaded && ms->mlist[0] == NULL) {
file_error(ms, 0, "no magic files loaded");
return -1;
}
Index: src/external/bsd/file/dist/src/magic.c
diff -u src/external/bsd/file/dist/src/magic.c:1.11 src/external/bsd/file/dist/src/magic.c:1.12
--- src/external/bsd/file/dist/src/magic.c:1.11 Fri Feb 10 12:53:24 2017
+++ src/external/bsd/file/dist/src/magic.c Fri Sep 8 09:40:25 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: magic.c,v 1.11 2017/02/10 17:53:24 christos Exp $ */
+/* $NetBSD: magic.c,v 1.12 2017/09/08 13:40:25 christos Exp $ */
/*
* Copyright (c) Christos Zoulas 2003.
@@ -36,9 +36,9 @@
#ifndef lint
#if 0
-FILE_RCSID("@(#)$File: magic.c,v 1.100 2016/07/18 11:43:05 christos Exp $")
+FILE_RCSID("@(#)$File: magic.c,v 1.102 2017/08/28 13:39:18 christos Exp $")
#else
-__RCSID("$NetBSD: magic.c,v 1.11 2017/02/10 17:53:24 christos Exp $");
+__RCSID("$NetBSD: magic.c,v 1.12 2017/09/08 13:40:25 christos Exp $");
#endif
#endif /* lint */
@@ -173,7 +173,7 @@ DllMain(HINSTANCE hinstDLL, DWORD fdwRea
{
if (fdwReason == DLL_PROCESS_ATTACH)
_w32_dll_instance = hinstDLL;
- return TRUE;
+ return 1;
}
#endif
@@ -415,7 +415,7 @@ file_or_fd(struct magic_set *ms, const c
int ispipe = 0;
off_t pos = (off_t)-1;
- if (file_reset(ms) == -1)
+ if (file_reset(ms, 1) == -1)
goto out;
/*
@@ -544,7 +544,7 @@ magic_buffer(struct magic_set *ms, const
{
if (ms == NULL)
return NULL;
- if (file_reset(ms) == -1)
+ if (file_reset(ms, 1) == -1)
return NULL;
/*
* The main work is done here!
@@ -574,6 +574,15 @@ magic_errno(struct magic_set *ms)
}
public int
+magic_getflags(struct magic_set *ms)
+{
+ if (ms == NULL)
+ return -1;
+
+ return ms->flags;
+}
+
+public int
magic_setflags(struct magic_set *ms, int flags)
{
if (ms == NULL)
Index: src/external/bsd/file/dist/src/readelf.c
diff -u src/external/bsd/file/dist/src/readelf.c:1.15 src/external/bsd/file/dist/src/readelf.c:1.16
--- src/external/bsd/file/dist/src/readelf.c:1.15 Wed May 24 20:11:26 2017
+++ src/external/bsd/file/dist/src/readelf.c Fri Sep 8 09:40:25 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: readelf.c,v 1.15 2017/05/25 00:11:26 christos Exp $ */
+/* $NetBSD: readelf.c,v 1.16 2017/09/08 13:40:25 christos Exp $ */
/*
* Copyright (c) Christos Zoulas 2003.
@@ -30,9 +30,9 @@
#ifndef lint
#if 0
-FILE_RCSID("@(#)$File: readelf.c,v 1.136 2017/03/29 19:09:52 christos Exp $")
+FILE_RCSID("@(#)$File: readelf.c,v 1.138 2017/08/27 07:55:02 christos Exp $")
#else
-__RCSID("$NetBSD: readelf.c,v 1.15 2017/05/25 00:11:26 christos Exp $");
+__RCSID("$NetBSD: readelf.c,v 1.16 2017/09/08 13:40:25 christos Exp $");
#endif
#endif
@@ -517,7 +517,7 @@ do_bid_note(struct magic_set *ms, unsign
size_t noff, size_t doff, int *flags)
{
if (namesz == 4 && strcmp((char *)&nbuf[noff], "GNU") == 0 &&
- type == NT_GNU_BUILD_ID && (descsz >= 4 || descsz <= 20)) {
+ type == NT_GNU_BUILD_ID && (descsz >= 4 && descsz <= 20)) {
uint8_t desc[20];
const char *btype;
uint32_t i;
@@ -732,11 +732,11 @@ do_core_note(struct magic_set *ms, unsig
"gid=%u, nlwps=%u, lwp=%u (signal %u/code %u)",
file_printable(sbuf, sizeof(sbuf),
CAST(char *, pi.cpi_name)),
- elf_getu32(swap, pi.cpi_pid),
+ elf_getu32(swap, (uint32_t)pi.cpi_pid),
elf_getu32(swap, pi.cpi_euid),
elf_getu32(swap, pi.cpi_egid),
elf_getu32(swap, pi.cpi_nlwps),
- elf_getu32(swap, pi.cpi_siglwp),
+ elf_getu32(swap, (uint32_t)pi.cpi_siglwp),
elf_getu32(swap, pi.cpi_signo),
elf_getu32(swap, pi.cpi_sigcode)) == -1)
return 1;
@@ -914,6 +914,7 @@ get_string_on_virtaddr(struct magic_set
}
+/*ARGSUSED*/
private int
do_auxv_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type,
int swap, uint32_t namesz __attribute__((__unused__)),
@@ -1215,8 +1216,8 @@ doshn(struct magic_set *ms, int clazz, i
size_t nbadcap = 0;
void *nbuf;
off_t noff, coff, name_off;
- uint64_t cap_hw1 = 0; /* SunOS 5.x hardware capabilites */
- uint64_t cap_sf1 = 0; /* SunOS 5.x software capabilites */
+ uint64_t cap_hw1 = 0; /* SunOS 5.x hardware capabilities */
+ uint64_t cap_sf1 = 0; /* SunOS 5.x software capabilities */
char name[50];
ssize_t namesize;
Index: src/external/bsd/file/dist/tests/Makefile.in
diff -u src/external/bsd/file/dist/tests/Makefile.in:1.11 src/external/bsd/file/dist/tests/Makefile.in:1.12
--- src/external/bsd/file/dist/tests/Makefile.in:1.11 Wed May 24 20:11:27 2017
+++ src/external/bsd/file/dist/tests/Makefile.in Fri Sep 8 09:40:25 2017
@@ -297,6 +297,8 @@ escapevel.result \
escapevel.testfile \
gedcom.result \
gedcom.testfile \
+hddrawcopytool.result \
+hddrawcopytool.testfile \
issue311docx.result \
issue311docx.testfile
Index: src/external/bsd/file/include/config.h
diff -u src/external/bsd/file/include/config.h:1.10 src/external/bsd/file/include/config.h:1.11
--- src/external/bsd/file/include/config.h:1.10 Wed May 24 20:11:27 2017
+++ src/external/bsd/file/include/config.h Fri Sep 8 09:40:25 2017
@@ -275,7 +275,7 @@
#define PACKAGE_NAME "file"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "file 5.31"
+#define PACKAGE_STRING "file 5.32"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "file"
@@ -284,7 +284,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "5.31"
+#define PACKAGE_VERSION "5.32"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
@@ -315,7 +315,7 @@
/* Version number of package */
-#define VERSION "5.31"
+#define VERSION "5.32"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */