Update vendor/libarchive/dist to git 5fe69dd018745a88eecf1f7db40daf12d26f7ed0

libarchive 3.3.3
This commit is contained in:
Martin Matuska 2018-09-07 00:11:43 +00:00
parent 01ab5f2b03
commit 7ab7abddce
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/vendor/libarchive/dist/; revision=338519
svn path=/vendor/libarchive/3.3.3/; revision=338520; tag=vendor/libarchive/3.3.3
11 changed files with 99 additions and 33 deletions

View File

@ -639,6 +639,7 @@ LA_CHECK_INCLUDE_FILE("sys/select.h" HAVE_SYS_SELECT_H)
LA_CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H) LA_CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H)
LA_CHECK_INCLUDE_FILE("sys/statfs.h" HAVE_SYS_STATFS_H) LA_CHECK_INCLUDE_FILE("sys/statfs.h" HAVE_SYS_STATFS_H)
LA_CHECK_INCLUDE_FILE("sys/statvfs.h" HAVE_SYS_STATVFS_H) LA_CHECK_INCLUDE_FILE("sys/statvfs.h" HAVE_SYS_STATVFS_H)
LA_CHECK_INCLUDE_FILE("sys/sysmacros.h" HAVE_SYS_SYSMACROS_H)
LA_CHECK_INCLUDE_FILE("sys/time.h" HAVE_SYS_TIME_H) LA_CHECK_INCLUDE_FILE("sys/time.h" HAVE_SYS_TIME_H)
LA_CHECK_INCLUDE_FILE("sys/utime.h" HAVE_SYS_UTIME_H) LA_CHECK_INCLUDE_FILE("sys/utime.h" HAVE_SYS_UTIME_H)
LA_CHECK_INCLUDE_FILE("sys/utsname.h" HAVE_SYS_UTSNAME_H) LA_CHECK_INCLUDE_FILE("sys/utsname.h" HAVE_SYS_UTSNAME_H)

10
NEWS
View File

@ -1,3 +1,13 @@
Sep 03, 2018: libarchive 3.3.3 released
Jul 19, 2018: Avoid super-linear slowdown on malformed mtree files
Jan 27, 2018: Many fixes for building with Visual Studio
Oct 19, 2017: NO_OVERWRITE doesn't change existing directory attributes
Aug 12, 2017: New support for Zstandard read and write filters
Jul 09, 2017: libarchive 3.3.2 released Jul 09, 2017: libarchive 3.3.2 released
Mar 16, 2017: NFSv4 ACL support for Linux (librichacl) Mar 16, 2017: NFSv4 ACL support for Linux (librichacl)

View File

@ -99,6 +99,7 @@ The library also detects and handles any of the following before evaluating the
* lzma, lzip, and xz compression * lzma, lzip, and xz compression
* lz4 compression * lz4 compression
* lzop compression * lzop compression
* zstandard compression
The library can create archives in any of the following formats: The library can create archives in any of the following formats:
* POSIX ustar * POSIX ustar
@ -125,6 +126,7 @@ When creating archives, the result can be filtered with any of the following:
* lzma, lzip, and xz compression * lzma, lzip, and xz compression
* lz4 compression * lz4 compression
* lzop compression * lzop compression
* zstandard compression
## Notes about the Library Design ## Notes about the Library Design
@ -159,7 +161,7 @@ questions we are asked about libarchive:
* On read, compression and format are always detected automatically. * On read, compression and format are always detected automatically.
* The same API is used for all formats; in particular, it's very * The same API is used for all formats; it should be very
easy for software using libarchive to transparently handle easy for software using libarchive to transparently handle
any of libarchive's archiving formats. any of libarchive's archiving formats.

View File

@ -1068,6 +1068,10 @@ typedef uint64_t uintmax_t;
/* Define to 1 if you have the <sys/stat.h> header file. */ /* Define to 1 if you have the <sys/stat.h> header file. */
#cmakedefine HAVE_SYS_STAT_H 1 #cmakedefine HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#cmakedefine HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */ /* Define to 1 if you have the <sys/time.h> header file. */
#cmakedefine HAVE_SYS_TIME_H 1 #cmakedefine HAVE_SYS_TIME_H 1

View File

@ -1 +1 @@
3003003dev 3003003

View File

