Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Jun 2016 15:18:22 +0000 (UTC)
From:      Martin Matuska <mm@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r302056 - in vendor/libarchive/dist: . cpio cpio/test libarchive libarchive_fe
Message-ID:  <201606211518.u5LFIMSg022047@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mm
Date: Tue Jun 21 15:18:22 2016
New Revision: 302056
URL: https://svnweb.freebsd.org/changeset/base/302056

Log:
  Update vendor/libarchive to git f502a81fcd7c331204bf53cc40cbf966ebb28a42

Modified:
  vendor/libarchive/dist/configure.ac
  vendor/libarchive/dist/cpio/cpio.c
  vendor/libarchive/dist/cpio/test/test_option_version.c
  vendor/libarchive/dist/libarchive/archive_read_support_format_lha.c
  vendor/libarchive/dist/libarchive/archive_read_support_format_warc.c
  vendor/libarchive/dist/libarchive_fe/passphrase.c

Modified: vendor/libarchive/dist/configure.ac
==============================================================================
--- vendor/libarchive/dist/configure.ac	Tue Jun 21 14:16:32 2016	(r302055)
+++ vendor/libarchive/dist/configure.ac	Tue Jun 21 15:18:22 2016	(r302056)
@@ -27,6 +27,7 @@ AC_CONFIG_AUX_DIR([build/autoconf])
 AC_CONFIG_MACRO_DIR([build/autoconf])
 # Must follow AC_CONFIG macros above...
 AM_INIT_AUTOMAKE()
+AM_MAINTAINER_MODE([enable])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 # Libtool's "interface version" can be computed from the libarchive version.
@@ -845,6 +846,7 @@ if test "x$with_openssl" != "xno"; then
     else
       AC_CHECK_FUNCS([PKCS5_PBKDF2_HMAC_SHA1])
     fi
+    AC_CHECK_LIB(crypto,EVP_CIPHER_CTX_init)
 fi
 
 # Probe libmd AFTER OpenSSL/libcrypto.

