svn commit: r338600 - in head: contrib/libarchive contrib/libarchive/cpio/test contrib/libarchive/libarchive usr.bin/bsdcat usr.bin/cpio usr.bin/tar

Martin Matuska mm at FreeBSD.org
Tue Sep 11 20:51:37 UTC 2018


Author: mm
Date: Tue Sep 11 20:51:34 2018
New Revision: 338600
URL: https://svnweb.freebsd.org/changeset/base/338600

Log:
  MFV r338519:
  Update libarchive to 3.3.3
  
  As all important changes have already been merged from libarchive git
  this is just version number bump, documentation update and some
  polishing for cpio tests. Other source code changes are not relevant to
  FreeBSD.
  
  Approved by:	re (gjb)
  MFC after:	1 week

Modified:
  head/contrib/libarchive/NEWS
  head/contrib/libarchive/README.md
  head/contrib/libarchive/cpio/test/test_basic.c
  head/contrib/libarchive/cpio/test/test_format_newc.c
  head/contrib/libarchive/libarchive/archive.h
  head/contrib/libarchive/libarchive/archive_cryptor.c
  head/contrib/libarchive/libarchive/archive_entry.h
  head/contrib/libarchive/libarchive/archive_pack_dev.c
  head/usr.bin/bsdcat/Makefile
  head/usr.bin/cpio/Makefile
  head/usr.bin/tar/Makefile
Directory Properties:
  head/contrib/libarchive/   (props changed)

Modified: head/contrib/libarchive/NEWS
==============================================================================
--- head/contrib/libarchive/NEWS	Tue Sep 11 20:32:57 2018	(r338599)
+++ head/contrib/libarchive/NEWS	Tue Sep 11 20:51:34 2018	(r338600)
@@ -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)

Modified: head/contrib/libarchive/README.md
==============================================================================
--- head/contrib/libarchive/README.md	Tue Sep 11 20:32:57 2018	(r338599)
+++ head/contrib/libarchive/README.md	Tue Sep 11 20:51:34 2018	(r338600)
@@ -99,6 +99,7 @@ The library also detects and handles any of the follow
   * 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 wit
   * 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.
 

Modified: head/contrib/libarchive/cpio/test/test_basic.c
==============================================================================
--- head/contrib/libarchive/cpio/test/test_basic.c	Tue Sep 11 20:32:57 2018	(r338599)
+++ head/contrib/libarchive/cpio/test/test_basic.c	Tue Sep 11 20:51:34 2018	(r338600)
@@ -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. */

Modified: head/contrib/libarchive/cpio/test/test_format_newc.c
==============================================================================
--- head/contrib/libarchive/cpio/test/test_format_newc.c	Tue Sep 11 20:32:57 2018	(r338599)
+++ head/contrib/libarchive/cpio/test/test_format_newc.c	Tue Sep 11 20:51:34 2018	(r338600)
@@ -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. */

Modified: head/contrib/libarchive/libarchive/archive.h
==============================================================================
--- head/contrib/libarchive/libarchive/archive.h	Tue Sep 11 20:32:57 2018	(r338599)
+++ head/contrib/libarchive/libarchive/archive.h	Tue Sep 11 20:51:34 2018	(r338600)
@@ -36,7 +36,7 @@
  * assert that ARCHIVE_VERSION_NUMBER >= 2012108.
  */
 /* Note: Compiler will complain if this does not match archive_entry.h! */
-#define	ARCHIVE_VERSION_NUMBER 3003002
+#define	ARCHIVE_VERSION_NUMBER 3003003
 
 #include <sys/stat.h>
 #include <stddef.h>  /* for wchar_t */
@@ -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.2"
+#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);
 

Modified: head/contrib/libarchive/libarchive/archive_cryptor.c
==============================================================================
--- head/contrib/libarchive/libarchive/archive_cryptor.c	Tue Sep 11 20:32:57 2018	(r338599)
+++ head/contrib/libarchive/libarchive/archive_cryptor.c	Tue Sep 11 20:51:34 2018	(r338600)
@@ -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);

Modified: head/contrib/libarchive/libarchive/archive_entry.h
==============================================================================
--- head/contrib/libarchive/libarchive/archive_entry.h	Tue Sep 11 20:32:57 2018	(r338599)
+++ head/contrib/libarchive/libarchive/archive_entry.h	Tue Sep 11 20:51:34 2018	(r338600)
@@ -30,7 +30,7 @@
 #define	ARCHIVE_ENTRY_H_INCLUDED
 
 /* Note: Compiler will complain if this does not match archive.h! */
-#define	ARCHIVE_VERSION_NUMBER 3003002
+#define	ARCHIVE_VERSION_NUMBER 3003003
 
 /*
  * Note: archive_entry.h is for use outside of libarchive; the

Modified: head/contrib/libarchive/libarchive/archive_pack_dev.c
==============================================================================
--- head/contrib/libarchive/libarchive/archive_pack_dev.c	Tue Sep 11 20:32:57 2018	(r338599)
+++ head/contrib/libarchive/libarchive/archive_pack_dev.c	Tue Sep 11 20:51:34 2018	(r338600)
@@ -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

Modified: head/usr.bin/bsdcat/Makefile
==============================================================================
--- head/usr.bin/bsdcat/Makefile	Tue Sep 11 20:32:57 2018	(r338599)
+++ head/usr.bin/bsdcat/Makefile	Tue Sep 11 20:51:34 2018	(r338600)
@@ -6,7 +6,7 @@ _LIBARCHIVEDIR=	${SRCTOP}/contrib/libarchive
 _LIBARCHIVECONFDIR=	${SRCTOP}/lib/libarchive
 
 PROG=	bsdcat
-BSDCAT_VERSION_STRING=	3.3.2
+BSDCAT_VERSION_STRING=	3.3.3
 
 .PATH:	${_LIBARCHIVEDIR}/cat
 SRCS=	bsdcat.c cmdline.c

Modified: head/usr.bin/cpio/Makefile
==============================================================================
--- head/usr.bin/cpio/Makefile	Tue Sep 11 20:32:57 2018	(r338599)
+++ head/usr.bin/cpio/Makefile	Tue Sep 11 20:51:34 2018	(r338600)
@@ -6,7 +6,7 @@ _LIBARCHIVEDIR=	${SRCTOP}/contrib/libarchive
 _LIBARCHIVECONFDIR=	${SRCTOP}/lib/libarchive
 
 PROG=	bsdcpio
-BSDCPIO_VERSION_STRING=	3.3.2
+BSDCPIO_VERSION_STRING=	3.3.3
 
 .PATH:	${_LIBARCHIVEDIR}/cpio
 SRCS=	cpio.c cmdline.c

Modified: head/usr.bin/tar/Makefile
==============================================================================
--- head/usr.bin/tar/Makefile	Tue Sep 11 20:32:57 2018	(r338599)
+++ head/usr.bin/tar/Makefile	Tue Sep 11 20:51:34 2018	(r338600)
@@ -4,7 +4,7 @@
 _LIBARCHIVEDIR=	${SRCTOP}/contrib/libarchive
 
 PROG=	bsdtar
-BSDTAR_VERSION_STRING=	3.3.2
+BSDTAR_VERSION_STRING=	3.3.3
 
 .PATH: ${_LIBARCHIVEDIR}/tar
 SRCS=	bsdtar.c	\


More information about the svn-src-head mailing list