Martin Matuska 91360634ec Update vendor/libarchive to git d77b577b2d5aa259fca06313c4940e1e61ab1e0e
Vendor changes (relevant to FreeBSD):
- bugfixes, improvemens and optimizations in ACL code
- NFSv4 ACLs can now be extracted from Solaris tar archives

Security fixes:
- cab reader: endless loop when parsing MSZIP signature (OSS-Fuzz 335)
- LHA reader: heap-buffer-overflow in lha_read_file_header_1() (CVE-2017-5601)
- LZ4 reader: null-pointer dereference in lz4_filter_read_legacy_stream()
  (OSS-Fuzz 453)
- mtree reader: heap-buffer-overflow in detect_form() (OSS-Fuzz 421, 443)
- WARC reader: heap-buffer-overflow in xstrpisotime() (OSS-Fuzz 382, 458)

Memory leak fixes:
- ACL support: free memory allocated by acl_get_qualifier()
- disk writer: missing free in create_filesystem_object()
- file reader: fd leak (Coverity 1016755)
- gnutar writer: fix free in archive_write_gnutar_header() (Coverity 1016752)
- iso 9660 reader: missing free in parse_file_info() (part. Coverity 1016754)
- program reader: missing free in __archive_read_program()
- program writer: missing free in __archive_write_program_free()
- xar reader: missing free in xar_cleanup()
- xar reader: missing frees in expat_xmlattr_setup() (Coverity 1229979-1229981)
- xar writer: missing free in file_free()
- zip reader: missing free in zip_read_locazip_read_local_file_header()
2017-02-02 00:20:18 +00:00
..

Notes on making a new release of libarchive
===========================================

The following serves as a guide for libarchive developers on the general
process to be followed when making a new release of libarchive.

* Update build/version with the version number of the release to be made.
* If the library's ABI has changed, the library's soname major version *MUST*
  be updated. Update configure.ac and CMakeLists.txt appropriately.
  - For configure.ac, the variable ARCHIVE_INTERFACE needs to be updated.
  - For CMakeLists.txt, the variable INTERFACE_VERSION needs to be updated.
* Update the entries in the NEWS file accordingly.
* Run `build/makerelease.sh` from the top source directory. Running this script
  will do the following.
  - Removes all Makefile.am development build specific CFLAGS from
    Makefile.am.
  - Update configure scripts and header files with the appropriate version
    number from build/version.
  - Rebuild the documentation directory.
  - Runs a full cmake build and test.
  - Runs a full autotools build and test.
  - Builds the .tar.gz and .zip distribution files.
* Commit all changed files into git.
  - This should be build/version, NEWS, and the files edited by running
    build/makerelease.sh.
* Tag the release appropriately. The tag should also have an appropriate
  message.
  - The git command is as follows:
    $ git tag -m "Libarchive <version>" v<version>
    Replace <version> with the version to be released.
* Copy all the generated wiki files and commit them into the libarchive.wiki
  repository. Overwrite any preexisting files with the same name (these files
  are always autogenerated from the libarchive release after every release).
* Update the libarchive.org website accordingly.
* Make an announcement to the libarchive-announce mailing list.