Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 03 Sep 2019 14:05:50 -0000
From:      Enji Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r345654 - in projects/capsicum-test: . bin/dd contrib/elftoolchain/libdwarf contrib/elftoolchain/readelf contrib/elftoolchain/strings contrib/libarchive/libarchive contrib/libarchive/li...
Message-ID:  <201903282017.x2SKHFlc069624@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Thu Mar 28 20:17:14 2019
New Revision: 345654
URL: https://svnweb.freebsd.org/changeset/base/345654

Log:
  MFhead@r345652

Added:
  projects/capsicum-test/contrib/libarchive/libarchive/test/test_read_format_zip_bz2_hang.zip.uu
     - copied unchanged from r345652, head/contrib/libarchive/libarchive/test/test_read_format_zip_bz2_hang.zip.uu
  projects/capsicum-test/contrib/libarchive/libarchive/test/test_read_format_zip_ppmd8_crash_1.zipx.uu
     - copied unchanged from r345652, head/contrib/libarchive/libarchive/test/test_read_format_zip_ppmd8_crash_1.zipx.uu
  projects/capsicum-test/contrib/libarchive/libarchive/test/test_read_format_zip_ppmd8_crash_2.zipx.uu
     - copied unchanged from r345652, head/contrib/libarchive/libarchive/test/test_read_format_zip_ppmd8_crash_2.zipx.uu
  projects/capsicum-test/sys/conf/dtb.build.mk
     - copied unchanged from r345652, head/sys/conf/dtb.build.mk
  projects/capsicum-test/sys/geom/geom_flashmap.h
     - copied unchanged from r345652, head/sys/geom/geom_flashmap.h
  projects/capsicum-test/sys/geom/label/g_label_flashmap.c
     - copied unchanged from r345652, head/sys/geom/label/g_label_flashmap.c
  projects/capsicum-test/sys/powerpc/powernv/opal_hmi.c
     - copied unchanged from r345652, head/sys/powerpc/powernv/opal_hmi.c
  projects/capsicum-test/tools/build/options/WITHOUT_RETPOLINE
     - copied unchanged from r345652, head/tools/build/options/WITHOUT_RETPOLINE
Deleted:
  projects/capsicum-test/sys/powerpc/aim/isa3_hashtb.c