Modified: vendor/libarchive/dist/cpio/cpio.c
==============================================================================
--- vendor/libarchive/dist/cpio/cpio.c	Tue Jun 21 14:16:32 2016	(r302055)
+++ vendor/libarchive/dist/cpio/cpio.c	Tue Jun 21 15:18:22 2016	(r302056)
@@ -498,7 +498,7 @@ long_help(void)
 static void
 version(void)
 {
-	fprintf(stdout,"bsdcpio %s -- %s\n",
+	fprintf(stdout,"bsdcpio %s - %s\n",
 	    BSDCPIO_VERSION_STRING,
 	    archive_version_details());
 	exit(0);

Modified: vendor/libarchive/dist/cpio/test/test_option_version.c
==============================================================================
--- vendor/libarchive/dist/cpio/test/test_option_version.c	Tue Jun 21 14:16:32 2016	(r302055)
+++ vendor/libarchive/dist/cpio/test/test_option_version.c	Tue Jun 21 15:18:22 2016	(r302056)
@@ -59,8 +59,8 @@ verify(const char *p, size_t s)
 	++q; --s;
 	/* Separator. */
 	failure("Version: %s", p);
-	assertEqualMem(q, "-- ", 3);
-	q += 3; s -= 3;
+	assertEqualMem(q, "- ", 2);
+	q += 2; s -= 2;
 	/* libarchive name and version number */
 	assert(s > 11);
 	failure("Version: %s", p);

Modified: vendor/libarchive/dist/libarchive/archive_read_support_format_lha.c
==============================================================================
--- vendor/libarchive/dist/libarchive/archive_read_support_format_lha.c	Tue Jun 21 14:16:32 2016	(r302055)
+++ vendor/libarchive/dist/libarchive/archive_read_support_format_lha.c	Tue Jun 21 15:18:22 2016	(r302056)
@@ -1712,6 +1712,7 @@ lha_crc16(uint16_t crc, const void *pp, 
 	for (;len >= 8; len -= 8) {
 		/* This if statement expects compiler optimization will
 		 * remove the stament which will not be executed. */
+#undef bswap16
 #if defined(_MSC_VER) && _MSC_VER >= 1400  /* Visual Studio */
 #  define bswap16(x) _byteswap_ushort(x)
 #elif (defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 8) \

Modified: vendor/libarchive/dist/libarchive/archive_read_support_format_warc.c
==============================================================================
--- vendor/libarchive/dist/libarchive/archive_read_support_format_warc.c	Tue Jun 21 14:16:32 2016	(r302055)
+++ vendor/libarchive/dist/libarchive/archive_read_support_format_warc.c	Tue Jun 21 15:18:22 2016	(r302056)
@@ -535,7 +535,8 @@ xstrpisotime(const char *s, char **endpt
 
 	/* as a courtesy to our callers, and since this is a non-standard
 	 * routine, we skip leading whitespace */
-	for (; isspace(*s); s++);
+	while (isspace((unsigned char)*s))
+		++s;
 
 	/* read year */
 	if ((tm.tm_year = strtoi_lim(s, &s, 1583, 4095)) < 0 || *s++ != '-') {
@@ -639,7 +640,9 @@ _warc_rdtyp(const char *buf, size_t bsz)
 		return WT_NONE;
 	}
 	/* overread whitespace */
-	for (val += sizeof(_key) - 1U; val < eob && isspace(*val); val++);
+	val += sizeof(_key) - 1U;
+	while (val < eob && isspace((unsigned char)*val))
+		++val;
 
 	if (val + 8U > eob) {
 		;
@@ -676,7 +679,9 @@ _warc_rduri(const char *buf, size_t bsz)
 		return res;
 	}
 	/* overread whitespace */
-	for (val += sizeof(_key) - 1U; val < eob && isspace(*val); val++);
+	val += sizeof(_key) - 1U;
+	while (val < eob && isspace((unsigned char)*val))
+		++val;
 
 	/* overread URL designators */
 	if ((uri = xmemmem(val, eob - val, "://", 3U)) == NULL) {
@@ -692,7 +697,8 @@ _warc_rduri(const char *buf, size_t bsz)
 	/* also massage eol to point to the first whitespace
 	 * after the last non-whitespace character before
 	 * the end of the line */
-	for (; eol > uri && isspace(eol[-1]); eol--);
+	while (eol > uri && isspace((unsigned char)eol[-1]))
+		--eol;
 
 	/* now then, inspect the URI */
 	if (memcmp(val, "file", 4U) == 0) {
@@ -727,7 +733,7 @@ _warc_rdlen(const char *buf, size_t bsz)
 	/* strtol kindly overreads whitespace for us, so use that */
 	val += sizeof(_key) - 1U;
 	len = strtol(val, &on, 10);
-	if (on == NULL || !isspace(*on)) {
+	if (on == NULL || !isspace((unsigned char)*on)) {
 		/* hm, can we trust that number?  Best not. */
 		return -1;
 	}
@@ -750,7 +756,7 @@ _warc_rdrtm(const char *buf, size_t bsz)
 	/* xstrpisotime() kindly overreads whitespace for us, so use that */
 	val += sizeof(_key) - 1U;
 	res = xstrpisotime(val, &on);
-	if (on == NULL || !isspace(*on)) {
+	if (on == NULL || !isspace((unsigned char)*on)) {
 		/* hm, can we trust that number?  Best not. */
 		return (time_t)-1;
 	}
@@ -773,7 +779,7 @@ _warc_rdmtm(const char *buf, size_t bsz)
 	/* xstrpisotime() kindly overreads whitespace for us, so use that */
 	val += sizeof(_key) - 1U;
 	res = xstrpisotime(val, &on);
-	if (on == NULL || !isspace(*on)) {
+	if (on == NULL || !isspace((unsigned char)*on)) {
 		/* hm, can we trust that number?  Best not. */
 		return (time_t)-1;
 	}

Modified: vendor/libarchive/dist/libarchive_fe/passphrase.c
==============================================================================
--- vendor/libarchive/dist/libarchive_fe/passphrase.c	Tue Jun 21 14:16:32 2016	(r302055)
+++ vendor/libarchive/dist/libarchive_fe/passphrase.c	Tue Jun 21 15:18:22 2016	(r302056)
@@ -121,14 +121,15 @@ readpassphrase(const char *prompt, char 
 
 #else /* _WIN32 && !__CYGWIN__ */
 
-#include <termios.h>
-#include <signal.h>
+#include <assert.h>
 #include <ctype.h>
 #include <fcntl.h>
 #ifdef HAVE_PATHS_H
 #include <paths.h>
 #endif
+#include <signal.h>
 #include <string.h>
+#include <termios.h>
 #include <unistd.h>
 
 #ifdef TCSASOFT
@@ -142,11 +143,18 @@ readpassphrase(const char *prompt, char 
 #  define _POSIX_VDISABLE       VDISABLE
 #endif
 
-static volatile sig_atomic_t *signo;
+#define M(a,b) (a > b ? a : b)
+#define MAX_SIGNO M(M(M(SIGALRM, SIGHUP), \
+                      M(SIGINT, SIGPIPE)), \
+                    M(M(SIGQUIT, SIGTERM), \
+                      M(M(SIGTSTP, SIGTTIN), SIGTTOU)))
+
+static volatile sig_atomic_t signo[MAX_SIGNO + 1];
 
 static void
 handler(int s)
 {
+	assert(s <= MAX_SIGNO);
 	signo[s] = 1;
 }
 
@@ -166,12 +174,8 @@ readpassphrase(const char *prompt, char 
 		return(NULL);
 	}
 
-	if (signo == NULL) {
-		signo = calloc(SIGRTMAX, sizeof(sig_atomic_t));
-	}
-
 restart:
-	for (i = 0; i < SIGRTMAX; i++)
+	for (i = 0; i <= MAX_SIGNO; i++)
 		signo[i] = 0;
 	nr = -1;
 	save_errno = 0;
@@ -198,6 +202,7 @@ restart:
 	sigemptyset(&sa.sa_mask);
 	sa.sa_flags = 0;		/* don't restart system calls */
 	sa.sa_handler = handler;
+	/* Keep this list in sync with MAX_SIGNO! */
 	(void)sigaction(SIGALRM, &sa, &savealrm);
 	(void)sigaction(SIGHUP, &sa, &savehup);
 	(void)sigaction(SIGINT, &sa, &saveint);
@@ -237,11 +242,11 @@ restart:
 			if (p < end) {
 				if ((flags & RPP_SEVENBIT))
 					ch &= 0x7f;
-				if (isalpha(ch)) {
+				if (isalpha((unsigned char)ch)) {
 					if ((flags & RPP_FORCELOWER))
-						ch = (char)tolower(ch);
+						ch = (char)tolower((unsigned char)ch);
 					if ((flags & RPP_FORCEUPPER))
-						ch = (char)toupper(ch);
+						ch = (char)toupper((unsigned char)ch);
 				}
 				*p++ = ch;
 			}
@@ -276,7 +281,7 @@ restart:
 	 * If we were interrupted by a signal, resend it to ourselves
 	 * now that we have restored the signal handlers.
 	 */
-	for (i = 0; i < SIGRTMAX; i++) {
+	for (i = 0; i <= MAX_SIGNO; i++) {
 		if (signo[i]) {
 			kill(getpid(), i);
 			switch (i) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201606211518.u5LFIMSg022047>