Update vendor/libarchive/dist to git 5fe69dd018745a88eecf1f7db40daf12d26f7ed0
libarchive 3.3.3
This commit is contained in:
parent
b226c5aa1d
commit
f63fed4c85
@ -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/statfs.h" HAVE_SYS_STATFS_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/utime.h" HAVE_SYS_UTIME_H)
|
||||
LA_CHECK_INCLUDE_FILE("sys/utsname.h" HAVE_SYS_UTSNAME_H)
|
||||
|
10
NEWS
10
NEWS
@ -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
|
||||
|
||||
Mar 16, 2017: NFSv4 ACL support for Linux (librichacl)
|
||||
|
@ -99,6 +99,7 @@ The library also detects and handles any of the following before evaluating the
|
||||
* lzma, lzip, and xz compression
|
||||
* lz4 compression
|
||||
* lzop compression
|
||||
* zstandard compression
|
||||
|
||||
The library can create archives in any of the following formats:
|
||||
* POSIX ustar
|
||||
@ -125,6 +126,7 @@ When creating archives, the result can be filtered with any of the following:
|
||||
* lzma, lzip, and xz compression
|
||||
* lz4 compression
|
||||
* lzop compression
|
||||
* zstandard compression
|
||||
|
||||
## Notes about the Library Design
|
||||
|
||||
@ -159,7 +161,7 @@ questions we are asked about libarchive:
|
||||
|
||||
* 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
|
||||
any of libarchive's archiving formats.
|
||||
|
||||
|
@ -1068,6 +1068,10 @@ typedef uint64_t uintmax_t;
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#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. */
|
||||
#cmakedefine HAVE_SYS_TIME_H 1
|
||||
|
||||
|
@ -1 +1 @@
|
||||
3003003dev
|
||||
3003003
|
||||
|
@ -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 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])
|
||||
|
||||
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/ioctl.h sys/mkdev.h sys/mount.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([time.h unistd.h utime.h wchar.h wctype.h])
|
||||
AC_CHECK_HEADERS([windows.h])
|
||||
|
@ -144,49 +144,79 @@ DEFINE_TEST(test_basic)
|
||||
/* File with 10 bytes content. */
|
||||
assertMakeFile("file", 0644, "1234567890");
|
||||
fprintf(filelist, "file\n");
|
||||
if (is_LargeInode("file"))
|
||||
if (is_LargeInode("file")) {
|
||||
strncat(result,
|
||||
"bsdcpio: file: large inode number truncated: "
|
||||
"Numerical result out of range\n",
|
||||
"bsdcpio: file: large inode number truncated: ",
|
||||
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. */
|
||||
assertMakeHardlink("linkfile", "file");
|
||||
fprintf(filelist, "linkfile\n");
|
||||
if (is_LargeInode("linkfile"))
|
||||
if (is_LargeInode("linkfile")) {
|
||||
strncat(result,
|
||||
"bsdcpio: linkfile: large inode number truncated: "
|
||||
"Numerical result out of range\n",
|
||||
"bsdcpio: linkfile: large inode number truncated: ",
|
||||
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. */
|
||||
if (canSymlink()) {
|
||||
assertMakeSymlink("symlink", "file");
|
||||
fprintf(filelist, "symlink\n");
|
||||
if (is_LargeInode("symlink"))
|
||||
if (is_LargeInode("symlink")) {
|
||||
strncat(result,
|
||||
"bsdcpio: symlink: large inode number truncated: "
|
||||
"Numerical result out of range\n",
|
||||
"bsdcpio: symlink: large inode number truncated: ",
|
||||
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. */
|
||||
assertMakeFile("file2", 0777, "1234567890");
|
||||
fprintf(filelist, "file2\n");
|
||||
if (is_LargeInode("file2"))
|
||||
if (is_LargeInode("file2")) {
|
||||
strncat(result,
|
||||
"bsdcpio: file2: large inode number truncated: "
|
||||
"Numerical result out of range\n",
|
||||
"bsdcpio: file2: large inode number truncated: ",
|
||||
sizeof(result) - strlen(result) -1);
|
||||
strncat(result,
|
||||
strerror(ERANGE),
|
||||
sizeof(result) - strlen(result) -1);
|
||||
strncat(result,
|
||||
"\n",
|
||||
sizeof(result) - strlen(result) -1);
|
||||
}
|
||||
|
||||
/* Directory. */
|
||||
assertMakeDir("dir", 0775);
|
||||
fprintf(filelist, "dir\n");
|
||||
if (is_LargeInode("dir"))
|
||||
if (is_LargeInode("dir")) {
|
||||
strncat(result,
|
||||
"bsdcpio: dir: large inode number truncated: "
|
||||
"Numerical result out of range\n",
|
||||
"bsdcpio: dir: large inode number truncated: ",
|
||||
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);
|
||||
|
||||
/* All done. */
|
||||
|
@ -124,26 +124,42 @@ DEFINE_TEST(test_format_newc)
|
||||
|
||||
/* Setup result message. */
|
||||
memset(result, 0, sizeof(result));
|
||||
if (is_LargeInode("file1"))
|
||||
if (is_LargeInode("file1")) {
|
||||
strncat(result,
|
||||
"bsdcpio: file1: large inode number truncated: "
|
||||
"Numerical result out of range\n",
|
||||
"bsdcpio: file1: large inode number truncated: ",
|
||||
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,
|
||||
"bsdcpio: symlink: large inode number truncated: "
|
||||
"Numerical result out of range\n",
|
||||
"bsdcpio: symlink: large inode number truncated: ",
|
||||
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,
|
||||
"bsdcpio: dir: large inode number truncated: "
|
||||
"Numerical result out of range\n",
|
||||
"bsdcpio: dir: large inode number truncated: ",
|
||||
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,
|
||||
"bsdcpio: hardlink: large inode number truncated: "
|
||||
"Numerical result out of range\n",
|
||||
"bsdcpio: hardlink: large inode number truncated: ",
|
||||
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: */
|
||||
now = time(NULL); /* They were all created w/in last two seconds. */
|
||||
|
@ -155,7 +155,7 @@ __LA_DECL int archive_version_number(void);
|
||||
/*
|
||||
* 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
|
||||
__LA_DECL const char * archive_version_string(void);
|
||||
|
||||
|
@ -153,7 +153,7 @@ aes_ctr_encrypt_counter(archive_crypto_ctx *ctx)
|
||||
CCCryptorStatus r;
|
||||
|
||||
r = CCCryptorReset(ref, NULL);
|
||||
if (r != kCCSuccess)
|
||||
if (r != kCCSuccess && r != kCCUnimplemented)
|
||||
return -1;
|
||||
r = CCCryptorUpdate(ref, ctx->nonce, AES_BLOCK_SIZE, ctx->encr_buf,
|
||||
AES_BLOCK_SIZE, NULL);
|
||||
|
@ -57,6 +57,9 @@ __RCSID("$NetBSD$");
|
||||
#ifdef HAVE_SYS_STAT_H
|
||||
#include <sys/stat.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_SYSMACROS_H
|
||||
#include <sys/sysmacros.h>
|
||||
#endif
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user