Modified:
  projects/capsicum-test/Makefile.inc1
  projects/capsicum-test/UPDATING
  projects/capsicum-test/bin/dd/dd.1
  projects/capsicum-test/contrib/elftoolchain/libdwarf/libdwarf_lineno.c
  projects/capsicum-test/contrib/elftoolchain/readelf/readelf.c
  projects/capsicum-test/contrib/elftoolchain/strings/strings.c
  projects/capsicum-test/contrib/libarchive/libarchive/archive_blake2sp_ref.c
  projects/capsicum-test/contrib/libarchive/libarchive/archive_entry.c
  projects/capsicum-test/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c
  projects/capsicum-test/contrib/libarchive/libarchive/archive_read_support_format_rar5.c
  projects/capsicum-test/contrib/libarchive/libarchive/archive_read_support_format_zip.c
  projects/capsicum-test/contrib/libarchive/libarchive/archive_string.c
  projects/capsicum-test/contrib/libarchive/libarchive/archive_write_disk_posix.c
  projects/capsicum-test/contrib/libarchive/libarchive/archive_write_set_format_7zip.c
  projects/capsicum-test/contrib/libarchive/libarchive/test/test_entry.c
  projects/capsicum-test/contrib/libarchive/libarchive/test/test_read_format_rar5.c
  projects/capsicum-test/contrib/libarchive/libarchive/test/test_read_format_xar.c
  projects/capsicum-test/contrib/libarchive/libarchive/test/test_read_format_zip.c
  projects/capsicum-test/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
  projects/capsicum-test/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c
  projects/capsicum-test/contrib/tzdata/Makefile
  projects/capsicum-test/contrib/tzdata/NEWS
  projects/capsicum-test/contrib/tzdata/README
  projects/capsicum-test/contrib/tzdata/africa
  projects/capsicum-test/contrib/tzdata/asia
  projects/capsicum-test/contrib/tzdata/backward
  projects/capsicum-test/contrib/tzdata/backzone
  projects/capsicum-test/contrib/tzdata/etcetera
  projects/capsicum-test/contrib/tzdata/europe
  projects/capsicum-test/contrib/tzdata/leap-seconds.list
  projects/capsicum-test/contrib/tzdata/leapseconds
  projects/capsicum-test/contrib/tzdata/northamerica
  projects/capsicum-test/contrib/tzdata/theory.html
  projects/capsicum-test/contrib/tzdata/version
  projects/capsicum-test/crypto/openssh/readconf.c
  projects/capsicum-test/crypto/openssh/scp.c
  projects/capsicum-test/gnu/usr.bin/binutils/as/Makefile
  projects/capsicum-test/gnu/usr.bin/binutils/ld/Makefile
  projects/capsicum-test/gnu/usr.bin/binutils/objcopy/Makefile
  projects/capsicum-test/gnu/usr.bin/binutils/objdump/Makefile
  projects/capsicum-test/lib/libarchive/tests/Makefile
  projects/capsicum-test/lib/libc/Makefile
  projects/capsicum-test/lib/libc/gen/fts-compat.c
  projects/capsicum-test/lib/libc/gen/fts-compat11.c
  projects/capsicum-test/lib/libc/gen/fts.c
  projects/capsicum-test/lib/libc/gen/sysctl.3
  projects/capsicum-test/lib/libthr/Makefile
  projects/capsicum-test/lib/libutil/pidfile.c
  projects/capsicum-test/lib/libutil/tests/pidfile_test.c
  projects/capsicum-test/lib/libvgl/bitmap.c
  projects/capsicum-test/lib/libvgl/main.c
  projects/capsicum-test/lib/libvgl/mouse.c
  projects/capsicum-test/lib/libvgl/simple.c
  projects/capsicum-test/lib/libvgl/text.c
  projects/capsicum-test/lib/libvgl/vgl.3
  projects/capsicum-test/lib/libvgl/vgl.h
  projects/capsicum-test/libexec/rc/rc.d/ipfw
  projects/capsicum-test/libexec/rc/rc.d/ippool
  projects/capsicum-test/libexec/rtld-elf/Makefile
  projects/capsicum-test/libexec/rtld-elf/rtld.c
  projects/capsicum-test/sbin/fsck_msdosfs/dir.c
  projects/capsicum-test/sbin/init/init.c
  projects/capsicum-test/secure/usr.bin/ssh/Makefile
  projects/capsicum-test/share/man/man4/geom_uzip.4
  projects/capsicum-test/share/man/man4/tcp.4
  projects/capsicum-test/share/man/man5/rc.conf.5
  projects/capsicum-test/share/misc/committers-src.dot
  projects/capsicum-test/share/misc/iso3166
  projects/capsicum-test/share/mk/googletest.test.inc.mk
  projects/capsicum-test/share/mk/src.opts.mk
  projects/capsicum-test/stand/common/disk.c
  projects/capsicum-test/stand/common/disk.h
  projects/capsicum-test/stand/efi/libefi/efipart.c
  projects/capsicum-test/stand/efi/loader/main.c
  projects/capsicum-test/stand/i386/libi386/biosdisk.c
  projects/capsicum-test/stand/i386/zfsboot/Makefile
  projects/capsicum-test/stand/libsa/zfs/zfs.c
  projects/capsicum-test/stand/lua/config.lua
  projects/capsicum-test/stand/lua/menu.lua
  projects/capsicum-test/stand/lua/password.lua
  projects/capsicum-test/stand/mips/beri/loader/beri_disk_cfi.c
  projects/capsicum-test/stand/mips/beri/loader/beri_disk_sdcard.c
  projects/capsicum-test/stand/uboot/common/main.c
  projects/capsicum-test/stand/uboot/lib/disk.c
  projects/capsicum-test/stand/usb/storage/umass_loader.c
  projects/capsicum-test/stand/userboot/userboot/main.c
  projects/capsicum-test/stand/userboot/userboot/userboot_disk.c
  projects/capsicum-test/sys/amd64/amd64/fpu.c
  projects/capsicum-test/sys/amd64/linux/linux_dummy.c
  projects/capsicum-test/sys/amd64/linux/linux_machdep.c
  projects/capsicum-test/sys/amd64/linux/linux_proto.h
  projects/capsicum-test/sys/amd64/linux/linux_syscall.h
  projects/capsicum-test/sys/amd64/linux/linux_syscalls.c
  projects/capsicum-test/sys/amd64/linux/linux_sysent.c
  projects/capsicum-test/sys/amd64/linux/linux_systrace_args.c
  projects/capsicum-test/sys/amd64/linux/syscalls.master
  projects/capsicum-test/sys/amd64/linux32/linux32_dummy.c
  projects/capsicum-test/sys/amd64/linux32/linux32_machdep.c
  projects/capsicum-test/sys/amd64/linux32/linux32_proto.h
  projects/capsicum-test/sys/amd64/linux32/linux32_syscall.h
  projects/capsicum-test/sys/amd64/linux32/linux32_syscalls.c
  projects/capsicum-test/sys/amd64/linux32/linux32_sysent.c
  projects/capsicum-test/sys/amd64/linux32/linux32_systrace_args.c
  projects/capsicum-test/sys/amd64/linux32/syscalls.master
  projects/capsicum-test/sys/arm64/arm64/identcpu.c
  projects/capsicum-test/sys/arm64/conf/GENERIC
  projects/capsicum-test/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c
  projects/capsicum-test/sys/compat/linux/linux_fork.c
  projects/capsicum-test/sys/compat/linux/linux_ipc.c
  projects/capsicum-test/sys/compat/linux/linux_ipc.h
  projects/capsicum-test/sys/conf/dtb.mk
  projects/capsicum-test/sys/conf/files
  projects/capsicum-test/sys/conf/files.powerpc
  projects/capsicum-test/sys/conf/kern.post.mk
  projects/capsicum-test/sys/conf/kmod.mk
  projects/capsicum-test/sys/conf/options
  projects/capsicum-test/sys/dev/cfi/cfi_core.c
  projects/capsicum-test/sys/dev/cfi/cfi_reg.h
  projects/capsicum-test/sys/dev/cfi/cfi_var.h
  projects/capsicum-test/sys/dev/etherswitch/e6000sw/e6000sw.c
  projects/capsicum-test/sys/dev/jedec_dimm/jedec_dimm.c
  projects/capsicum-test/sys/dev/mpr/mpr.c
  projects/capsicum-test/sys/dev/mpr/mpr_table.c
  projects/capsicum-test/sys/dev/mps/mps.c
  projects/capsicum-test/sys/dev/mps/mps_table.c
  projects/capsicum-test/sys/dev/neta/if_mvneta.c
  projects/capsicum-test/sys/dev/random/random_harvestq.c
  projects/capsicum-test/sys/dev/smartpqi/smartpqi_cam.c
  projects/capsicum-test/sys/dev/tpm/tpm20.c
  projects/capsicum-test/sys/dev/tpm/tpm20.h
  projects/capsicum-test/sys/dev/tpm/tpm_crb.c
  projects/capsicum-test/sys/dev/tpm/tpm_tis.c
  projects/capsicum-test/sys/dev/usb/controller/xhci_pci.c
  projects/capsicum-test/sys/dev/usb/wlan/if_run.c
  projects/capsicum-test/sys/fs/tmpfs/tmpfs.h
  projects/capsicum-test/sys/fs/tmpfs/tmpfs_vfsops.c
  projects/capsicum-test/sys/geom/geom_flashmap.c
  projects/capsicum-test/sys/geom/label/g_label.c
  projects/capsicum-test/sys/geom/label/g_label.h
  projects/capsicum-test/sys/i386/i386/npx.c
  projects/capsicum-test/sys/i386/linux/linux.h
  projects/capsicum-test/sys/i386/linux/linux_dummy.c
  projects/capsicum-test/sys/i386/linux/linux_machdep.c
  projects/capsicum-test/sys/i386/linux/linux_proto.h
  projects/capsicum-test/sys/i386/linux/linux_syscall.h
  projects/capsicum-test/sys/i386/linux/linux_syscalls.c
  projects/capsicum-test/sys/i386/linux/linux_sysent.c
  projects/capsicum-test/sys/i386/linux/linux_systrace_args.c
  projects/capsicum-test/sys/i386/linux/syscalls.master
  projects/capsicum-test/sys/kern/imgact_elf.c
  projects/capsicum-test/sys/kern/kern_descrip.c
  projects/capsicum-test/sys/kern/kern_intr.c
  projects/capsicum-test/sys/kern/kern_mib.c
  projects/capsicum-test/sys/mips/atheros/ar71xx_gpio.c
  projects/capsicum-test/sys/mips/atheros/ar71xx_gpiovar.h
  projects/capsicum-test/sys/mips/conf/DIR-825C1
  projects/capsicum-test/sys/modules/efirt/Makefile
  projects/capsicum-test/sys/modules/hwpmc_mips24k/Makefile
  projects/capsicum-test/sys/modules/hwpmc_mips74k/Makefile
  projects/capsicum-test/sys/modules/iflib/Makefile
  projects/capsicum-test/sys/modules/nvdimm/Makefile
  projects/capsicum-test/sys/modules/tmpfs/Makefile
  projects/capsicum-test/sys/modules/tpm/Makefile
  projects/capsicum-test/sys/net/if_bridge.c
  projects/capsicum-test/sys/netinet/ip_icmp.c
  projects/capsicum-test/sys/netinet/sctp.h
  projects/capsicum-test/sys/netinet/sctp_indata.c
  projects/capsicum-test/sys/netinet/sctp_output.c
  projects/capsicum-test/sys/netinet/sctp_pcb.c
  projects/capsicum-test/sys/netinet/sctp_ss_functions.c
  projects/capsicum-test/sys/netinet/sctp_structs.h
  projects/capsicum-test/sys/netinet/sctp_usrreq.c
  projects/capsicum-test/sys/netinet/sctputil.c
  projects/capsicum-test/sys/netinet/sctputil.h
  projects/capsicum-test/sys/netinet/tcp_output.c
  projects/capsicum-test/sys/netinet/tcp_subr.c
  projects/capsicum-test/sys/netinet/tcp_syncache.c
  projects/capsicum-test/sys/netinet/tcp_timer.c
  projects/capsicum-test/sys/netinet/tcp_timer.h
  projects/capsicum-test/sys/netpfil/pf/pf_ioctl.c
  projects/capsicum-test/sys/powerpc/aim/aim_machdep.c
  projects/capsicum-test/sys/powerpc/aim/moea64_native.c
  projects/capsicum-test/sys/powerpc/include/spr.h
  projects/capsicum-test/sys/powerpc/include/trap.h
  projects/capsicum-test/sys/powerpc/powernv/opal.h
  projects/capsicum-test/sys/powerpc/powerpc/interrupt.c
  projects/capsicum-test/sys/riscv/riscv/timer.c
  projects/capsicum-test/sys/sys/ctype.h
  projects/capsicum-test/sys/sys/random.h
  projects/capsicum-test/sys/vm/swap_pager.c
  projects/capsicum-test/sys/vm/vm_map.c
  projects/capsicum-test/sys/x86/iommu/busdma_dmar.c
  projects/capsicum-test/tests/sys/netmap/Makefile
  projects/capsicum-test/tests/sys/netmap/ctrl-api-test.c
  projects/capsicum-test/tests/sys/netpfil/pf/icmp.sh
  projects/capsicum-test/tools/build/mk/OptionalObsoleteFiles.inc
  projects/capsicum-test/tools/tools/makeroot/makeroot.sh
  projects/capsicum-test/usr.bin/calendar/calendars/calendar.freebsd
  projects/capsicum-test/usr.bin/dtc/dtb.cc
  projects/capsicum-test/usr.bin/dtc/dtb.hh
  projects/capsicum-test/usr.bin/dtc/dtc.1
  projects/capsicum-test/usr.bin/dtc/dtc.cc
  projects/capsicum-test/usr.bin/dtc/fdt.cc
  projects/capsicum-test/usr.bin/dtc/fdt.hh
  projects/capsicum-test/usr.bin/dtc/input_buffer.cc
  projects/capsicum-test/usr.bin/dtc/util.hh
  projects/capsicum-test/usr.sbin/daemon/daemon.8
Directory Properties:
  projects/capsicum-test/   (props changed)
  projects/capsicum-test/contrib/elftoolchain/   (props changed)
  projects/capsicum-test/contrib/libarchive/   (props changed)
  projects/capsicum-test/contrib/llvm/   (props changed)
  projects/capsicum-test/contrib/netbsd-tests/   (props changed)
  projects/capsicum-test/contrib/tzdata/   (props changed)
  projects/capsicum-test/crypto/openssh/   (props changed)
  projects/capsicum-test/gnu/usr.bin/binutils/   (props changed)
  projects/capsicum-test/sys/cddl/contrib/opensolaris/   (props changed)

