svn commit: r46795 - in head/share: security/advisories security/patches/EN-15:06 security/patches/EN-15:07 xml

Xin LI <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.doc
Message-ID <[email protected]>
Author: delphij
Date: Tue Jun  9 22:27:13 2015
New Revision: 46795
URL: https://svnweb.freebsd.org/changeset/doc/46795

Log:
  Add two new erratas.

Added:
  head/share/security/advisories/FreeBSD-EN-15:06.file.asc   (contents, props changed)
  head/share/security/advisories/FreeBSD-EN-15:07.zfs.asc   (contents, props changed)
  head/share/security/patches/EN-15:06/
  head/share/security/patches/EN-15:06/file-10.1.patch   (contents, props changed)
  head/share/security/patches/EN-15:06/file-10.1.patch.asc   (contents, props changed)
  head/share/security/patches/EN-15:06/file-8.4.patch   (contents, props changed)
  head/share/security/patches/EN-15:06/file-8.4.patch.asc   (contents, props changed)
  head/share/security/patches/EN-15:06/file-9.3.patch   (contents, props changed)
  head/share/security/patches/EN-15:06/file-9.3.patch.asc   (contents, props changed)
  head/share/security/patches/EN-15:07/
  head/share/security/patches/EN-15:07/zfs.patch   (contents, props changed)
  head/share/security/patches/EN-15:07/zfs.patch.asc   (contents, props changed)
Modified:
  head/share/xml/notices.xml

Added: head/share/security/advisories/FreeBSD-EN-15:06.file.asc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/share/security/advisories/FreeBSD-EN-15:06.file.asc	Tue Jun  9 22:27:13 2015	(r46795)
@@ -0,0 +1,175 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA512
+
+=============================================================================
+FreeBSD-EN-15:06.file                                           Errata Notice
+                                                          The FreeBSD Project
+
+Topic:          Version and security update of file(1) and libmagic(3)
+
+Category:       contrib
+Module:         file
+Announced:      2015-06-09
+Affects:        All supported versions of FreeBSD.
+Corrected:      2015-01-23 18:48:59 UTC (stable/10, 10.1-STABLE)
+                2015-06-09 22:13:25 UTC (releng/10.1, 10.1-RELEASE-p11)
+                2015-01-23 18:50:36 UTC (stable/9, 9.3-STABLE)
+                2015-06-09 22:13:53 UTC (releng/9.3, 9.3-RELEASE-p15)
+                2015-05-09 23:53:25 UTC (stable/8, 8.4-STABLE)
+                2015-06-09 22:13:53 UTC (releng/8.4, 8.4-RELEASE-p29)
+CVE Name:       CVE-2014-0207, CVE-2014-3478, CVE-2014-3479, CVE-2014-3480,
+                CVE-2014-3487, CVE-2014-3538, CVE-2014-3587, CVE-2014-9620,
+                CVE-2014-9621, CVE-2014-9653
+
+For general information regarding FreeBSD Errata Notices and Security
+Advisories, including descriptions of the fields above, security
+branches, and the following sections, please visit
+<URL:https://security.freebsd.org/>.
+
+I.   Background
+
+The file(1) utility attempts to classify file system objects based on
+filesystem, magic number and language tests.
+
+The libmagic(3) library provides most of the functionality of file(1)
+and may be used by other applications.
+
+II.  Problem Description
+
+There are a number of denial of service issues when handling complex
+files, for instance Portable Executable (PE) files and ELF files parsing
+code with libmagic(3) and in turn file(1).
+
+III. Impact
+
+An attacker who can cause file(1) or any other applications using the
+libmagic(3) library to be run on a maliciously constructed input can
+cause the application to crash or consume excessive CPU resources,
+resulting in a denial-of-service.
+
+IV.  Workaround
+
+System administrators who run file(1) and libmagic(3) against untrusted
+files, for instance when running with a mail server's mail scanner, are
+advised to configure the scanner in a way so that they do not call file(1)
+or libmagic(3) to conduct deep inspection of input files.  Most of these
+scanners does not really need the in-depth analysis and the file type
+determined by libmagic is already sufficient.
+
+V.   Solution
+
+This errata replaces the base system file(1) and libmagic(3) with the
+version 5.22.
+
+Perform one of the following:
+
+1) Upgrade your system to a supported FreeBSD stable or release / security
+branch (releng) dated after the correction date.
+
+2) To update your present system via a binary patch:
+
+Systems running a RELEASE version of FreeBSD on the i386 or amd64
+platforms can be updated via the freebsd-update(8) utility:
+
+# freebsd-update fetch
+# freebsd-update install
+
+3) To update your present system via a source code patch:
+
+The following patches have been verified to apply to the applicable
+FreeBSD release branches.
+
+a) Download the relevant patch from the location below, and verify the
+detached PGP signature using your PGP utility.
+
+[FreeBSD 10.1]
+# fetch https://security.FreeBSD.org/patches/EN-15:06/file-10.1.patch
+# fetch https://security.FreeBSD.org/patches/EN-15:06/file-10.1.patch.asc
+# gpg --verify file-10.1.patch.asc
+
+[FreeBSD 9.3]
+# fetch https://security.FreeBSD.org/patches/EN-15:06/file-9.3.patch
+# fetch https://security.FreeBSD.org/patches/EN-15:06/file-9.3.patch.asc
+# gpg --verify file-9.3.patch.asc
+
+[FreeBSD 8.4]
+# fetch https://security.FreeBSD.org/patches/EN-15:06/file-8.4.patch
+# fetch https://security.FreeBSD.org/patches/EN-15:06/file-8.4.patch.asc
+# gpg --verify file-8.4.patch.asc
+
+b) Apply the patch.  Execute the following commands as root:
+
+# cd /usr/src
+# patch < /path/to/patch
+
+c) Recompile the operating system using buildworld and installworld as
+described in <URL:https://www.FreeBSD.org/handbook/makeworld.html>.
+
+Restart all deamons using the library, or reboot the system.
+
+VI.  Correction details
+
+The following list contains the correction revision numbers for each
+affected branch.
+
+Branch/path                                                      Revision
+- -------------------------------------------------------------------------
+stable/8/                                                         r283135
+releng/8.4/                                                       r284194
+stable/9/                                                         r277593
+releng/9.3/                                                       r284194
+stable/10/                                                        r277592
+releng/10.1/                                                      r284193
+- -------------------------------------------------------------------------
+
+To see which files were modified by a particular revision, run the
+following command, replacing NNNNNN with the revision number, on a
+machine with Subversion installed:
+
+# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
+
+Or visit the following URL, replacing NNNNNN with the revision number:
+
+<URL:https://svnweb.freebsd.org/base?view=revision&revision=NNNNNN>
+
+VII. References
+
+<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0207>
+
+<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3478>
+
+<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3479>
+
+<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3480>
+
+<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3487>
+
+<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3538>
+
+<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3587>
+
+<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9620>
+
+<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9621>
+
+<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9653>
+
+The latest revision of this Errata Notice is available at
+https://security.FreeBSD.org/advisories/FreeBSD-EN-15:06.file.asc
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.1.4 (FreeBSD)
+
+iQIcBAEBCgAGBQJVd2aEAAoJEO1n7NZdz2rnEVQP/2OPfepmvG2/vYrH3bKDHPRi
+12QFfE3Ylr8ctoDQRCBazdxhzLEMxdP3g9icJ0ZbnDWVmFtM9BwDfCrkcYmI6uCt
+0E1usrqHs6qthm4i1UAwRu4v71LM2yllHCaLt/XWxWDXsbI/vA5wkZgfgZK8kZWW
+PAiBUuI1bM4pegi+yymgMRoHquoyB0x2jNBKywnb9KT7m8Br9uYnJrCajI6G9HUy
+/eQKtefOVQat0trIoOwXS7cIZhLWJlVAKUinBjb2IGHxkWOrUhgXlPCpB4efS0pG
+IqEv2gvHpxllgmf+4leqNXYT8R1EUu+3OE6SbN7jV+RwgPc0TNUxC4Bkb6r1LoSH
+BRf5FMuVDYAlDKDz4j8NY0v84PpD9d37w7SSBZPiR+Fwn5xs0F4PjsU2c+tPEnVD
+Sn1vYkafvC+KXsuJtmd4sqb1zLRdpOGDxruA0VtOKATA1sDa1QZIBTB7w7iZ03f5
+umCpU8p5mo7a9AroavUEZkcpu4w5BptAsgYoBdOeKHhStBtPlXiGpML8zLhj1qnL
+hGF6RY2QrhD35C7OIer1ji0F2pEKkFfaeAqkvIXmYJaH+KQeIrEdt+ki2GStW1m9
+OdL79RMreVGE1DuX/2puBxKcMsQR+fas4L4uGi46MDXXMeV0LKJHiAT2twJlDOL/
+mc3UcOeMcAfOkINcpGuD
+=8/lF
+-----END PGP SIGNATURE-----