@ -4,7 +4,7 @@ dnl First, define all of the version numbers up front.
dnl In particular, this allows the version macro to be used in AC_INIT dnl In particular, this allows the version macro to be used in AC_INIT
dnl These first two version numbers are updated automatically on each release. dnl These first two version numbers are updated automatically on each release.
m4_define([LIBARCHIVE_VERSION_S],[3.3.3dev]) m4_define([LIBARCHIVE_VERSION_S],[3.3.3])
m4_define([LIBARCHIVE_VERSION_N],[3003003]) m4_define([LIBARCHIVE_VERSION_N],[3003003])
dnl bsdtar and bsdcpio versioning tracks libarchive dnl bsdtar and bsdcpio versioning tracks libarchive
@ -290,7 +290,7 @@ AC_CHECK_HEADERS([stdarg.h stdint.h stdlib.h string.h])
AC_CHECK_HEADERS([sys/acl.h sys/cdefs.h sys/ea.h sys/extattr.h]) AC_CHECK_HEADERS([sys/acl.h sys/cdefs.h sys/ea.h sys/extattr.h])
AC_CHECK_HEADERS([sys/ioctl.h sys/mkdev.h sys/mount.h]) AC_CHECK_HEADERS([sys/ioctl.h sys/mkdev.h sys/mount.h])
AC_CHECK_HEADERS([sys/param.h sys/poll.h sys/richacl.h]) AC_CHECK_HEADERS([sys/param.h sys/poll.h sys/richacl.h])
AC_CHECK_HEADERS([sys/select.h sys/statfs.h sys/statvfs.h]) AC_CHECK_HEADERS([sys/select.h sys/statfs.h sys/statvfs.h sys/sysmacros.h])
AC_CHECK_HEADERS([sys/time.h sys/utime.h sys/utsname.h sys/vfs.h sys/xattr.h]) AC_CHECK_HEADERS([sys/time.h sys/utime.h sys/utsname.h sys/vfs.h sys/xattr.h])
AC_CHECK_HEADERS([time.h unistd.h utime.h wchar.h wctype.h]) AC_CHECK_HEADERS([time.h unistd.h utime.h wchar.h wctype.h])
AC_CHECK_HEADERS([windows.h]) AC_CHECK_HEADERS([windows.h])

View File

@ -144,49 +144,79 @@ DEFINE_TEST(test_basic)
/* File with 10 bytes content. */ /* File with 10 bytes content. */
assertMakeFile("file", 0644, "1234567890"); assertMakeFile("file", 0644, "1234567890");
fprintf(filelist, "file\n"); fprintf(filelist, "file\n");
if (is_LargeInode("file")) if (is_LargeInode("file")) {
strncat(result, strncat(result,
"bsdcpio: file: large inode number truncated: " "bsdcpio: file: large inode number truncated: ",
"Numerical result out of range\n",
sizeof(result) - strlen(result) -1); sizeof(result) - strlen(result) -1);
strncat(result,
strerror(ERANGE),
sizeof(result) - strlen(result) -1);
strncat(result,
"\n",
sizeof(result) - strlen(result) -1);
}
/* hardlink to above file. */ /* hardlink to above file. */
assertMakeHardlink("linkfile", "file"); assertMakeHardlink("linkfile", "file");
fprintf(filelist, "linkfile\n"); fprintf(filelist, "linkfile\n");
if (is_LargeInode("linkfile")) if (is_LargeInode("linkfile")) {
strncat(result, strncat(result,
"bsdcpio: linkfile: large inode number truncated: " "bsdcpio: linkfile: large inode number truncated: ",
"Numerical result out of range\n",
sizeof(result) - strlen(result) -1); sizeof(result) - strlen(result) -1);
strncat(result,
strerror(ERANGE),
sizeof(result) - strlen(result) -1);
strncat(result,
"\n",
sizeof(result) - strlen(result) -1);
}
/* Symlink to above file. */ /* Symlink to above file. */
if (canSymlink()) { if (canSymlink()) {
assertMakeSymlink("symlink", "file"); assertMakeSymlink("symlink", "file");
fprintf(filelist, "symlink\n"); fprintf(filelist, "symlink\n");
if (is_LargeInode("symlink")) if (is_LargeInode("symlink")) {
strncat(result, strncat(result,
"bsdcpio: symlink: large inode number truncated: " "bsdcpio: symlink: large inode number truncated: ",
"Numerical result out of range\n",
sizeof(result) - strlen(result) -1); sizeof(result) - strlen(result) -1);
strncat(result,
strerror(ERANGE),
sizeof(result) - strlen(result) -1);
strncat(result,
"\n",
sizeof(result) - strlen(result) -1);
}
} }
/* Another file with different permissions. */ /* Another file with different permissions. */
assertMakeFile("file2", 0777, "1234567890"); assertMakeFile("file2", 0777, "1234567890");
fprintf(filelist, "file2\n"); fprintf(filelist, "file2\n");
if (is_LargeInode("file2")) if (is_LargeInode("file2")) {
strncat(result, strncat(result,
"bsdcpio: file2: large inode number truncated: " "bsdcpio: file2: large inode number truncated: ",
"Numerical result out of range\n",
sizeof(result) - strlen(result) -1); sizeof(result) - strlen(result) -1);
strncat(result,
strerror(ERANGE),
sizeof(result) - strlen(result) -1);
strncat(result,
"\n",
sizeof(result) - strlen(result) -1);
}
/* Directory. */ /* Directory. */
assertMakeDir("dir", 0775); assertMakeDir("dir", 0775);
fprintf(filelist, "dir\n"); fprintf(filelist, "dir\n");
if (is_LargeInode("dir")) if (is_LargeInode("dir")) {
strncat(result, strncat(result,
"bsdcpio: dir: large inode number truncated: " "bsdcpio: dir: large inode number truncated: ",
"Numerical result out of range\n",
sizeof(result) - strlen(result) -1); sizeof(result) - strlen(result) -1);
strncat(result,
strerror(ERANGE),
sizeof(result) - strlen(result) -1);
strncat(result,
"\n",
sizeof(result) - strlen(result) -1);
}
strncat(result, "2 blocks\n", sizeof(result) - strlen(result) -1); strncat(result, "2 blocks\n", sizeof(result) - strlen(result) -1);
/* All done. */ /* All done. */