Modified: projects/capsicum-test/Makefile.inc1
==============================================================================
--- projects/capsicum-test/Makefile.inc1	Thu Mar 28 20:16:19 2019	(r345653)
+++ projects/capsicum-test/Makefile.inc1	Thu Mar 28 20:17:14 2019	(r345654)
@@ -1906,11 +1906,11 @@ create-kernel-packages-flavor${flavor:C,^""$,${_defaul
 		/name/ { printf("===> Creating %s-", $$2); next } \
 		/version/ {print $$2; next } ' \
 		${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl ; \
-	${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
+	${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname -o ALLOW_BASE_SHLIBS=yes \
 		create -M ${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl \
 		-p ${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.plist \
 		-r ${KSTAGEDIR}/${DISTDIR} \
-		-o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION}
+		-o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI)/${PKG_VERSION}
 . endfor
 .endif
 .if ${BUILDKERNELS:[#]} > 1 && ${NO_INSTALLEXTRAKERNELS} != "yes"
@@ -1938,24 +1938,24 @@ create-kernel-packages-extra-flavor${flavor:C,^""$,${_
 		/name/ { printf("===> Creating %s-", $$2); next } \
 		/version/ {print $$2; next } ' \
 		${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl ; \
-	${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
+	${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname -o ALLOW_BASE_SHLIBS=yes \
 		create -M ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl \
 		-p ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.plist \
 		-r ${KSTAGEDIR}/kernel.${_kernel} \
-		-o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION}
+		-o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI)/${PKG_VERSION}
 .   endfor
 .  endif
 . endfor
 .endif
 
 sign-packages:	_pkgbootstrap .PHONY
-	@[ -L "${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/latest" ] && \
-		unlink ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/latest ; \
-	${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh repo \
-		-o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} \
-		${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} \
+	@[ -L "${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI)/latest" ] && \
+		unlink ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI)/latest ; \
+	${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname repo \
+		-o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI)/${PKG_VERSION} \
+		${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI)/${PKG_VERSION} \
 		${PKGSIGNKEY} ; \
-	cd ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI); \
+	cd ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI); \
 	ln -s ${PKG_VERSION} latest
 
 #

Modified: projects/capsicum-test/UPDATING
==============================================================================
--- projects/capsicum-test/UPDATING	Thu Mar 28 20:16:19 2019	(r345653)
+++ projects/capsicum-test/UPDATING	Thu Mar 28 20:17:14 2019	(r345654)
@@ -43,6 +43,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW:
 	prerequisites and upgrading, if you are not already using clang 3.5.0
 	or higher.
 
+20190226:
+	geom_uzip(4) depends on the new module xz.  If geom_uzip is statically
+	compiled into your custom kernel, add 'device xz' statement to the
+	kernel config.
+
 20190219:
 	drm and drm2 have been removed from the tree. Please see
 	https://wiki.freebsd.org/Graphics for the latest information on

Modified: projects/capsicum-test/bin/dd/dd.1
==============================================================================
--- projects/capsicum-test/bin/dd/dd.1	Thu Mar 28 20:16:19 2019	(r345653)
+++ projects/capsicum-test/bin/dd/dd.1	Thu Mar 28 20:17:14 2019	(r345654)
@@ -32,7 +32,7 @@
 .\"     @(#)dd.1	8.2 (Berkeley) 1/13/94
 .\" $FreeBSD$
 .\"
-.Dd August 8, 2018
+.Dd March 26, 2019
 .Dt DD 1
 .Os
 .Sh NAME
@@ -427,7 +427,8 @@ if necessary, to a 1MiB boundary:
 .Xr mt 1 ,
 .Xr recoverdisk 1 ,
 .Xr tr 1 ,
-.Xr geom 4
+.Xr geom 4 ,
+.Xr trim 8
 .Sh STANDARDS
 The
 .Nm

Modified: projects/capsicum-test/contrib/elftoolchain/libdwarf/libdwarf_lineno.c
==============================================================================
--- projects/capsicum-test/contrib/elftoolchain/libdwarf/libdwarf_lineno.c	Thu Mar 28 20:16:19 2019	(r345653)
+++ projects/capsicum-test/contrib/elftoolchain/libdwarf/libdwarf_lineno.c	Thu Mar 28 20:17:14 2019	(r345654)
@@ -33,9 +33,10 @@ _dwarf_lineno_add_file(Dwarf_LineInfo li, uint8_t **p,
     Dwarf_Error *error, Dwarf_Debug dbg)
 {
 	Dwarf_LineFile lf;
-	const char *dirname;
+	FILE *filepath;
+	const char *incdir;
 	uint8_t *src;
-	int slen;
+	size_t slen;
 
 	src = *p;
 
@@ -54,20 +55,33 @@ _dwarf_lineno_add_file(Dwarf_LineInfo li, uint8_t **p,
 		return (DW_DLE_DIR_INDEX_BAD);
 	}
 
-	/* Make full pathname if need. */
+	/* Make a full pathname if needed. */
 	if (*lf->lf_fname != '/') {
-		dirname = compdir;
+		filepath = open_memstream(&lf->lf_fullpath, &slen);
+		if (filepath == NULL) {
+			free(lf);
+			DWARF_SET_ERROR(dbg, error, DW_DLE_MEMORY);
+			return (DW_DLE_MEMORY);
+		}
+
 		if (lf->lf_dirndx > 0)
-			dirname = li->li_incdirs[lf->lf_dirndx - 1];
-		if (dirname != NULL) {
-			slen = strlen(dirname) + strlen(lf->lf_fname) + 2;
-			if ((lf->lf_fullpath = malloc(slen)) == NULL) {
-				free(lf);
-				DWARF_SET_ERROR(dbg, error, DW_DLE_MEMORY);
-				return (DW_DLE_MEMORY);
-			}
-			snprintf(lf->lf_fullpath, slen, "%s/%s", dirname,
-			    lf->lf_fname);
+			incdir = li->li_incdirs[lf->lf_dirndx - 1];
+		else
+			incdir = NULL;
+
+		/*
+		 * Prepend the compilation directory if the directory table
+		 * entry is relative.
+		 */
+		if (incdir == NULL || *incdir != '/')
+			fprintf(filepath, "%s/", compdir);
+		if (incdir != NULL)
+			fprintf(filepath, "%s/", incdir);
+		fprintf(filepath, "%s", lf->lf_fname);
+		if (fclose(filepath) != 0) {
+			free(lf);
+			DWARF_SET_ERROR(dbg, error, DW_DLE_MEMORY);
+			return (DW_DLE_MEMORY);
 		}
 	}
 

Modified: projects/capsicum-test/contrib/elftoolchain/readelf/readelf.c
==============================================================================
--- projects/capsicum-test/contrib/elftoolchain/readelf/readelf.c	Thu Mar 28 20:16:19 2019	(r345653)
+++ projects/capsicum-test/contrib/elftoolchain/readelf/readelf.c	Thu Mar 28 20:17:14 2019	(r345654)
@@ -2741,6 +2741,7 @@ dump_flags(struct flag_desc *desc, uint64_t val)
 	}
 	if (val != 0)
 		printf(" unknown (0x%jx)", (uintmax_t)val);
+	printf("\n");
 }
 
 static struct flag_desc dt_flags[] = {
@@ -3524,7 +3525,6 @@ dump_notes_data(const char *name, uint32_t type, const
 				goto unknown;
 			printf("   Features:");
 			dump_flags(note_feature_ctl_flags, ubuf[0]);
-			printf("\n");
 			return;
 		}
 	}

Modified: projects/capsicum-test/contrib/elftoolchain/strings/strings.c
==============================================================================
--- projects/capsicum-test/contrib/elftoolchain/strings/strings.c	Thu Mar 28 20:16:19 2019	(r345653)
+++ projects/capsicum-test/contrib/elftoolchain/strings/strings.c	Thu Mar 28 20:17:14 2019	(r345654)
@@ -84,7 +84,7 @@ static struct option strings_longopts[] = {
 	{ NULL, 0, NULL, 0 }
 };
 
-long	getcharacter(FILE *);
+int	getcharacter(FILE *, long *);
 int	handle_file(const char *);
 int	handle_elf(const char *, FILE *);
 int	handle_binary(const char *, FILE *, size_t);
@@ -291,42 +291,43 @@ handle_elf(const char *name, FILE *pfile)
  * Retrieves a character from input stream based on the encoding
  * type requested.
  */
-long
-getcharacter(FILE *pfile)
+int
+getcharacter(FILE *pfile, long *rt)
 {
-	long rt;
 	int i, c;
 	char buf[4];
 
 	for(i = 0; i < encoding_size; i++) {
 		c = getc(pfile);
 		if (c == EOF)
-			return (EOF);
+			return (-1);
 		buf[i] = c;
 	}
 
-	rt = EOF;
 	switch (encoding) {
 	case ENCODING_7BIT:
 	case ENCODING_8BIT:
-		rt = buf[0];
+		*rt = buf[0];
 		break;
 	case ENCODING_16BIT_BIG:
-		rt = (buf[0] << 8) | buf[1];
+		*rt = (buf[0] << 8) | buf[1];
 		break;
 	case ENCODING_16BIT_LITTLE:
-		 rt = buf[0] | (buf[1] << 8);
-		 break;
+		*rt = buf[0] | (buf[1] << 8);
+		break;
 	case ENCODING_32BIT_BIG:
-		rt = ((long) buf[0] << 24) | ((long) buf[1] << 16) |
+		*rt = ((long) buf[0] << 24) | ((long) buf[1] << 16) |
 		    ((long) buf[2] << 8) | buf[3];
 		break;
 	case ENCODING_32BIT_LITTLE:
-		rt = buf[0] | ((long) buf[1] << 8) | ((long) buf[2] << 16) |
+		*rt = buf[0] | ((long) buf[1] << 8) | ((long) buf[2] << 16) |
 		    ((long) buf[3] << 24);
 		break;
+	default:
+		return (-1);
 	}
-	return (rt);
+
+	return (0);
 }
 
 /*
@@ -357,8 +358,7 @@ find_strings(const char *name, FILE *pfile, off_t offs
 		start_off = cur_off;
 		memset(obuf, 0, min_len + 1);
 		for(i = 0; i < min_len; i++) {
-			c = getcharacter(pfile);
-			if (c == EOF)
+			if (getcharacter(pfile, &c) < 0)
 				goto _exit1;
 			if (PRINTABLE(c)) {
 				obuf[i] = c;
@@ -400,15 +400,16 @@ find_strings(const char *name, FILE *pfile, off_t offs
 				if ((offset + size) &&
 				    (cur_off >= offset + size))
 					break;
-				c = getcharacter(pfile);
-				cur_off += encoding_size;
-				if (!PRINTABLE(c) || c == EOF)
+				if (getcharacter(pfile, &c) < 0)
 					break;
+				cur_off += encoding_size;
 				if (encoding == ENCODING_8BIT &&
 				    (uint8_t)c > 127) {
 					putchar(c);
 					continue;
 				}
+				if (!PRINTABLE(c))
+					break;
 				putchar(c);
 			}
 			putchar('\n');

Modified: projects/capsicum-test/contrib/libarchive/libarchive/archive_blake2sp_ref.c
==============================================================================
--- projects/capsicum-test/contrib/libarchive/libarchive/archive_blake2sp_ref.c	Thu Mar 28 20:16:19 2019	(r345653)
+++ projects/capsicum-test/contrib/libarchive/libarchive/archive_blake2sp_ref.c	Thu Mar 28 20:17:14 2019	(r345654)
@@ -89,7 +89,7 @@ int blake2sp_init( blake2sp_state *S, size_t outlen )
     return -1;
 
   for( i = 0; i < PARALLELISM_DEGREE; ++i )
-    if( blake2sp_init_leaf( S->S[i], outlen, 0, i ) < 0 ) return -1;
+    if( blake2sp_init_leaf( S->S[i], outlen, 0, (uint32_t)i ) < 0 ) return -1;
 
   S->R->last_node = 1;
   S->S[PARALLELISM_DEGREE - 1]->last_node = 1;
@@ -112,7 +112,7 @@ int blake2sp_init_key( blake2sp_state *S, size_t outle
     return -1;
 
   for( i = 0; i < PARALLELISM_DEGREE; ++i )
-    if( blake2sp_init_leaf( S->S[i], outlen, keylen, i ) < 0 ) return -1;
+    if( blake2sp_init_leaf( S->S[i], outlen, keylen, (uint32_t)i ) < 0 ) return -1;
 
   S->R->last_node = 1;
   S->S[PARALLELISM_DEGREE - 1]->last_node = 1;
@@ -230,7 +230,7 @@ int blake2sp( void *out, size_t outlen, const void *in
   if( keylen > BLAKE2S_KEYBYTES ) return -1;
 
   for( i = 0; i < PARALLELISM_DEGREE; ++i )
-    if( blake2sp_init_leaf( S[i], outlen, keylen, i ) < 0 ) return -1;
+    if( blake2sp_init_leaf( S[i], outlen, keylen, (uint32_t)i ) < 0 ) return -1;
 
   S[PARALLELISM_DEGREE - 1]->last_node = 1; /* mark last node */
 

Modified: projects/capsicum-test/contrib/libarchive/libarchive/archive_entry.c
==============================================================================
--- projects/capsicum-test/contrib/libarchive/libarchive/archive_entry.c	Thu Mar 28 20:16:19 2019	(r345653)
+++ projects/capsicum-test/contrib/libarchive/libarchive/archive_entry.c	Thu Mar 28 20:17:14 2019	(r345654)
@@ -1632,6 +1632,51 @@ _archive_entry_acl_text_l(struct archive_entry *entry,
  * SUCH DAMAGE.
  */
 
+/*
+ * Supported file flags on FreeBSD and Mac OS:
+ * sappnd,sappend		SF_APPEND
+ * arch,archived		SF_ARCHIVED
+ * schg,schange,simmutable	SF_IMMUTABLE
+ * sunlnk,sunlink		SF_NOUNLINK	(FreeBSD only)
+ * uappnd,uappend		UF_APPEND
+ * compressed			UF_COMPRESSED	(Mac OS only)
+ * hidden,uhidden		UF_HIDDEN
+ * uchg,uchange,uimmutable	UF_IMMUTABLE
+ * nodump			UF_NODUMP
+ * uunlnk,uunlink		UF_NOUNLINK	(FreeBSD only)
+ * offline,uoffline		UF_OFFLINE	(FreeBSD only)
+ * opaque			UF_OPAQUE
+ * rdonly,urdonly,readonly	UF_READONLY	(FreeBSD only)
+ * reparse,ureparse		UF_REPARSE	(FreeBSD only)
+ * sparse,usparse		UF_SPARSE	(FreeBSD only)
+ * system,usystem		UF_SYSTEM	(FreeBSD only)
+ *
+ * See chflags(2) for more information
+ *
+ * Supported file attributes on Linux:
+ * a	append only			FS_APPEND_FL		sappnd
+ * A	no atime updates		FS_NOATIME_FL		atime
+ * c	compress			FS_COMPR_FL		compress
+ * C	no copy on write		FS_NOCOW_FL		cow
+ * d	no dump				FS_NODUMP_FL		dump
+ * D	synchronous directory updates	FS_DIRSYNC_FL		dirsync
+ * i	immutable			FS_IMMUTABLE_FL		schg
+ * j	data journalling		FS_JOURNAL_DATA_FL	journal
+ * P	project hierarchy		FS_PROJINHERIT_FL	projinherit
+ * s	secure deletion			FS_SECRM_FL		securedeletion
+ * S	synchronous updates		FS_SYNC_FL		sync
+ * t	no tail-merging			FS_NOTAIL_FL		tail
+ * T	top of directory hierarchy	FS_TOPDIR_FL		topdir
+ * u	undeletable			FS_UNRM_FL		undel
+ *
+ * See ioctl_iflags(2) for more information
+ *
+ * Equivalent file flags supported on FreeBSD / Mac OS and Linux:
+ * SF_APPEND		FS_APPEND_FL		sappnd
+ * SF_IMMUTABLE		FS_IMMUTABLE_FL		schg
+ * UF_NODUMP		FS_NODUMP_FL		nodump
+ */
+
 static const struct flag {
 	const char	*name;
 	const wchar_t	*wname;
@@ -1640,190 +1685,149 @@ static const struct flag {
 } flags[] = {
 	/* Preferred (shorter) names per flag first, all prefixed by "no" */
 #ifdef SF_APPEND
-	{ "nosappnd",	L"nosappnd",		SF_APPEND,	0 },
-	{ "nosappend",	L"nosappend",		SF_APPEND,	0 },
+	{ "nosappnd",	L"nosappnd",		SF_APPEND,	0},
+	{ "nosappend",	L"nosappend",		SF_APPEND,	0},
 #endif
 #if defined(FS_APPEND_FL)			/* 'a' */
-	{ "nosappnd",	L"nosappnd",		FS_APPEND_FL,	0 },
-	{ "nosappend",	L"nosappend",		FS_APPEND_FL,	0 },
+	{ "nosappnd",	L"nosappnd",		FS_APPEND_FL,	0},
+	{ "nosappend",	L"nosappend",		FS_APPEND_FL,	0},
 #elif defined(EXT2_APPEND_FL)			/* 'a' */
-	{ "nosappnd",	L"nosappnd",		EXT2_APPEND_FL,	0 },
-	{ "nosappend",	L"nosappend",		EXT2_APPEND_FL,	0 },
+	{ "nosappnd",	L"nosappnd",		EXT2_APPEND_FL,	0},
+	{ "nosappend",	L"nosappend",		EXT2_APPEND_FL,	0},
 #endif
 #ifdef SF_ARCHIVED
-	{ "noarch",	L"noarch",		SF_ARCHIVED,	0 },
-	{ "noarchived",	L"noarchived",       	SF_ARCHIVED,	0 },
+	{ "noarch",	L"noarch",		SF_ARCHIVED,	0},
+	{ "noarchived",	L"noarchived",       	SF_ARCHIVED,	0},
 #endif
 #ifdef SF_IMMUTABLE
-	{ "noschg",	L"noschg",		SF_IMMUTABLE,	0 },
-	{ "noschange",	L"noschange",		SF_IMMUTABLE,	0 },
-	{ "nosimmutable",	L"nosimmutable",	SF_IMMUTABLE,	0 },
+	{ "noschg",	L"noschg",		SF_IMMUTABLE,	0},
+	{ "noschange",	L"noschange",		SF_IMMUTABLE,	0},
+	{ "nosimmutable",	L"nosimmutable",	SF_IMMUTABLE,	0},
 #endif
 #if defined(FS_IMMUTABLE_FL)			/* 'i' */
-	{ "noschg",	L"noschg",		FS_IMMUTABLE_FL,	0 },
-	{ "noschange",	L"noschange",		FS_IMMUTABLE_FL,	0 },
-	{ "nosimmutable",	L"nosimmutable",	FS_IMMUTABLE_FL,	0 },
+	{ "noschg",	L"noschg",		FS_IMMUTABLE_FL,	0},
+	{ "noschange",	L"noschange",		FS_IMMUTABLE_FL,	0},
+	{ "nosimmutable",	L"nosimmutable",	FS_IMMUTABLE_FL,	0},
 #elif defined(EXT2_IMMUTABLE_FL)		/* 'i' */
-	{ "noschg",	L"noschg",		EXT2_IMMUTABLE_FL,	0 },
-	{ "noschange",	L"noschange",		EXT2_IMMUTABLE_FL,	0 },
-	{ "nosimmutable",	L"nosimmutable",	EXT2_IMMUTABLE_FL,	0 },
+	{ "noschg",	L"noschg",		EXT2_IMMUTABLE_FL,	0},
+	{ "noschange",	L"noschange",		EXT2_IMMUTABLE_FL,	0},
+	{ "nosimmutable",	L"nosimmutable",	EXT2_IMMUTABLE_FL,	0},
 #endif
 #ifdef SF_NOUNLINK
-	{ "nosunlnk",	L"nosunlnk",		SF_NOUNLINK,	0 },
-	{ "nosunlink",	L"nosunlink",		SF_NOUNLINK,	0 },
+	{ "nosunlnk",	L"nosunlnk",		SF_NOUNLINK,	0},
+	{ "nosunlink",	L"nosunlink",		SF_NOUNLINK,	0},
 #endif
-#ifdef SF_SNAPSHOT
-	{ "nosnapshot",	L"nosnapshot",	SF_SNAPSHOT,	0 },
-#endif
 #ifdef UF_APPEND
-	{ "nouappnd",	L"nouappnd",		UF_APPEND,	0 },
-	{ "nouappend",	L"nouappend",		UF_APPEND,	0 },
+	{ "nouappnd",	L"nouappnd",		UF_APPEND,	0},
+	{ "nouappend",	L"nouappend",		UF_APPEND,	0},
 #endif
 #ifdef UF_IMMUTABLE
-	{ "nouchg",	L"nouchg",		UF_IMMUTABLE,	0 },
-	{ "nouchange",	L"nouchange",		UF_IMMUTABLE,	0 },
-	{ "nouimmutable",	L"nouimmutable",	UF_IMMUTABLE,	0 },
+	{ "nouchg",	L"nouchg",		UF_IMMUTABLE,	0},
+	{ "nouchange",	L"nouchange",		UF_IMMUTABLE,	0},
+	{ "nouimmutable",	L"nouimmutable",	UF_IMMUTABLE,	0},
 #endif
 #ifdef UF_NODUMP
 	{ "nodump",	L"nodump",		0,		UF_NODUMP},
 #endif
 #if defined(FS_NODUMP_FL)	/* 'd' */
 	{ "nodump",	L"nodump",		0,		FS_NODUMP_FL},
-#elif defined(EXT2_NODUMP_FL) 	/* 'd' */
+#elif defined(EXT2_NODUMP_FL)
 	{ "nodump",	L"nodump",		0,		EXT2_NODUMP_FL},
 #endif
 #ifdef UF_OPAQUE
-	{ "noopaque",	L"noopaque",		UF_OPAQUE,	0 },
+	{ "noopaque",	L"noopaque",		UF_OPAQUE,	0},
 #endif
 #ifdef UF_NOUNLINK
-	{ "nouunlnk",	L"nouunlnk",		UF_NOUNLINK,	0 },
-	{ "nouunlink",	L"nouunlink",		UF_NOUNLINK,	0 },
+	{ "nouunlnk",	L"nouunlnk",		UF_NOUNLINK,	0},
+	{ "nouunlink",	L"nouunlink",		UF_NOUNLINK,	0},
 #endif
 #ifdef UF_COMPRESSED
-	{ "nocompressed",L"nocompressed",	UF_COMPRESSED,	0 },
+	/* Mac OS */
+	{ "nocompressed",	L"nocompressed",	UF_COMPRESSED,	0},
 #endif
 #ifdef UF_HIDDEN
-	{ "nohidden",	L"nohidden",		UF_HIDDEN,	0 },
+	{ "nohidden",	L"nohidden",		UF_HIDDEN,	0},
+	{ "nouhidden",	L"nouhidden",		UF_HIDDEN,	0},
 #endif
-#if defined(FS_UNRM_FL)
-        { "nouunlink",	L"nouunlink",		FS_UNRM_FL,	0},
-#elif defined(EXT2_UNRM_FL)
-        { "nouunlink",	L"nouunlink",		EXT2_UNRM_FL,	0},
+#ifdef UF_OFFLINE
+	{ "nooffline",	L"nooffline",		UF_OFFLINE,	0},
+	{ "nouoffline",	L"nouoffline",		UF_OFFLINE,	0},
 #endif
-
-#if defined(FS_BTREE_FL)
-        { "nobtree",	L"nobtree",       	FS_BTREE_FL,	0 },
-#elif defined(EXT2_BTREE_FL)
-        { "nobtree",	L"nobtree",       	EXT2_BTREE_FL,	0 },
+#ifdef UF_READONLY
+	{ "nordonly",	L"nordonly",		UF_READONLY,	0},
+	{ "nourdonly",	L"nourdonly",		UF_READONLY,	0},
+	{ "noreadonly",	L"noreadonly",		UF_READONLY,	0},
 #endif
-
-#if defined(FS_ECOMPR_FL)
-        { "nocomperr",	L"nocomperr",       	FS_ECOMPR_FL,	0 },
-#elif defined(EXT2_ECOMPR_FL)
-        { "nocomperr",	L"nocomperr",       	EXT2_ECOMPR_FL,	0 },
+#ifdef UF_SPARSE
+	{ "nosparse",	L"nosparse",		UF_SPARSE,	0},
+	{ "nousparse",	L"nousparse",		UF_SPARSE,	0},
 #endif
-
-#if defined(FS_COMPR_FL)			/* 'c' */
-        { "nocompress",	L"nocompress",       	FS_COMPR_FL,	0 },
-#elif defined(EXT2_COMPR_FL)			/* 'c' */
-        { "nocompress",	L"nocompress",       	EXT2_COMPR_FL,	0 },
+#ifdef UF_REPARSE
+	{ "noreparse",	L"noreparse",		UF_REPARSE,	0},
+	{ "noureparse",	L"noureparse",		UF_REPARSE,	0},
 #endif
-
-#if defined(FS_NOATIME_FL)			/* 'A' */
-        { "noatime",	L"noatime",		0,		FS_NOATIME_FL},
-#elif defined(EXT2_NOATIME_FL)			/* 'A' */
-        { "noatime",	L"noatime",		0,		EXT2_NOATIME_FL},
+#ifdef UF_SYSTEM
+	{ "nosystem",	L"nosystem",		UF_SYSTEM,	0},
+	{ "nousystem",	L"nousystem",		UF_SYSTEM,	0},
 #endif
+#if defined(FS_UNRM_FL)		/* 'u' */
+	{ "noundel",	L"noundel",		FS_UNRM_FL,	0},
+#elif defined(EXT2_UNRM_FL)
+	{ "noundel",	L"noundel",		EXT2_UNRM_FL,	0},
+#endif
 
-#if defined(FS_DIRTY_FL)
-        { "nocompdirty",L"nocompdirty",		FS_DIRTY_FL,		0},
-#elif defined(EXT2_DIRTY_FL)
-        { "nocompdirty",L"nocompdirty",		EXT2_DIRTY_FL,		0},
+#if defined(FS_COMPR_FL)	/* 'c' */
+	{ "nocompress",	L"nocompress",       	FS_COMPR_FL,	0},
+#elif defined(EXT2_COMPR_FL)
+	{ "nocompress",	L"nocompress",       	EXT2_COMPR_FL,	0},
 #endif
 
-#if defined(FS_COMPRBLK_FL)
-#if defined(FS_NOCOMPR_FL)
-        { "nocomprblk",	L"nocomprblk",		FS_COMPRBLK_FL, FS_NOCOMPR_FL},
-#else
-        { "nocomprblk",	L"nocomprblk",		FS_COMPRBLK_FL,	0},
+#if defined(FS_NOATIME_FL)	/* 'A' */
+	{ "noatime",	L"noatime",		0,		FS_NOATIME_FL},
+#elif defined(EXT2_NOATIME_FL)
+	{ "noatime",	L"noatime",		0,		EXT2_NOATIME_FL},
 #endif
-#elif defined(EXT2_COMPRBLK_FL)
-#if defined(EXT2_NOCOMPR_FL)
-        { "nocomprblk",	L"nocomprblk",		EXT2_COMPRBLK_FL, EXT2_NOCOMPR_FL},
-#else
-        { "nocomprblk",	L"nocomprblk",		EXT2_COMPRBLK_FL,	0},
-#endif
-#endif
-#if defined(FS_DIRSYNC_FL)
-        { "nodirsync",	L"nodirsync",		FS_DIRSYNC_FL,	0},
+#if defined(FS_DIRSYNC_FL)	/* 'D' */
+	{ "nodirsync",	L"nodirsync",		FS_DIRSYNC_FL,		0},
 #elif defined(EXT2_DIRSYNC_FL)
-        { "nodirsync",	L"nodirsync",		EXT2_DIRSYNC_FL,	0},
+	{ "nodirsync",	L"nodirsync",		EXT2_DIRSYNC_FL,	0},
 #endif
-#if defined(FS_INDEX_FL)
-        { "nohashidx",	L"nohashidx",		FS_INDEX_FL,		0},
-#elif defined(EXT2_INDEX_FL)
-        { "nohashidx",	L"nohashidx",		EXT2_INDEX_FL,		0},
-#endif
-#if defined(FS_IMAGIC_FL)
-        { "noimagic",	L"noimagic",		FS_IMAGIC_FL,		0},
-#elif defined(EXT2_IMAGIC_FL)
-        { "noimagic",	L"noimagic",		EXT2_IMAGIC_FL,		0},
-#endif
-#if defined(FS_JOURNAL_DATA_FL)
-        { "nojournal",	L"nojournal",		FS_JOURNAL_DATA_FL,	0},
+#if defined(FS_JOURNAL_DATA_FL)	/* 'j' */
+	{ "nojournal-data",L"nojournal-data",	FS_JOURNAL_DATA_FL,	0},
+	{ "nojournal",	L"nojournal",		FS_JOURNAL_DATA_FL,	0},
 #elif defined(EXT3_JOURNAL_DATA_FL)
-        { "nojournal",	L"nojournal",		EXT3_JOURNAL_DATA_FL,	0},
+	{ "nojournal-data",L"nojournal-data",	EXT3_JOURNAL_DATA_FL,	0},
+	{ "nojournal",	L"nojournal",		EXT3_JOURNAL_DATA_FL,	0},
 #endif
-#if defined(FS_SECRM_FL)
-        { "nosecuredeletion",L"nosecuredeletion",FS_SECRM_FL,		0},
+#if defined(FS_SECRM_FL)	/* 's' */
+	{ "nosecdel",	L"nosecdel",		FS_SECRM_FL,		0},
+	{ "nosecuredeletion",L"nosecuredeletion",FS_SECRM_FL,		0},
 #elif defined(EXT2_SECRM_FL)
-        { "nosecuredeletion",L"nosecuredeletion",EXT2_SECRM_FL,		0},
+	{ "nosecdel",	L"nosecdel",		EXT2_SECRM_FL,		0},
+	{ "nosecuredeletion",L"nosecuredeletion",EXT2_SECRM_FL,		0},
 #endif
-#if defined(FS_SYNC_FL)
-        { "nosync",	L"nosync",		FS_SYNC_FL,		0},
+#if defined(FS_SYNC_FL)		/* 'S' */
+	{ "nosync",	L"nosync",		FS_SYNC_FL,		0},
 #elif defined(EXT2_SYNC_FL)
-        { "nosync",	L"nosync",		EXT2_SYNC_FL,		0},
+	{ "nosync",	L"nosync",		EXT2_SYNC_FL,		0},
 #endif
-#if defined(FS_NOTAIL_FL)
-        { "notail",	L"notail",		0,		FS_NOTAIL_FL},
+#if defined(FS_NOTAIL_FL)	/* 't' */
+	{ "notail",	L"notail",		0,		FS_NOTAIL_FL},
 #elif defined(EXT2_NOTAIL_FL)
-        { "notail",	L"notail",		0,		EXT2_NOTAIL_FL},
+	{ "notail",	L"notail",		0,		EXT2_NOTAIL_FL},
 #endif
-#if defined(FS_TOPDIR_FL)
-        { "notopdir",	L"notopdir",		FS_TOPDIR_FL,		0},
+#if defined(FS_TOPDIR_FL)	/* 'T' */
+	{ "notopdir",	L"notopdir",		FS_TOPDIR_FL,		0},
 #elif defined(EXT2_TOPDIR_FL)
-        { "notopdir",	L"notopdir",		EXT2_TOPDIR_FL,		0},
+	{ "notopdir",	L"notopdir",		EXT2_TOPDIR_FL,		0},
 #endif
-#ifdef FS_ENCRYPT_FL
-        { "noencrypt",	L"noencrypt",		FS_ENCRYPT_FL,	0},
+#ifdef FS_NOCOW_FL	/* 'C' */
+	{ "nocow",	L"nocow",		0,	FS_NOCOW_FL},
 #endif
-#ifdef FS_HUGE_FILE_FL
-        { "nohugefile",	L"nohugefile",		FS_HUGE_FILE_FL,	0},
+#ifdef FS_PROJINHERIT_FL	/* 'P' */
+	{ "noprojinherit",L"noprojinherit",	FS_PROJINHERIT_FL,	0},
 #endif
-#ifdef FS_EXTENT_FL
-        { "noextent",	L"noextent",		FS_EXTENT_FL,	0},
-#endif
-#ifdef FS_EA_INODE_FL
-        { "noeainode",	L"noeainode",		FS_EA_INODE_FL,	0},
-#endif
-#ifdef FS_EOFBLOCKS_FL
-        { "noeofblocks",L"noeofblocks",		FS_EOFBLOCKS_FL,	0},
-#endif
-#ifdef FS_NOCOW_FL
-        { "nocow",	L"nocow",		FS_NOCOW_FL,	0},
-#endif
-#ifdef FS_INLINE_DATA_FL
-        { "noinlinedata",L"noinlinedata",	FS_INLINE_DATA_FL,	0},
-#endif
-#ifdef FS_PROJINHERIT_FL
-        { "noprojinherit",L"noprojinherit",	FS_PROJINHERIT_FL,	0},
-#endif
-#if defined(FS_RESERVED_FL)
-        { "noreserved",	L"noreserved",		FS_RESERVED_FL,	0},
-#elif defined(EXT2_RESERVED_FL)
-        { "noreserved",	L"noreserved",		EXT2_RESERVED_FL,	0},
-#endif
-	{ NULL,		NULL,			0,		0 }
+	{ NULL,		NULL,			0,		0}
 };
 
 /*

Modified: projects/capsicum-test/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c
==============================================================================
--- projects/capsicum-test/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c	Thu Mar 28 20:16:19 2019	(r345653)
+++ projects/capsicum-test/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c	Thu Mar 28 20:17:14 2019	(r345654)
@@ -163,6 +163,9 @@ archive_read_disk_entry_from_file(struct archive *_a,
 	int initial_fd = fd;
 	int r, r1;
 
+	archive_check_magic(_a, ARCHIVE_READ_DISK_MAGIC, ARCHIVE_STATE_ANY,
+		"archive_read_disk_entry_from_file");
+
 	archive_clear_error(_a);
 	path = archive_entry_sourcepath(entry);
 	if (path == NULL)

Modified: projects/capsicum-test/contrib/libarchive/libarchive/archive_read_support_format_rar5.c
==============================================================================
--- projects/capsicum-test/contrib/libarchive/libarchive/archive_read_support_format_rar5.c	Thu Mar 28 20:16:19 2019	(r345653)
+++ projects/capsicum-test/contrib/libarchive/libarchive/archive_read_support_format_rar5.c	Thu Mar 28 20:17:14 2019	(r345654)
@@ -517,15 +517,16 @@ static int run_e8e9_filter(struct rar5* rar, struct fi
     const uint32_t file_size = 0x1000000;
     ssize_t i;
 
+    const int mask = (int)rar->cstate.window_mask;
     circular_memcpy(rar->cstate.filtered_buf,
         rar->cstate.window_buf,
-        rar->cstate.window_mask,
+        mask,
         rar->cstate.solid_offset + flt->block_start,
         rar->cstate.solid_offset + flt->block_start + flt->block_length);
 
     for(i = 0; i < flt->block_length - 4;) {
         uint8_t b = rar->cstate.window_buf[(rar->cstate.solid_offset +
-                flt->block_start + i++) & rar->cstate.window_mask];
+                flt->block_start + i++) & mask];
 
         /* 0xE8 = x86's call <relative_addr_uint32> (function call)
          * 0xE9 = x86's jmp <relative_addr_uint32> (unconditional jump) */
@@ -534,17 +535,17 @@ static int run_e8e9_filter(struct rar5* rar, struct fi
             uint32_t addr;
             uint32_t offset = (i + flt->block_start) % file_size;
 
-            addr = read_filter_data(rar, (rar->cstate.solid_offset +
+            addr = read_filter_data(rar, (uint32_t)(rar->cstate.solid_offset +
                         flt->block_start + i) & rar->cstate.window_mask);
 
             if(addr & 0x80000000) {
                 if(((addr + offset) & 0x80000000) == 0) {
-                    write_filter_data(rar, i, addr + file_size);
+                    write_filter_data(rar, (uint32_t)i, addr + file_size);
                 }
             } else {
                 if((addr - file_size) & 0x80000000) {
                     uint32_t naddr = addr - offset;
-                    write_filter_data(rar, i, naddr);
+                    write_filter_data(rar, (uint32_t)i, naddr);
                 }
             }
 
@@ -558,11 +559,11 @@ static int run_e8e9_filter(struct rar5* rar, struct fi
 static int run_arm_filter(struct rar5* rar, struct filter_info* flt) {
     ssize_t i = 0;
     uint32_t offset;
-    const int mask = rar->cstate.window_mask;
+    const int mask = (int)rar->cstate.window_mask;
 
     circular_memcpy(rar->cstate.filtered_buf,
         rar->cstate.window_buf,
-        rar->cstate.window_mask,
+        mask,
         rar->cstate.solid_offset + flt->block_start,
         rar->cstate.solid_offset + flt->block_start + flt->block_length);
 
@@ -577,7 +578,7 @@ static int run_arm_filter(struct rar5* rar, struct fil
 
             offset -= (uint32_t) ((i + flt->block_start) / 4);
             offset = (offset & 0x00ffffff) | 0xeb000000;
-            write_filter_data(rar, i, offset);
+            write_filter_data(rar, (uint32_t)i, offset);
         }
     }
 
@@ -643,7 +644,7 @@ static int run_filter(struct archive_read* a, struct f
 static void push_data(struct archive_read* a, struct rar5* rar,
         const uint8_t* buf, int64_t idx_begin, int64_t idx_end)
 {
-    const int wmask = rar->cstate.window_mask;
+    const int wmask = (int)rar->cstate.window_mask;
     const ssize_t solid_write_ptr = (rar->cstate.solid_offset +
         rar->cstate.last_write_ptr) & wmask;
 
@@ -1716,8 +1717,8 @@ static int process_base_block(struct archive_read* a,
 
     rar->generic.split_after = (header_flags & HFL_SPLIT_AFTER) > 0;
     rar->generic.split_before = (header_flags & HFL_SPLIT_BEFORE) > 0;
-    rar->generic.size = hdr_size;
-    rar->generic.last_header_id = header_id;
+    rar->generic.size = (int)hdr_size;
+    rar->generic.last_header_id = (int)header_id;
     rar->main.endarc = 0;
 
     /* Those are possible header ids in RARv5. */
@@ -1933,7 +1934,7 @@ static int create_decode_tables(uint8_t* bit_length,
         }
     }
 
-    quick_data_size = 1 << table->quick_bits;
+    quick_data_size = (int64_t)1 << table->quick_bits;
     cur_len = 1;
     for(code = 0; code < quick_data_size; code++) {
         int bit_field = code << (16 - table->quick_bits);
@@ -2364,7 +2365,7 @@ static int decode_code_length(struct rar5* rar, const 
 
 static int copy_string(struct archive_read* a, int len, int dist) {
     struct rar5* rar = get_context(a);
-    const int cmask = rar->cstate.window_mask;
+    const int cmask = (int)rar->cstate.window_mask;
     const int64_t write_ptr = rar->cstate.write_ptr + rar->cstate.solid_offset;
     int i;
 
@@ -2390,7 +2391,7 @@ static int do_uncompress_block(struct archive_read* a,
     uint16_t num;
     int ret;
 
-    const int cmask = rar->cstate.window_mask;
+    const int cmask = (int)rar->cstate.window_mask;
     const struct compressed_block_header* hdr = &rar->last_block_hdr;
     const uint8_t bit_size = 1 + bf_bit_size(hdr);
 

Modified: projects/capsicum-test/contrib/libarchive/libarchive/archive_read_support_format_zip.c
==============================================================================
--- projects/capsicum-test/contrib/libarchive/libarchive/archive_read_support_format_zip.c	Thu Mar 28 20:16:19 2019	(r345653)
+++ projects/capsicum-test/contrib/libarchive/libarchive/archive_read_support_format_zip.c	Thu Mar 28 20:17:14 2019	(r345654)
@@ -194,6 +194,7 @@ struct zip {
 	ssize_t			zipx_ppmd_read_compressed;
 	CPpmd8			ppmd8;
 	char			ppmd8_valid;
+	char			ppmd8_stream_failed;
 
 	struct archive_string_conv *sconv;
 	struct archive_string_conv *sconv_default;
@@ -254,9 +255,15 @@ ppmd_read(void* p) {
 	/* Get the handle to current decompression context. */
 	struct archive_read *a = ((IByteIn*)p)->a;
 	struct zip *zip = (struct zip*) a->format->data;
+	ssize_t bytes_avail = 0;
 
 	/* Fetch next byte. */
-	const uint8_t* data = __archive_read_ahead(a, 1, NULL);
+	const uint8_t* data = __archive_read_ahead(a, 1, &bytes_avail);
+	if(bytes_avail < 1) {
+		zip->ppmd8_stream_failed = 1;
+		return 0;
+	}
+
 	__archive_read_consume(a, 1);
 
 	/* Increment the counter. */
@@ -1750,6 +1757,7 @@ zipx_ppmd8_init(struct archive_read *a, struct zip *zi
 
 	/* Create a new decompression context. */
 	__archive_ppmd8_functions.Ppmd8_Construct(&zip->ppmd8);
+	zip->ppmd8_stream_failed = 0;
 
 	/* Setup function pointers required by Ppmd8 decompressor. The
 	 * 'ppmd_read' function will feed new bytes to the decompressor,
@@ -1869,6 +1877,14 @@ zip_read_data_zipx_ppmd(struct archive_read *a, const 
 			break;
 		}
 
+		/* This field is set by ppmd_read() when there was no more data
+		 * to be read. */
+		if(zip->ppmd8_stream_failed) {
+			archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+				"Truncated PPMd8 file body");
+			return (ARCHIVE_FATAL);
+		}
+
 		zip->uncompressed_buffer[consumed_bytes] = (uint8_t) sym;
 		++consumed_bytes;
 	} while(consumed_bytes < zip->uncompressed_buffer_size);
@@ -1902,7 +1918,7 @@ zipx_bzip2_init(struct archive_read *a, struct zip *zi
 {
 	int r;
 
-	/* Deallocate already existing BZ2 decompression context if it 
+	/* Deallocate already existing BZ2 decompression context if it
 	 * exists. */
 	if(zip->bzstream_valid) {
 		BZ2_bzDecompressEnd(&zip->bzstream);
@@ -1968,6 +1984,15 @@ zip_read_data_zipx_bzip2(struct archive_read *a, const
 	}
 
 	in_bytes = zipmin(zip->entry_bytes_remaining, bytes_avail);
+	if(in_bytes < 1) {
+		/* libbz2 doesn't complain when caller feeds avail_in == 0. It will
+		 * actually return success in this case, which is undesirable. This is
+		 * why we need to make this check manually. */
+
+		archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+		    "Truncated bzip2 file body");
+		return (ARCHIVE_FATAL);
+	}
 
 	/* Setup buffer boundaries. */
 	zip->bzstream.next_in = (char*)(uintptr_t) compressed_buff;

Modified: projects/capsicum-test/contrib/libarchive/libarchive/archive_string.c
==============================================================================
--- projects/capsicum-test/contrib/libarchive/libarchive/archive_string.c	Thu Mar 28 20:16:19 2019	(r345653)
+++ projects/capsicum-test/contrib/libarchive/libarchive/archive_string.c	Thu Mar 28 20:17:14 2019	(r345654)
@@ -1512,8 +1512,10 @@ get_current_codepage(void)
 	p = strrchr(locale, '.');
 	if (p == NULL)
 		return (GetACP());
+	if (strcmp(p+1, "utf8") == 0)
+		return CP_UTF8;
 	cp = my_atoi(p+1);
-	if (cp <= 0)
+	if ((int)cp <= 0)
 		return (GetACP());
 	return (cp);
 }
@@ -4050,6 +4052,7 @@ archive_mstring_copy_utf8(struct archive_mstring *aes,
 {
   if (utf8 == NULL) {
     aes->aes_set = 0;
+    return (0);
   }
   aes->aes_set = AES_SET_UTF8;
   archive_string_empty(&(aes->aes_mbs));
@@ -4064,6 +4067,7 @@ archive_mstring_copy_wcs_len(struct archive_mstring *a
 {
 	if (wcs == NULL) {
 		aes->aes_set = 0;
+		return (0);
 	}
 	aes->aes_set = AES_SET_WCS; /* Only WCS form set. */
 	archive_string_empty(&(aes->aes_mbs));

Modified: projects/capsicum-test/contrib/libarchive/libarchive/archive_write_disk_posix.c
==============================================================================
--- projects/capsicum-test/contrib/libarchive/libarchive/archive_write_disk_posix.c	Thu Mar 28 20:16:19 2019	(r345653)
+++ projects/capsicum-test/contrib/libarchive/libarchive/archive_write_disk_posix.c	Thu Mar 28 20:17:14 2019	(r345654)
@@ -2588,8 +2588,11 @@ check_symlinks_fsobj(char *path, int *a_eno, struct ar
 	 */
 	restore_pwd = open(".", O_RDONLY | O_BINARY | O_CLOEXEC);
 	__archive_ensure_cloexec_flag(restore_pwd);
-	if (restore_pwd < 0)
+	if (restore_pwd < 0) {
+		fsobj_error(a_eno, a_estr, errno,
+		    "Could not open ", path);
 		return (ARCHIVE_FATAL);
+	}
 	head = path;
 	tail = path;
 	last = 0;
@@ -3128,12 +3131,14 @@ create_dir(struct archive_write_disk *a, char *path)
 static int
 set_ownership(struct archive_write_disk *a)
 {
-#ifndef __CYGWIN__
-/* unfortunately, on win32 there is no 'root' user with uid 0,
-   so we just have to try the chown and see if it works */
-
-	/* If we know we can't change it, don't bother trying. */
-	if (a->user_uid != 0  &&  a->user_uid != a->uid) {
+#if !defined(__CYGWIN__) && !defined(__linux__)
+/*
+ * On Linux, a process may have the CAP_CHOWN capability.
+ * On Windows there is no 'root' user with uid 0.
+ * Elsewhere we can skip calling chown if we are not root and the desired
+ * user id does not match the current user.
+ */
+	if (a->user_uid != 0 && a->user_uid != a->uid) {
 		archive_set_error(&a->archive, errno,
 		    "Can't set UID=%jd", (intmax_t)a->uid);
 		return (ARCHIVE_WARN);
@@ -3500,9 +3505,7 @@ set_fflags(struct archive_write_disk *a)
 	struct fixup_entry *le;
 	unsigned long	set, clear;
 	int		r;
-	int		critical_flags;
 	mode_t		mode = archive_entry_mode(a->entry);
-
 	/*
 	 * Make 'critical_flags' hold all file flags that can't be
 	 * immediately restored.  For example, on BSD systems,
@@ -3518,33 +3521,33 @@ set_fflags(struct archive_write_disk *a)
 	 * other programs that might try to muck with files as they're
 	 * being restored.
 	 */
-	/* Hopefully, the compiler will optimize this mess into a constant. */
-	critical_flags = 0;
+	const int	critical_flags = 0
 #ifdef SF_IMMUTABLE
-	critical_flags |= SF_IMMUTABLE;
+	    | SF_IMMUTABLE
 #endif
 #ifdef UF_IMMUTABLE
-	critical_flags |= UF_IMMUTABLE;
+	    | UF_IMMUTABLE
 #endif
 #ifdef SF_APPEND
-	critical_flags |= SF_APPEND;
+	    | SF_APPEND
 #endif
 #ifdef UF_APPEND
-	critical_flags |= UF_APPEND;
+	    | UF_APPEND
 #endif
 #if defined(FS_APPEND_FL)
-	critical_flags |= FS_APPEND_FL;
+	    | FS_APPEND_FL
 #elif defined(EXT2_APPEND_FL)
-	critical_flags |= EXT2_APPEND_FL;
+	    | EXT2_APPEND_FL
 #endif
 #if defined(FS_IMMUTABLE_FL)
-	critical_flags |= FS_IMMUTABLE_FL;
+	    | FS_IMMUTABLE_FL
 #elif defined(EXT2_IMMUTABLE_FL)
-	critical_flags |= EXT2_IMMUTABLE_FL;
+	    | EXT2_IMMUTABLE_FL
 #endif
 #ifdef FS_JOURNAL_DATA_FL
-	critical_flags |= FS_JOURNAL_DATA_FL;
+	    | FS_JOURNAL_DATA_FL
 #endif
+	;
 
 	if (a->todo & TODO_FFLAGS) {
 		archive_entry_fflags(a->entry, &set, &clear);
@@ -3575,29 +3578,27 @@ set_fflags(struct archive_write_disk *a)
 static int
 clear_nochange_fflags(struct archive_write_disk *a)
 {
-	int		nochange_flags;
 	mode_t		mode = archive_entry_mode(a->entry);
-
-	/* Hopefully, the compiler will optimize this mess into a constant. */
-	nochange_flags = 0;
+	const int nochange_flags = 0
 #ifdef SF_IMMUTABLE
-	nochange_flags |= SF_IMMUTABLE;
+	    | SF_IMMUTABLE
 #endif
 #ifdef UF_IMMUTABLE
-	nochange_flags |= UF_IMMUTABLE;
+	    | UF_IMMUTABLE
 #endif
 #ifdef SF_APPEND
-	nochange_flags |= SF_APPEND;
+	    | SF_APPEND
 #endif
 #ifdef UF_APPEND
-	nochange_flags |= UF_APPEND;
+	    | UF_APPEND
 #endif
 #ifdef EXT2_APPEND_FL
-	nochange_flags |= EXT2_APPEND_FL;
+	    | EXT2_APPEND_FL
 #endif
 #ifdef EXT2_IMMUTABLE_FL
-	nochange_flags |= EXT2_IMMUTABLE_FL;
+	    | EXT2_IMMUTABLE_FL
 #endif
+	;
 
 	return (set_fflags_platform(a, a->fd, a->name, mode, 0,
 	    nochange_flags));
@@ -3613,8 +3614,22 @@ set_fflags_platform(struct archive_write_disk *a, int 
     mode_t mode, unsigned long set, unsigned long clear)
 {
 	int r;
-
+	const int sf_mask = 0
+#ifdef SF_APPEND
+	    | SF_APPEND
+#endif
+#ifdef SF_ARCHIVED
+	    | SF_ARCHIVED
+#endif
+#ifdef SF_IMMUTABLE
+	    | SF_IMMUTABLE
+#endif
+#ifdef SF_NOUNLINK
+	    | SF_NOUNLINK
+#endif
+	;
 	(void)mode; /* UNUSED */

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***





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