Added: head/share/security/advisories/FreeBSD-EN-15:07.zfs.asc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/share/security/advisories/FreeBSD-EN-15:07.zfs.asc	Tue Jun  9 22:27:13 2015	(r46795)
@@ -0,0 +1,139 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA512
+
+=============================================================================
+FreeBSD-EN-15:07.zfs                                            Errata Notice
+                                                          The FreeBSD Project
+
+Topic:          ZFS Reliability Improvements
+
+Category:       contrib
+Module:         zfs
+Announced:      2015-06-09
+Affects:        FreeBSD 10.1 and later
+Corrected:      2014-12-05 00:32:33 UTC (stable/10, 10.1-STABLE)
+                2015-06-09 22:13:25 UTC (releng/10.1, 10.1-RELEASE-p11)
+
+For general information regarding FreeBSD Errata Notices and Security
+Advisories, including descriptions of the fields above, security
+branches, and the following sections, please visit
+<URL:https://security.freebsd.org/>.
+
+I.   Background
+
+ZFS is one of several filesystems available on FreeBSD.
+
+ZFS on FreeBSD supports TRIM/UNMAP which helps flash based storage medium to
+maintain peek performance.
+
+ZFS uses different layers of disk cache to speed up read and write
+operations, and supports second level ARC (L2ARC) which can be used as a
+second layer cache, which provides storage for less frequently accessed
+data that would not fit into RAM but still accessed often, providing
+optimal cost for performance.
+
+ZFS supports compression in L2ARC data which optimizes its space efficiency.
+
+II.  Problem Description
+
+When the ZFS filesystem on a file backed pool is used with TRIM support
+enabled, which is the default, ZIO_TYPE_FREE requests where incorrectly
+processed as a write request.
+
+When the ZFS filesystem is using L2ARC and when L2ARC compression is used,
+the compression buffer are not properly released sometimes.
+
+III. Impact
+
+The first problem will panic the system when it happens.
+
+The second problem will exhibit as a memory leak, which would lead to
+performance degradation and eventually a memory overflow, which would
+lead to a panic.
+
+IV.  Workaround
+
+The first issue can be mitigated by disabling TRIM for ZFS using
+the loader option vfs.zfs.trim.enabled=0.
+
+The second issue can be mitigated by disabling L2ARC.
+
+V.   Solution
+
+Perform one of the following:
+
+1) Upgrade your system to a supported FreeBSD stable or release / security
+branch (releng) dated after the correction date.
+
+2) To update your present system via a binary patch:
+
+Systems running a RELEASE version of FreeBSD on the i386 or amd64
+platforms can be updated via the freebsd-update(8) utility:
+
+# freebsd-update fetch
+# freebsd-update install
+
+3) To update your present system via a source code patch:
+
+The following patches have been verified to apply to the applicable
+FreeBSD release branches.
+
+a) Download the relevant patch from the location below, and verify the
+detached PGP signature using your PGP utility.
+
+# fetch https://security.FreeBSD.org/patches/EN-15:07/zfs.patch
+# fetch https://security.FreeBSD.org/patches/EN-15:07/zfs.patch.asc
+# gpg --verify 15:07.patch.asc
+
+b) Apply the patch.  Execute the following commands as root:
+
+# cd /usr/src
+# patch < /path/to/patch
+
+c) Recompile your kernel as described in
+<URL:https://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the
+system.
+
+VI.  Correction details
+
+The following list contains the correction revision numbers for each
+affected branch.
+
+Branch/path                                                      Revision
+- -------------------------------------------------------------------------
+stable/10/                                                        r275492
+releng/10.1/                                                      r284193
+- -------------------------------------------------------------------------
+
+To see which files were modified by a particular revision, run the
+following command, replacing NNNNNN with the revision number, on a
+machine with Subversion installed:
+
+# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
+
+Or visit the following URL, replacing NNNNNN with the revision number:
+
+<URL:https://svnweb.freebsd.org/base?view=revision&revision=NNNNNN>
+
+VII. References
+
+The latest revision of this Errata Notice is available at
+https://security.FreeBSD.org/advisories/FreeBSD-EN-15:07.zfs.asc
+
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.1.4 (FreeBSD)
+
+iQIcBAEBCgAGBQJVd2aYAAoJEO1n7NZdz2rn3ZAP/jqu2sz0LU20D1zdb3bpz8ui
+QsFeKs2gk5e00T0qqWio9RxXpSxzV1XNEw8jVz2JDsgCQf4V6UwHklgf9E+Pg9DA
+/9HNnrCuNsnlodOOqCPEETPkEWCKiPoiHXv29YzNVZDtlTXE9ysxnQgpD6IfI1AU
+HpyH//OKN+z03eNR/vSdCbvZhemn/+An4AxX8nFegeGXBjxUBE1Hf6Aek2AYKz2Q
+69nwvK56AN05FvVN+oegFdLaG9Lcv5kPnNFLoMDMGazGd/3VBfYE7ACQT2AETc/7
+DuVCrP3ewG3uftNKBEomJkPWTeKLBGZLP3pHZK1BlGlXUlHvpEbEzy0BjJevt4Zt
+6MxHT2xya8H5q8k6nfVnRB2+XhJ82nJMnZIN0cLiqdAgbRdFCS5QlOwLpXpak0tA
+EOTcjsFBTCXQiuO6JLAHn0oprBrA6mMoHxHZGErG6yFGf4PNotG70s8hOH9hxvoG
+bjdtvcbCewPqaUz54vwkp1walgK7i61waDTWNMeLdt9OPncdBO/1N5+jNAV87bLm
+iqxqp6bcHFIoVaHLhE5xxRrmiJg4J/8z2PUjuyfxnWyslMkm4s7siiQ3HIacFdE6
+7GeTDnU28Ui0JTbGx8c6QGRKhOEp0FdvmHmXXHtKBvo/yjdMy2yMg82RHMNxIQKd
+z4HmBIQGnSf4ysgAunpN
+=fmGr
+-----END PGP SIGNATURE-----

Added: head/share/security/patches/EN-15:06/file-10.1.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/share/security/patches/EN-15:06/file-10.1.patch	Tue Jun  9 22:27:13 2015	(r46795)
@@ -0,0 +1,6603 @@
+Index: contrib/file/ChangeLog
+===================================================================
+--- contrib/file/ChangeLog	(revision 284174)
++++ contrib/file/ChangeLog	(working copy)
+@@ -1,3 +1,97 @@
++2015-01-02  15:15  Christos Zoulas <[email protected]>
++
++	* release 5.22
++
++2015-01-01  12:01  Christos Zoulas <[email protected]>
++
++	* add indirect relative for TIFF/Exif
++
++2014-12-16  18:10  Christos Zoulas <[email protected]>
++	
++	* restructure elf note printing to avoid repeated messages
++	* add note limit, suggested by Alexander Cherepanov
++
++2014-12-16  16:53  Christos Zoulas <[email protected]>
++	
++	* Bail out on partial pread()'s (Alexander Cherepanov)
++	* Fix incorrect bounds check in file_printable (Alexander Cherepanov)
++
++2014-12-11  20:01  Christos Zoulas <[email protected]>
++
++	* PR/405: ignore SIGPIPE from uncompress programs
++	* change printable -> file_printable and use it in
++	  more places for safety
++	* in ELF, instead of "(uses dynamic libraries)" when PT_INTERP
++	  is present print the interpreter name.
++	
++2014-12-10  20:01  Christos Zoulas <[email protected]>
++
++	* release 5.21
++
++2014-11-27  18:40  Christos Zoulas <[email protected]>
++
++	* Allow setting more parameters from the command line.
++	* Split name/use and indirect magic recursion limits.
++
++2014-11-27  11:12  Christos Zoulas <[email protected]>
++
++	* Adjust ELF parameters and the default recursion
++	  level.
++	* Allow setting the recursion level dynamically.
++
++2014-11-24   8:55  Christos Zoulas <[email protected]>
++
++	* The following fixes resulted from Thomas Jarosch's fuzzing
++	  tests that revealed severe performance issues on pathological
++	  input:
++	    - limit number of elf program and sections processing
++	    - abort elf note processing quickly
++	    - reduce the number of recursion levels from 20 to 10
++	    - preserve error messages in indirect magic handling
++
++	This is tracked as CVE-2014-8116 and CVE-2014-8117
++
++2014-11-12  10:30  Christos Zoulas <[email protected]>
++
++	* fix bogus free in the user buffer case.
++
++2014-11-11  12:35  Christos Zoulas <[email protected]>
++
++	* fix out of bounds read for pascal strings
++	* fix memory leak (not freeing the head of each mlist)
++
++2014-11-07  10:25  Christos Zoulas <[email protected]>
++
++	* When printing strings from a file, convert them to printable
++	  on a byte by byte basis, so that we don't get issues with
++	  locale's trying to interpret random byte streams as UTF-8 and
++	  having printf error out with EILSEQ.
++	  
++2014-10-17  11:48  Christos Zoulas <[email protected]>
++
++	* fix bounds in note reading (Francisco Alonso / Red Hat)
++
++2014-10-11  15:02  Christos Zoulas <[email protected]>
++
++	* fix autoconf glue for setlocale and locale_t; some OS's
++	  have locale_t in xlocale.h
++
++2014-10-10  15:01  Christos Zoulas <[email protected]>
++
++	* release 5.20
++
++2014-08-17  10:01  Christos Zoulas <[email protected]>
++
++	* recognize encrypted CDF documents
++
++2014-08-04   9:18  Christos Zoulas <[email protected]>
++
++	* add magic_load_buffers from Brooks Davis
++
++2014-07-24  16:40  Christos Zoulas <[email protected]>
++
++	* add thumbs.db support
++
+ 2014-06-12  12:28  Christos Zoulas <[email protected]>
+ 
+ 	* release 5.19
+Index: contrib/file/README
+===================================================================
+--- contrib/file/README	(revision 284174)
++++ contrib/file/README	(working copy)
+@@ -1,6 +1,6 @@
+ ## README for file(1) Command ##
+ 
+-    @(#) $File: README,v 1.48 2014/03/07 13:55:30 christos Exp $
++    @(#) $File: README,v 1.49 2015/01/02 20:23:04 christos Exp $
+ 
+ Mailing List: [email protected]  
+ Mailing List archives: http://mx.gw.com/pipermail/file/  
+@@ -25,8 +25,8 @@ A public read-only git repository of the same sour
+ 
+ 	https://github.com/file/file
+ 
+-The major changes for 5.x are CDF file parsing, indirect magic, and
+-overhaul in mime and ascii encoding handling.
++The major changes for 5.x are CDF file parsing, indirect magic, name/use
++(recursion) and overhaul in mime and ascii encoding handling.
+ 
+ The major feature of 4.x is the refactoring of the code into a library,
+ and the re-write of the file command in terms of that library. The library
+@@ -67,33 +67,41 @@ in magic(5) format please, to the maintainer, Chri
+ COPYING - read this first.  
+ README - read this second (you are currently reading this file).  
+ INSTALL - read on how to install
+-
+ src/apprentice.c - parses /etc/magic to learn magic  
++src/asctime_r.c - replacement for OS's that don't have it.  
+ src/apptype.c - used for OS/2 specific application type magic  
+ src/asprintf.c - replacement for OS's that don't have it.  
+ src/ascmagic.c - third & last set of tests, based on hardwired assumptions.  
+-src/asctime_r.c - for systems that don't have it.  
+-src/asprintf.c - for systems that don't have it.  
+-src/cdf.c - parser for Microsoft Compound Document Files  
++src/asctime_r.c - replacement for OS's that don't have it.  
++src/asprintf.c - replacement for OS's that don't have it.  
++src/cdf.[ch] - parser for Microsoft Compound Document Files  
+ src/cdf_time.c - time converter for CDF.  
+ src/compress.c - handles decompressing files to look inside.  
+-src/ctime_r.c - for systems that don't have it.  
++src/ctime_r.c - replacement for OS's that don't have it.  
++src/elfclass.h - common code for elf 32/64.
+ src/encoding.c - handles unicode encodings  
+ src/file.c - the main program  
+ src/file.h - header file  
++src/file_opts.h - list of options
++src/fmtcheck.c - replacement for OS's that don't have it.  
+ src/fsmagic.c - first set of tests the program runs, based on filesystem info  
+ src/funcs.c - utilility functions  
+-src/getopt_long.c - for systems that don't have it.  
+-src/getline.c - for systems that don't have it.  
++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/is_tar.c, tar.h - knows about tarchives (courtesy John Gilmore).  
+ src/names.h - header file for ascmagic.c  
++src/magic.h.in - source file for magic.h
+ src/magic.c - the libmagic api  
++src/pread.c - replacement for OS's that don't have it.  
+ src/print.c - print results, errors, warnings.  
+ src/readcdf.c - CDF wrapper.  
+ src/readelf.[ch] - Stand-alone elf parsing code.  
+ src/softmagic.c - 2nd set of tests, based on /etc/magic  
+-src/strlcat.c - for systems that don't have it.  
+-src/strlcpy.c - for systems that don't have it.  
++src/mygetopt.h - replacement for OS's that don't have it.  
++src/strcasestr.c - replacement for OS's that don't have it.  
++src/strlcat.c - replacement for OS's that don't have it.  
++src/strlcpy.c - replacement for OS's that don't have it.  
++src/tar.h - tar file definitions
+ src/vasprintf.c - for systems that don't have it.  
+ doc/file.man - man page for the command  
+ doc/magic.man - man page for the magic file, courtesy Guy Harris.
+Index: contrib/file/TODO
+===================================================================
+--- contrib/file/TODO	(revision 284174)
++++ contrib/file/TODO	(working copy)
+@@ -15,3 +15,5 @@ small amount of C is needed (because fast executio
+ required for soft magic, not the more detailed information given by
+ hard-wired routines). In this regard, note that hplip, which is
+ BSD-licensed, has a magic reimplementation in Python.
++
++Read the kerberos magic entry for more ideas.
+Index: contrib/file/config.h.in
+===================================================================
+--- contrib/file/config.h.in	(revision 284174)
++++ contrib/file/config.h.in	(working copy)
+@@ -44,6 +44,9 @@
+ /* Define to 1 if you have the `fork' function. */
+ #undef HAVE_FORK
+ 
++/* Define to 1 if you have the `freelocale' function. */
++#undef HAVE_FREELOCALE
++
+ /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
+ #undef HAVE_FSEEKO
+ 
+@@ -95,9 +98,15 @@
+ /* Define to 1 if you have a working `mmap' system call. */
+ #undef HAVE_MMAP
+ 
++/* Define to 1 if you have the `newlocale' function. */
++#undef HAVE_NEWLOCALE
++
+ /* Define to 1 if you have the `pread' function. */
+ #undef HAVE_PREAD
+ 
++/* Define to 1 if you have the `setlocale' function. */
++#undef HAVE_SETLOCALE
++
+ /* Define to 1 if you have the <stddef.h> header file. */
+ #undef HAVE_STDDEF_H
+ 
+@@ -182,6 +191,9 @@
+ /* Define to 1 if you have the <unistd.h> header file. */
+ #undef HAVE_UNISTD_H
+ 
++/* Define to 1 if you have the `uselocale' function. */
++#undef HAVE_USELOCALE
++
+ /* Define to 1 if you have the `utime' function. */
+ #undef HAVE_UTIME
+ 
+@@ -219,6 +231,9 @@
+ /* Define to 1 if `vfork' works. */
+ #undef HAVE_WORKING_VFORK
+ 
++/* Define to 1 if you have the <xlocale.h> header file. */
++#undef HAVE_XLOCALE_H
++
+ /* Define to 1 if you have the <zlib.h> header file. */
+ #undef HAVE_ZLIB_H
+ 
+Index: contrib/file/configure
+===================================================================
+--- contrib/file/configure	(revision 284174)
++++ contrib/file/configure	(working copy)
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.69 for file 5.19.
++# Generated by GNU Autoconf 2.69 for file 5.22.
+ #
+ # Report bugs to <[email protected]>.
+ #
+@@ -590,8 +590,8 @@ MAKEFLAGS=
+ # Identity of this package.
+ PACKAGE_NAME='file'
+ PACKAGE_TARNAME='file'
+-PACKAGE_VERSION='5.19'
+-PACKAGE_STRING='file 5.19'
++PACKAGE_VERSION='5.22'
++PACKAGE_STRING='file 5.22'
+ PACKAGE_BUGREPORT='[email protected]'
+ PACKAGE_URL=''
+ 
+@@ -1327,7 +1327,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.19 to adapt to many kinds of systems.
++\`configure' configures file 5.22 to adapt to many kinds of systems.
+ 
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+ 
+@@ -1397,7 +1397,7 @@ fi
+ 
+ if test -n "$ac_init_help"; then
+   case $ac_init_help in
+-     short | recursive ) echo "Configuration of file 5.19:";;
++     short | recursive ) echo "Configuration of file 5.22:";;
+    esac
+   cat <<\_ACEOF
+ 
+@@ -1507,7 +1507,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+   cat <<\_ACEOF
+-file configure 5.19
++file configure 5.22
+ generated by GNU Autoconf 2.69
+ 
+ Copyright (C) 2012 Free Software Foundation, Inc.
+@@ -2163,7 +2163,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.19, which was
++It was created by file $as_me 5.22, which was
+ generated by GNU Autoconf 2.69.  Invocation command line was
+ 
+   $ $0 $@
+@@ -3029,7 +3029,7 @@ fi
+ 
+ # Define the identity of the package.
+  PACKAGE='file'
+- VERSION='5.19'
++ VERSION='5.22'
+ 
+ 
+ cat >>confdefs.h <<_ACEOF
+@@ -12785,7 +12785,7 @@ fi
+ 
+ done
+ 
+-for ac_header in getopt.h err.h
++for ac_header in getopt.h err.h xlocale.h
+ do :
+   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+@@ -14191,7 +14191,7 @@ fi
+ fi
+ 
+ 
+-for ac_func in strerror strndup strtoul mkstemp mkostemp utimes utime wcwidth strtof
++for ac_func in strerror strndup strtoul mkstemp mkostemp utimes utime wcwidth strtof newlocale uselocale freelocale setlocale
+ do :
+   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+@@ -14998,7 +14998,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.19, which was
++This file was extended by file $as_me 5.22, which was
+ generated by GNU Autoconf 2.69.  Invocation command line was
+ 
+   CONFIG_FILES    = $CONFIG_FILES
+@@ -15064,7 +15064,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.19
++file config.status 5.22
+ configured by $0, generated by GNU Autoconf 2.69,
+   with options \\"\$ac_cs_config\\"
+ 
+Index: contrib/file/configure.ac
+===================================================================
+--- contrib/file/configure.ac	(revision 284174)
++++ contrib/file/configure.ac	(working copy)
+@@ -1,5 +1,5 @@
+ dnl Process this file with autoconf to produce a configure script.
+-AC_INIT([file],[5.19],[[email protected]])
++AC_INIT([file],[5.22],[[email protected]])
+ AM_INIT_AUTOMAKE([subdir-objects foreign])
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+ 
+@@ -82,7 +82,7 @@ AC_HEADER_MAJOR
+ AC_HEADER_SYS_WAIT
+ AC_CHECK_HEADERS(stdint.h fcntl.h locale.h stdint.h inttypes.h unistd.h)
+ AC_CHECK_HEADERS(stddef.h utime.h wchar.h wctype.h limits.h)
+-AC_CHECK_HEADERS(getopt.h err.h)
++AC_CHECK_HEADERS(getopt.h err.h xlocale.h)
+ AC_CHECK_HEADERS(sys/mman.h sys/stat.h sys/types.h sys/utime.h sys/time.h)
+ AC_CHECK_HEADERS(zlib.h)
+ 
+@@ -138,7 +138,7 @@ else
+ fi])
+ 
+ dnl Checks for functions
+-AC_CHECK_FUNCS(strerror strndup strtoul mkstemp mkostemp utimes utime wcwidth strtof)
++AC_CHECK_FUNCS(strerror strndup strtoul mkstemp mkostemp utimes utime wcwidth strtof newlocale uselocale freelocale setlocale)
+ 
+ dnl Provide implementation of some required functions if necessary
+ AC_REPLACE_FUNCS(getopt_long asprintf vasprintf strlcpy strlcat getline ctime_r asctime_r pread strcasestr fmtcheck)
+Index: contrib/file/doc/file.man
+===================================================================
+--- contrib/file/doc/file.man	(revision 284174)
++++ contrib/file/doc/file.man	(working copy)
+@@ -1,5 +1,5 @@
+-.\" $File: file.man,v 1.106 2014/03/07 23:11:51 christos Exp $
+-.Dd January 30, 2014
++.\" $File: file.man,v 1.111 2014/12/16 23:18:40 christos Exp $
++.Dd December 16, 2014
+ .Dt FILE __CSECTION__
+ .Os
+ .Sh NAME
+@@ -16,6 +16,7 @@
+ .Op Fl F Ar separator
+ .Op Fl f Ar namefile
+ .Op Fl m Ar magicfiles
++.Op Fl P Ar name=value
+ .Ar
+ .Ek
+ .Nm
+@@ -303,6 +304,16 @@ or
+ attempt to preserve the access time of files analyzed, to pretend that
+ .Nm
+ never read them.
++.It Fl P , Fl Fl parameter Ar name=value
++Set various parameter limits.
++.Bl -column "elf_phnum" "Default" "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -offset indent
++.It Sy "Name" Ta Sy "Default" Ta Sy "Explanation"
++.It Li indir Ta 15 Ta recursion limit for indirect magic
++.It Li name Ta 30 Ta use count limit for name/use magic
++.It Li elf_notes Ta 256 Ta max ELF notes processed
++.It Li elf_phnum Ta 128 Ta max ELF program sections processed
++.It Li elf_shnum Ta 32768 Ta max ELF sections processed
++.El
+ .It Fl r , Fl Fl raw
+ Don't translate unprintable characters to \eooo.
+ Normally
+@@ -385,6 +396,7 @@ options.
+ .Xr hexdump 1 ,
+ .Xr od 1 ,
+ .Xr strings 1 ,
++.Xr fstyp 8
+ .Sh STANDARDS CONFORMANCE
+ This program is believed to exceed the System V Interface Definition
+ of FILE(CMD), as near as one can determine from the vague language
+Index: contrib/file/doc/libmagic.man
+===================================================================
+--- contrib/file/doc/libmagic.man	(revision 284174)
++++ contrib/file/doc/libmagic.man	(working copy)
+@@ -1,4 +1,4 @@
+-.\" $File: libmagic.man,v 1.28 2014/03/02 14:47:16 christos Exp $
++.\" $File: libmagic.man,v 1.34 2014/12/16 23:18:40 christos Exp $
+ .\"
+ .\" Copyright (c) Christos Zoulas 2003.
+ .\" All Rights Reserved.
+@@ -25,7 +25,7 @@
+ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ .\" SUCH DAMAGE.
+ .\"
+-.Dd January 6, 2012
++.Dd December 16, 2014
+ .Dt LIBMAGIC 3
+ .Os
+ .Sh NAME
+@@ -40,6 +40,9 @@
+ .Nm magic_compile ,
+ .Nm magic_list ,
+ .Nm magic_load ,
++.Nm magic_load_buffers ,
++.Nm magic_setparam ,
++.Nm magic_getparam ,
+ .Nm magic_version
+ .Nd Magic number recognition library
+ .Sh LIBRARY
+@@ -71,6 +74,12 @@
+ .Ft int
+ .Fn magic_load "magic_t cookie" "const char *filename"
+ .Ft int
++.Fn magic_load_buffers "magic_t cookie" "void **buffers" "size_t *sizes" "size_t nbuffers"
++.Ft int
++.Fn magic_getparam "magic_t cookie" "int param" "void *value"
++.Ft int
++.Fn magic_setparam "magic_t cookie" "int param" "const void *value"
++.Ft int
+ .Fn magic_version "void"
+ .Sh DESCRIPTION
+ These functions
+@@ -253,6 +262,60 @@ adds
+ to the database filename as appropriate.
+ .Pp
+ The
++.Fn magic_load_buffers
++function takes an array of size
++.Fa nbuffers
++of
++.Fa buffers
++with a respective size for each in the array of
++.Fa sizes
++loaded with the contents of the magic databases from the filesystem.
++This function can be used in environment where the magic library does
++not have direct access to the filesystem, but can access the magic
++database via shared memory or other IPC means.
++.Pp
++The
++.Fn magic_getparam
++and
++.Fn magic_setparam
++allow getting and setting various limits related to the the magic
++library.
++.Bl -column "MAGIC_PARAM_ELF_PHNUM_MAX" "size_t" "Default" -offset indent
++.It Sy "Parameter" Ta Sy "Type" Ta Sy "Default"
++.It Li MAGIC_PARAM_INDIR_MAX Ta size_t Ta 15
++.It Li MAGIC_PARAM_NAME_MAX Ta size_t Ta 30
++.It Li MAGIC_PARAM_ELF_NOTES_MAX Ta size_t Ta 256
++.It Li MAGIC_PARAM_ELF_PHNUM_MAX Ta size_t Ta 128
++.It Li MAGIC_PARAM_ELF_SHNUM_MAX Ta size_t Ta 32768
++.El
++.Pp
++The
++.Dv MAGIC_PARAM_INDIR_RECURSION
++parameter controls how many levels of recursion will be followed for
++indirect magic entries.
++.Pp
++The
++.Dv MAGIC_PARAM_NAME_RECURSION
++parameter controls how many levels of recursion will be followed for
++for name/use calls.
++.Pp
++The
++.Dv MAGIC_PARAM_NAME_MAX
++parameter controls the maximum number of calls for name/use.
++.Pp
++The
++.Dv MAGIC_PARAM_NOTES_MAX
++parameter controls how many ELF notes will be processed.
++.Pp
++The
++.Dv MAGIC_PARAM_PHNUM_MAX
++parameter controls how many ELF program sections will be processed.
++.Pp
++The
++.Dv MAGIC_PARAM_SHNUM_MAX
++parameter controls how many ELF sections will be processed.
++.Pp
++The
+ .Fn magic_version
+ command returns the version number of this library which is compiled into
+ the shared library using the constant
+Index: contrib/file/doc/magic.man
+===================================================================
+--- contrib/file/doc/magic.man	(revision 284174)
++++ contrib/file/doc/magic.man	(working copy)
+@@ -1,5 +1,5 @@
+-.\" $File: magic.man,v 1.84 2014/06/03 19:01:34 christos Exp $
+-.Dd June 3, 2014
++.\" $File: magic.man,v 1.85 2015/01/01 17:07:34 christos Exp $
++.Dd January 1, 2015
+ .Dt MAGIC __FSECTION__
+ .Os
+ .\" install as magic.4 on USG, magic.5 on V7, Berkeley and Linux systems.
+@@ -200,6 +200,11 @@ interpreted as a UNIX-style date, but interpreted
+ than UTC.
+ .It Dv indirect
+ Starting at the given offset, consult the magic database again.
++The offset of th
++.Dv indirect
++magic is by default absolute in the file, but one can specify
++.Dv /r
++to indicate that the offset is relative from the beginning of the entry.
+ .It Dv name
+ Define a
+ .Dq named
+Index: contrib/file/magic/Magdir/android
+===================================================================
+--- contrib/file/magic/Magdir/android	(revision 284174)
++++ contrib/file/magic/Magdir/android	(working copy)
+@@ -1,6 +1,6 @@
+ 
+ #------------------------------------------------------------
+-# $File: android,v 1.4 2014/06/03 19:01:34 christos Exp $
++# $File: android,v 1.7 2014/11/10 05:08:23 christos Exp $
+ # Various android related magic entries
+ #------------------------------------------------------------
+ 
+@@ -15,20 +15,11 @@
+ >0	regex	dey\n[0-9]{2}\0	Dalvik dex file (optimized for host)
+ >4	string	>000			version %s
+ 
+-# http://android.stackexchange.com/questions/23357/\
+-# is-there-a-way-to-look-inside-and-modify-an-adb-backup-created-file/\
+-# 23608#23608
+-0	string	ANDROID\040BACKUP\n	Android Backup
+->15	string	1\n			\b, version 1
+->17	string	0\n			\b, uncompressed
+->17	string	1\n			\b, compressed
+->19	string	none\n			\b, unencrypted
+->19	string	AES-256\n		\b, encrypted AES-256
+-
+ # Android bootimg format
+ # From https://android.googlesource.com/\
+ # platform/system/core/+/master/mkbootimg/bootimg.h
+ 0		string	ANDROID!	Android bootimg
++>1024	string	LOKI\01		\b, LOKI'd
+ >8		lelong	>0			\b, kernel
+ >>12	lelong	>0			\b (0x%x)
+ >16		lelong	>0			\b, ramdisk
+@@ -38,41 +29,7 @@
+ >36		lelong	>0			\b, page size: %d
+ >38		string	>0			\b, name: %s
+ >64		string	>0		 	\b, cmdline (%s)
+-# Dalvik .dex format. http://retrodev.com/android/dexformat.html
+-# From <[email protected]> "Mike Fleming"
+-# Fixed to avoid regexec 17 errors on some dex files
+-# From <[email protected]> "Tim Strazzere"
+-0	string	dex\n
+->0	regex	dex\n[0-9]{2}\0	Dalvik dex file
+->4	string	>000			version %s
+-0	string	dey\n
+->0	regex	dey\n[0-9]{2}\0	Dalvik dex file (optimized for host)
+->4	string	>000			version %s
+ 
+-# http://android.stackexchange.com/questions/23357/\
+-# is-there-a-way-to-look-inside-and-modify-an-adb-backup-created-file/\
+-# 23608#23608
+-0	string	ANDROID\040BACKUP\n	Android Backup
+->15	string	1\n			\b, version 1
+->17	string	0\n			\b, uncompressed
+->17	string	1\n			\b, compressed
+->19	string	none\n			\b, unencrypted
+->19	string	AES-256\n		\b, encrypted AES-256
+-
+-# Android bootimg format
+-# From https://android.googlesource.com/\
+-# platform/system/core/+/master/mkbootimg/bootimg.h
+-0		string	ANDROID!	Android bootimg
+->8		lelong	>0			\b, kernel
+->>12	lelong	>0			\b (0x%x)
+->16		lelong	>0			\b, ramdisk
+->>20	lelong	>0			\b (0x%x)
+->24		lelong	>0			\b, second stage
+->>28	lelong	>0			\b (0x%x)
+->36		lelong	>0			\b, page size: %d
+->38		string	>0			\b, name: %s
+->64		string	>0		 	\b, cmdline (%s)
+-
+ # Android Backup archive
+ # From: Ariel Shkedi
+ # File extension: .ab
+@@ -98,3 +55,85 @@
+ #>>>>>&1	regex/1l .*	\b, PBKDF2 rounds: %s
+ #>>>>>>&1	regex/1l .*	\b, IV: %s
+ #>>>>>>>&1	regex/1l .*	\b, Key: %s
++
++# *.pit files by Joerg Jenderek
++# http://forum.xda-developers.com/showthread.php?p=9122369
++# http://forum.xda-developers.com/showthread.php?t=816449
++# Partition Information Table for Samsung's smartphone with Android
++# used by flash software Odin
++0		ulelong			0x12349876	
++# 1st pit entry marker
++>0x01C	ulequad&0xFFFFFFFCFFFFFFFC	=0x0000000000000000	
++# minimal 13 and maximal 18 PIT entries found
++>>4		ulelong			<128	Partition Information Table for Samsung smartphone
++>>>4		ulelong			x	\b, %d entries
++# 1. pit entry
++>>>4		ulelong			>0	\b; #1
++>>>0x01C	use				PIT-entry
++>>>4		ulelong			>1	\b; #2
++>>>0x0A0	use				PIT-entry
++>>>4		ulelong			>2	\b; #3
++>>>0x124	use				PIT-entry
++>>>4		ulelong			>3	\b; #4
++>>>0x1A8	use				PIT-entry
++>>>4		ulelong			>4	\b; #5
++>>>0x22C	use				PIT-entry
++>>>4		ulelong			>5	\b; #6
++>>>0x2B0	use				PIT-entry
++>>>4		ulelong			>6	\b; #7
++>>>0x334	use				PIT-entry
++>>>4		ulelong			>7 	\b; #8
++>>>0x3B8	use				PIT-entry
++>>>4		ulelong			>8 	\b; #9
++>>>0x43C	use				PIT-entry
++>>>4		ulelong			>9	\b; #10
++>>>0x4C0	use				PIT-entry
++>>>4		ulelong			>10	\b; #11
++>>>0x544	use				PIT-entry
++>>>4		ulelong			>11	\b; #12
++>>>0x5C8	use				PIT-entry
++>>>4		ulelong			>12	\b; #13
++>>>>0x64C	use				PIT-entry
++# 14. pit entry
++>>>4		ulelong			>13	\b; #14
++>>>>0x6D0	use				PIT-entry
++>>>4		ulelong			>14	\b; #15
++>>>0x754	use				PIT-entry
++>>>4		ulelong			>15	\b; #16
++>>>0x7D8	use				PIT-entry
++>>>4		ulelong			>16	\b; #17
++>>>0x85C	use				PIT-entry
++# 18. pit entry
++>>>4		ulelong			>17	\b; #18
++>>>0x8E0	use				PIT-entry
++
++0	name			PIT-entry
++# garbage value implies end of pit entries
++>0x00		ulequad&0xFFFFFFFCFFFFFFFC	=0x0000000000000000	
++# skip empty partition name

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-doc-all
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.