View File

@ -124,26 +124,42 @@ DEFINE_TEST(test_format_newc)
/* Setup result message. */ /* Setup result message. */
memset(result, 0, sizeof(result)); memset(result, 0, sizeof(result));
if (is_LargeInode("file1")) if (is_LargeInode("file1")) {
strncat(result, strncat(result,
"bsdcpio: file1: large inode number truncated: " "bsdcpio: file1: large inode number truncated: ",
"Numerical result out of range\n",
sizeof(result) - strlen(result) -1); sizeof(result) - strlen(result) -1);
if (canSymlink() && is_LargeInode("symlink")) strncat(result, strerror(ERANGE),
sizeof(result) - strlen(result) -1);
strncat(result, "\n",
sizeof(result) - strlen(result) -1);
}
if (canSymlink() && is_LargeInode("symlink")) {
strncat(result, strncat(result,
"bsdcpio: symlink: large inode number truncated: " "bsdcpio: symlink: large inode number truncated: ",
"Numerical result out of range\n",
sizeof(result) - strlen(result) -1); sizeof(result) - strlen(result) -1);
if (is_LargeInode("dir")) strncat(result, strerror(ERANGE),
sizeof(result) - strlen(result) -1);
strncat(result, "\n",
sizeof(result) - strlen(result) -1);
}
if (is_LargeInode("dir")) {
strncat(result, strncat(result,
"bsdcpio: dir: large inode number truncated: " "bsdcpio: dir: large inode number truncated: ",
"Numerical result out of range\n",
sizeof(result) - strlen(result) -1); sizeof(result) - strlen(result) -1);
if (is_LargeInode("hardlink")) strncat(result, strerror(ERANGE),
sizeof(result) - strlen(result) -1);
strncat(result, "\n",
sizeof(result) - strlen(result) -1);
}
if (is_LargeInode("hardlink")) {
strncat(result, strncat(result,
"bsdcpio: hardlink: large inode number truncated: " "bsdcpio: hardlink: large inode number truncated: ",
"Numerical result out of range\n",
sizeof(result) - strlen(result) -1); sizeof(result) - strlen(result) -1);
strncat(result, strerror(ERANGE),
sizeof(result) - strlen(result) -1);
strncat(result, "\n",
sizeof(result) - strlen(result) -1);
}
/* Record some facts about what we just created: */ /* Record some facts about what we just created: */
now = time(NULL); /* They were all created w/in last two seconds. */ now = time(NULL); /* They were all created w/in last two seconds. */

View File

@ -155,7 +155,7 @@ __LA_DECL int archive_version_number(void);
/* /*
* Textual name/version of the library, useful for version displays. * Textual name/version of the library, useful for version displays.
*/ */
#define ARCHIVE_VERSION_ONLY_STRING "3.3.3dev" #define ARCHIVE_VERSION_ONLY_STRING "3.3.3"
#define ARCHIVE_VERSION_STRING "libarchive " ARCHIVE_VERSION_ONLY_STRING #define ARCHIVE_VERSION_STRING "libarchive " ARCHIVE_VERSION_ONLY_STRING
__LA_DECL const char * archive_version_string(void); __LA_DECL const char * archive_version_string(void);

View File

@ -153,7 +153,7 @@ aes_ctr_encrypt_counter(archive_crypto_ctx *ctx)
CCCryptorStatus r; CCCryptorStatus r;
r = CCCryptorReset(ref, NULL); r = CCCryptorReset(ref, NULL);
if (r != kCCSuccess) if (r != kCCSuccess && r != kCCUnimplemented)
return -1; return -1;
r = CCCryptorUpdate(ref, ctx->nonce, AES_BLOCK_SIZE, ctx->encr_buf, r = CCCryptorUpdate(ref, ctx->nonce, AES_BLOCK_SIZE, ctx->encr_buf,
AES_BLOCK_SIZE, NULL); AES_BLOCK_SIZE, NULL);

View File

@ -57,6 +57,9 @@ __RCSID("$NetBSD$");
#ifdef HAVE_SYS_STAT_H #ifdef HAVE_SYS_STAT_H
#include <sys/stat.h> #include <sys/stat.h>
#endif #endif
#ifdef HAVE_SYS_SYSMACROS_H
#include <sys/sysmacros.h>
#endif
#ifdef HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif