svn commit: r304064 - in user/alc/PG_CACHED: . bin/ps cddl/contrib/opensolaris/tools/ctf/cvt cddl/usr.sbin/dtrace/tests/common/raise cddl/usr.sbin/dtrace/tests/common/safety cddl/usr.sbin/dtrace/te...

Mark Johnston markj at FreeBSD.org
Sat Aug 13 23:00:19 UTC 2016


Author: markj
Date: Sat Aug 13 23:00:15 2016
New Revision: 304064
URL: https://svnweb.freebsd.org/changeset/base/304064

Log:
  Merge from PQ_LAUNDRY at r304063.

Added:
  user/alc/PG_CACHED/lib/libc/gen/dirname_compat.c
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/lib/libc/gen/dirname_compat.c
  user/alc/PG_CACHED/libexec/rtld-elf/rtld_utrace.h
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/libexec/rtld-elf/rtld_utrace.h
  user/alc/PG_CACHED/sbin/ipfw/nat64lsn.c
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sbin/ipfw/nat64lsn.c
  user/alc/PG_CACHED/sbin/ipfw/nat64stl.c
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sbin/ipfw/nat64stl.c
  user/alc/PG_CACHED/sys/boot/fdt/dts/arm/pcduino3.dts
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sys/boot/fdt/dts/arm/pcduino3.dts
  user/alc/PG_CACHED/sys/compat/cloudabi/cloudabi_vdso.c
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sys/compat/cloudabi/cloudabi_vdso.c
  user/alc/PG_CACHED/sys/compat/cloudabi64/cloudabi64_vdso.lds.s
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sys/compat/cloudabi64/cloudabi64_vdso.lds.s
  user/alc/PG_CACHED/sys/dev/hyperv/include/vmbus_xact.h
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sys/dev/hyperv/include/vmbus_xact.h
  user/alc/PG_CACHED/sys/dev/hyperv/netvsc/if_hnreg.h
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sys/dev/hyperv/netvsc/if_hnreg.h
  user/alc/PG_CACHED/sys/dev/hyperv/netvsc/if_hnvar.h
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sys/dev/hyperv/netvsc/if_hnvar.h
  user/alc/PG_CACHED/sys/dev/hyperv/vmbus/vmbus_xact.c
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sys/dev/hyperv/vmbus/vmbus_xact.c
  user/alc/PG_CACHED/sys/kern/subr_gtaskqueue.c
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sys/kern/subr_gtaskqueue.c
  user/alc/PG_CACHED/sys/modules/ipfw_nat64/
     - copied from r304063, user/alc/PQ_LAUNDRY/sys/modules/ipfw_nat64/
  user/alc/PG_CACHED/sys/netinet6/ip_fw_nat64.h
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sys/netinet6/ip_fw_nat64.h
  user/alc/PG_CACHED/sys/netpfil/ipfw/ip_fw_bpf.c
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sys/netpfil/ipfw/ip_fw_bpf.c
  user/alc/PG_CACHED/sys/netpfil/ipfw/nat64/
     - copied from r304063, user/alc/PQ_LAUNDRY/sys/netpfil/ipfw/nat64/
  user/alc/PG_CACHED/sys/riscv/include/sbi.h
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sys/riscv/include/sbi.h
  user/alc/PG_CACHED/sys/riscv/riscv/riscv_console.c
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sys/riscv/riscv/riscv_console.c
  user/alc/PG_CACHED/sys/riscv/riscv/sbi.S
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sys/riscv/riscv/sbi.S
  user/alc/PG_CACHED/sys/sys/gtaskqueue.h
     - copied unchanged from r304063, user/alc/PQ_LAUNDRY/sys/sys/gtaskqueue.h
  user/alc/PG_CACHED/tools/tools/dmardump/
     - copied from r304063, user/alc/PQ_LAUNDRY/tools/tools/dmardump/
Deleted:
  user/alc/PG_CACHED/lib/libc/sys/kse.2
  user/alc/PG_CACHED/sys/boot/fdt/dts/arm/pcduino3b.dts
  user/alc/PG_CACHED/sys/riscv/htif/
  user/alc/PG_CACHED/usr.bin/kdump/linux32_syscalls.conf
  user/alc/PG_CACHED/usr.bin/kdump/linux_syscalls.conf
  user/alc/PG_CACHED/usr.bin/truss/makesyscallsconf.sh
Modified:
  user/alc/PG_CACHED/Makefile
  user/alc/PG_CACHED/Makefile.inc1
  user/alc/PG_CACHED/bin/ps/ps.1
  user/alc/PG_CACHED/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c
  user/alc/PG_CACHED/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c
  user/alc/PG_CACHED/cddl/usr.sbin/dtrace/tests/common/raise/Makefile
  user/alc/PG_CACHED/cddl/usr.sbin/dtrace/tests/common/safety/Makefile
  user/alc/PG_CACHED/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh
  user/alc/PG_CACHED/etc/rc.d/jail
  user/alc/PG_CACHED/include/unistd.h
  user/alc/PG_CACHED/lib/libc/gen/Makefile.inc
  user/alc/PG_CACHED/lib/libc/gen/Symbol.map
  user/alc/PG_CACHED/lib/libc/gen/dirname.3
  user/alc/PG_CACHED/lib/libc/gen/dirname.c
  user/alc/PG_CACHED/lib/libc/net/getaddrinfo.c
  user/alc/PG_CACHED/lib/libc/rpc/svc_vc.c
  user/alc/PG_CACHED/lib/libc/tests/resolv/resolv_test.c
  user/alc/PG_CACHED/lib/libcrypt/Makefile
  user/alc/PG_CACHED/lib/libcrypt/crypt-md5.c
  user/alc/PG_CACHED/lib/libcrypt/crypt-nthash.c
  user/alc/PG_CACHED/lib/libcrypt/crypt-sha256.c
  user/alc/PG_CACHED/lib/libcrypt/crypt-sha512.c
  user/alc/PG_CACHED/lib/libcrypt/crypt.3
  user/alc/PG_CACHED/lib/libcrypt/crypt.c
  user/alc/PG_CACHED/lib/libcrypt/crypt.h
  user/alc/PG_CACHED/lib/libcrypt/misc.c
  user/alc/PG_CACHED/lib/libpcap/pcap-netmap.c
  user/alc/PG_CACHED/lib/libsysdecode/Makefile
  user/alc/PG_CACHED/lib/libsysdecode/utrace.c
  user/alc/PG_CACHED/libexec/rtld-elf/rtld.c
  user/alc/PG_CACHED/release/release.sh
  user/alc/PG_CACHED/sbin/ipfw/Makefile
  user/alc/PG_CACHED/sbin/ipfw/ipfw.8
  user/alc/PG_CACHED/sbin/ipfw/ipfw2.c
  user/alc/PG_CACHED/sbin/ipfw/ipfw2.h
  user/alc/PG_CACHED/sbin/ipfw/main.c
  user/alc/PG_CACHED/sbin/ipfw/nptv6.c
  user/alc/PG_CACHED/sbin/ipfw/tables.c
  user/alc/PG_CACHED/secure/lib/libcrypt/crypt-blowfish.c
  user/alc/PG_CACHED/secure/lib/libcrypt/crypt-des.c
  user/alc/PG_CACHED/share/man/man4/pci.4
  user/alc/PG_CACHED/share/misc/committers-src.dot
  user/alc/PG_CACHED/share/mk/bsd.README
  user/alc/PG_CACHED/share/mk/bsd.progs.mk
  user/alc/PG_CACHED/share/timedef/af_ZA.UTF-8.src
  user/alc/PG_CACHED/share/timedef/am_ET.UTF-8.src
  user/alc/PG_CACHED/share/timedef/ar_JO.UTF-8.src
  user/alc/PG_CACHED/share/timedef/ar_MA.UTF-8.src
  user/alc/PG_CACHED/share/timedef/ar_SA.UTF-8.src
  user/alc/PG_CACHED/share/timedef/be_BY.CP1131.src
  user/alc/PG_CACHED/share/timedef/be_BY.CP1251.src
  user/alc/PG_CACHED/share/timedef/be_BY.ISO8859-5.src
  user/alc/PG_CACHED/share/timedef/be_BY.UTF-8.src
  user/alc/PG_CACHED/share/timedef/bg_BG.CP1251.src
  user/alc/PG_CACHED/share/timedef/bg_BG.UTF-8.src
  user/alc/PG_CACHED/share/timedef/ca_IT.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/ca_IT.UTF-8.src
  user/alc/PG_CACHED/share/timedef/cs_CZ.ISO8859-2.src
  user/alc/PG_CACHED/share/timedef/cs_CZ.UTF-8.src
  user/alc/PG_CACHED/share/timedef/da_DK.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/da_DK.UTF-8.src
  user/alc/PG_CACHED/share/timedef/de_AT.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/de_AT.UTF-8.src
  user/alc/PG_CACHED/share/timedef/de_DE.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/de_DE.UTF-8.src
  user/alc/PG_CACHED/share/timedef/el_GR.ISO8859-7.src
  user/alc/PG_CACHED/share/timedef/el_GR.UTF-8.src
  user/alc/PG_CACHED/share/timedef/en_CA.UTF-8.src
  user/alc/PG_CACHED/share/timedef/en_GB.UTF-8.src
  user/alc/PG_CACHED/share/timedef/en_IE.UTF-8.src
  user/alc/PG_CACHED/share/timedef/en_PH.UTF-8.src
  user/alc/PG_CACHED/share/timedef/en_SG.UTF-8.src
  user/alc/PG_CACHED/share/timedef/en_US.UTF-8.src
  user/alc/PG_CACHED/share/timedef/en_ZA.UTF-8.src
  user/alc/PG_CACHED/share/timedef/es_AR.ISO8859-1.src
  user/alc/PG_CACHED/share/timedef/es_CR.UTF-8.src
  user/alc/PG_CACHED/share/timedef/es_ES.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/es_ES.UTF-8.src
  user/alc/PG_CACHED/share/timedef/es_MX.ISO8859-1.src
  user/alc/PG_CACHED/share/timedef/es_MX.UTF-8.src
  user/alc/PG_CACHED/share/timedef/et_EE.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/eu_ES.UTF-8.src
  user/alc/PG_CACHED/share/timedef/fi_FI.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/fi_FI.UTF-8.src
  user/alc/PG_CACHED/share/timedef/fr_BE.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/fr_BE.UTF-8.src
  user/alc/PG_CACHED/share/timedef/fr_CA.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/fr_CA.UTF-8.src
  user/alc/PG_CACHED/share/timedef/fr_CH.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/fr_CH.UTF-8.src
  user/alc/PG_CACHED/share/timedef/fr_FR.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/fr_FR.UTF-8.src
  user/alc/PG_CACHED/share/timedef/he_IL.UTF-8.src
  user/alc/PG_CACHED/share/timedef/hi_IN.ISCII-DEV.src
  user/alc/PG_CACHED/share/timedef/hi_IN.UTF-8.src
  user/alc/PG_CACHED/share/timedef/hr_HR.ISO8859-2.src
  user/alc/PG_CACHED/share/timedef/hr_HR.UTF-8.src
  user/alc/PG_CACHED/share/timedef/hu_HU.ISO8859-2.src
  user/alc/PG_CACHED/share/timedef/hu_HU.UTF-8.src
  user/alc/PG_CACHED/share/timedef/hy_AM.ARMSCII-8.src
  user/alc/PG_CACHED/share/timedef/hy_AM.UTF-8.src
  user/alc/PG_CACHED/share/timedef/is_IS.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/is_IS.UTF-8.src
  user/alc/PG_CACHED/share/timedef/it_CH.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/it_CH.UTF-8.src
  user/alc/PG_CACHED/share/timedef/it_IT.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/it_IT.UTF-8.src
  user/alc/PG_CACHED/share/timedef/ja_JP.SJIS.src
  user/alc/PG_CACHED/share/timedef/ja_JP.UTF-8.src
  user/alc/PG_CACHED/share/timedef/ja_JP.eucJP.src
  user/alc/PG_CACHED/share/timedef/kk_KZ.UTF-8.src
  user/alc/PG_CACHED/share/timedef/ko_KR.UTF-8.src
  user/alc/PG_CACHED/share/timedef/ko_KR.eucKR.src
  user/alc/PG_CACHED/share/timedef/lt_LT.ISO8859-13.src
  user/alc/PG_CACHED/share/timedef/lt_LT.UTF-8.src
  user/alc/PG_CACHED/share/timedef/lv_LV.ISO8859-13.src
  user/alc/PG_CACHED/share/timedef/lv_LV.UTF-8.src
  user/alc/PG_CACHED/share/timedef/mn_MN.UTF-8.src
  user/alc/PG_CACHED/share/timedef/nb_NO.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/nb_NO.UTF-8.src
  user/alc/PG_CACHED/share/timedef/nl_BE.UTF-8.src
  user/alc/PG_CACHED/share/timedef/nl_NL.UTF-8.src
  user/alc/PG_CACHED/share/timedef/nn_NO.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/nn_NO.UTF-8.src
  user/alc/PG_CACHED/share/timedef/pl_PL.ISO8859-2.src
  user/alc/PG_CACHED/share/timedef/pl_PL.UTF-8.src
  user/alc/PG_CACHED/share/timedef/pt_BR.ISO8859-1.src
  user/alc/PG_CACHED/share/timedef/pt_BR.UTF-8.src
  user/alc/PG_CACHED/share/timedef/pt_PT.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/pt_PT.UTF-8.src
  user/alc/PG_CACHED/share/timedef/ro_RO.ISO8859-2.src
  user/alc/PG_CACHED/share/timedef/ro_RO.UTF-8.src
  user/alc/PG_CACHED/share/timedef/ru_RU.CP1251.src
  user/alc/PG_CACHED/share/timedef/ru_RU.CP866.src
  user/alc/PG_CACHED/share/timedef/ru_RU.ISO8859-5.src
  user/alc/PG_CACHED/share/timedef/ru_RU.KOI8-R.src
  user/alc/PG_CACHED/share/timedef/ru_RU.UTF-8.src
  user/alc/PG_CACHED/share/timedef/se_FI.UTF-8.src
  user/alc/PG_CACHED/share/timedef/se_NO.UTF-8.src
  user/alc/PG_CACHED/share/timedef/sk_SK.ISO8859-2.src
  user/alc/PG_CACHED/share/timedef/sk_SK.UTF-8.src
  user/alc/PG_CACHED/share/timedef/sl_SI.ISO8859-2.src
  user/alc/PG_CACHED/share/timedef/sl_SI.UTF-8.src
  user/alc/PG_CACHED/share/timedef/sr_RS.ISO8859-2.src
  user/alc/PG_CACHED/share/timedef/sr_RS.ISO8859-5.src
  user/alc/PG_CACHED/share/timedef/sr_RS.UTF-8.src
  user/alc/PG_CACHED/share/timedef/sr_RS.UTF-8 at latin.src
  user/alc/PG_CACHED/share/timedef/sv_FI.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/sv_SE.ISO8859-15.src
  user/alc/PG_CACHED/share/timedef/sv_SE.UTF-8.src
  user/alc/PG_CACHED/share/timedef/tr_TR.ISO8859-9.src
  user/alc/PG_CACHED/share/timedef/tr_TR.UTF-8.src
  user/alc/PG_CACHED/share/timedef/uk_UA.CP1251.src
  user/alc/PG_CACHED/share/timedef/uk_UA.ISO8859-5.src
  user/alc/PG_CACHED/share/timedef/uk_UA.KOI8-U.src
  user/alc/PG_CACHED/share/timedef/uk_UA.UTF-8.src
  user/alc/PG_CACHED/share/timedef/zh_CN.GB2312.src
  user/alc/PG_CACHED/share/timedef/zh_CN.GBK.src
  user/alc/PG_CACHED/share/timedef/zh_CN.UTF-8.src
  user/alc/PG_CACHED/share/timedef/zh_CN.eucCN.src
  user/alc/PG_CACHED/share/timedef/zh_HK.UTF-8.src
  user/alc/PG_CACHED/share/timedef/zh_TW.Big5.src
  user/alc/PG_CACHED/share/timedef/zh_TW.UTF-8.src
  user/alc/PG_CACHED/sys/amd64/amd64/pmap.c
  user/alc/PG_CACHED/sys/amd64/amd64/trap.c
  user/alc/PG_CACHED/sys/amd64/cloudabi64/cloudabi64_sysvec.c
  user/alc/PG_CACHED/sys/arm/broadcom/bcm2835/bcm2835_vcio.c
  user/alc/PG_CACHED/sys/arm/xscale/ixp425/avila_ata.c
  user/alc/PG_CACHED/sys/arm/xscale/pxa/pxa_smi.c
  user/alc/PG_CACHED/sys/arm/xscale/pxa/pxa_space.c
  user/alc/PG_CACHED/sys/arm64/arm64/pmap.c
  user/alc/PG_CACHED/sys/arm64/arm64/trap.c
  user/alc/PG_CACHED/sys/arm64/arm64/vm_machdep.c
  user/alc/PG_CACHED/sys/arm64/cloudabi64/cloudabi64_sysvec.c
  user/alc/PG_CACHED/sys/arm64/include/pmap.h
  user/alc/PG_CACHED/sys/boot/efi/loader/Makefile
  user/alc/PG_CACHED/sys/boot/fdt/dts/riscv/qemu.dts
  user/alc/PG_CACHED/sys/boot/fdt/dts/riscv/rocket.dts
  user/alc/PG_CACHED/sys/boot/fdt/dts/riscv/spike.dts
  user/alc/PG_CACHED/sys/boot/i386/btx/btxldr/btxldr.S
  user/alc/PG_CACHED/sys/boot/i386/libi386/smbios.c
  user/alc/PG_CACHED/sys/boot/i386/zfsboot/zfsboot.c
  user/alc/PG_CACHED/sys/cam/ata/ata_all.c
  user/alc/PG_CACHED/sys/cam/scsi/scsi_all.c
  user/alc/PG_CACHED/sys/cam/scsi/scsi_da.c
  user/alc/PG_CACHED/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  user/alc/PG_CACHED/sys/compat/cloudabi/cloudabi_util.h
  user/alc/PG_CACHED/sys/compat/cloudabi64/cloudabi64_module.c
  user/alc/PG_CACHED/sys/conf/NOTES
  user/alc/PG_CACHED/sys/conf/files
  user/alc/PG_CACHED/sys/conf/files.amd64
  user/alc/PG_CACHED/sys/conf/files.arm64
  user/alc/PG_CACHED/sys/conf/files.i386
  user/alc/PG_CACHED/sys/conf/files.riscv
  user/alc/PG_CACHED/sys/conf/kern.post.mk
  user/alc/PG_CACHED/sys/conf/ldscript.riscv
  user/alc/PG_CACHED/sys/conf/options
  user/alc/PG_CACHED/sys/contrib/ncsw/user/env/xx.c
  user/alc/PG_CACHED/sys/contrib/octeon-sdk/cvmx-twsi.c
  user/alc/PG_CACHED/sys/dev/aic7xxx/aic7xxx_osm.c
  user/alc/PG_CACHED/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c
  user/alc/PG_CACHED/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
  user/alc/PG_CACHED/sys/dev/auxio/auxio.c
  user/alc/PG_CACHED/sys/dev/bktr/bktr_os.c
  user/alc/PG_CACHED/sys/dev/bktr/bktr_reg.h
  user/alc/PG_CACHED/sys/dev/bxe/bxe.c
  user/alc/PG_CACHED/sys/dev/cxgbe/adapter.h
  user/alc/PG_CACHED/sys/dev/cxgbe/t4_sge.c
  user/alc/PG_CACHED/sys/dev/e1000/e1000_osdep.h
  user/alc/PG_CACHED/sys/dev/e1000/if_em.h
  user/alc/PG_CACHED/sys/dev/e1000/if_igb.h
  user/alc/PG_CACHED/sys/dev/e1000/if_lem.h
  user/alc/PG_CACHED/sys/dev/etherswitch/ip17x/ip17x.c
  user/alc/PG_CACHED/sys/dev/filemon/filemon.c
  user/alc/PG_CACHED/sys/dev/hyperv/include/vmbus.h
  user/alc/PG_CACHED/sys/dev/hyperv/netvsc/hv_net_vsc.c
  user/alc/PG_CACHED/sys/dev/hyperv/netvsc/hv_net_vsc.h
  user/alc/PG_CACHED/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  user/alc/PG_CACHED/sys/dev/hyperv/netvsc/hv_rndis.h
  user/alc/PG_CACHED/sys/dev/hyperv/netvsc/hv_rndis_filter.c
  user/alc/PG_CACHED/sys/dev/hyperv/netvsc/hv_rndis_filter.h
  user/alc/PG_CACHED/sys/dev/hyperv/vmbus/vmbus.c
  user/alc/PG_CACHED/sys/dev/hyperv/vmbus/vmbus_var.h
  user/alc/PG_CACHED/sys/dev/ixgb/if_ixgb.h
  user/alc/PG_CACHED/sys/dev/ixgb/if_ixgb_osdep.h
  user/alc/PG_CACHED/sys/dev/ixgbe/ixgbe.h
  user/alc/PG_CACHED/sys/dev/ixl/i40e_osdep.h
  user/alc/PG_CACHED/sys/dev/ixl/ixl.h
  user/alc/PG_CACHED/sys/dev/ixl/ixl_pf.h
  user/alc/PG_CACHED/sys/dev/ixl/ixlv.h
  user/alc/PG_CACHED/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
  user/alc/PG_CACHED/sys/dev/mpt/mpt_pci.c
  user/alc/PG_CACHED/sys/dev/msk/if_msk.c
  user/alc/PG_CACHED/sys/dev/nand/nand_generic.c
  user/alc/PG_CACHED/sys/dev/nand/nandsim_chip.c
  user/alc/PG_CACHED/sys/dev/netmap/netmap_mem2.c
  user/alc/PG_CACHED/sys/dev/ofw/openfirmio.c
  user/alc/PG_CACHED/sys/dev/ofw/openpromio.c
  user/alc/PG_CACHED/sys/dev/pci/pci_user.c
  user/alc/PG_CACHED/sys/dev/pci/pcivar.h
  user/alc/PG_CACHED/sys/dev/sound/sbus/cs4231.c
  user/alc/PG_CACHED/sys/dev/tpm/tpm.c
  user/alc/PG_CACHED/sys/dev/tws/tws.c
  user/alc/PG_CACHED/sys/dev/usb/controller/ehci_ixp4xx.c
  user/alc/PG_CACHED/sys/dev/virtio/network/if_vtnet.c
  user/alc/PG_CACHED/sys/dev/virtio/network/if_vtnetvar.h
  user/alc/PG_CACHED/sys/fs/autofs/autofs_vnops.c
  user/alc/PG_CACHED/sys/fs/nfs/nfs_commonkrpc.c
  user/alc/PG_CACHED/sys/fs/nfs/nfs_commonport.c
  user/alc/PG_CACHED/sys/fs/nfs/nfsport.h
  user/alc/PG_CACHED/sys/fs/nfs/nfsproto.h
  user/alc/PG_CACHED/sys/fs/nfsclient/nfs_clbio.c
  user/alc/PG_CACHED/sys/fs/nfsclient/nfs_clcomsubs.c
  user/alc/PG_CACHED/sys/fs/nfsclient/nfs_clstate.c
  user/alc/PG_CACHED/sys/fs/nfsclient/nfs_clsubs.c
  user/alc/PG_CACHED/sys/fs/nfsclient/nfs_clvfsops.c
  user/alc/PG_CACHED/sys/fs/nfsclient/nfs_clvnops.c
  user/alc/PG_CACHED/sys/fs/nfsserver/nfs_nfsdcache.c
  user/alc/PG_CACHED/sys/fs/nfsserver/nfs_nfsdport.c
  user/alc/PG_CACHED/sys/fs/nfsserver/nfs_nfsdsocket.c
  user/alc/PG_CACHED/sys/fs/nfsserver/nfs_nfsdstate.c
  user/alc/PG_CACHED/sys/fs/smbfs/smbfs_node.c
  user/alc/PG_CACHED/sys/fs/tmpfs/tmpfs_subr.c
  user/alc/PG_CACHED/sys/fs/unionfs/union_vnops.c
  user/alc/PG_CACHED/sys/i386/i386/trap.c
  user/alc/PG_CACHED/sys/kern/kern_descrip.c
  user/alc/PG_CACHED/sys/kern/kern_exec.c
  user/alc/PG_CACHED/sys/kern/kern_kthread.c
  user/alc/PG_CACHED/sys/kern/kern_ktrace.c
  user/alc/PG_CACHED/sys/kern/kern_timeout.c
  user/alc/PG_CACHED/sys/kern/subr_bus.c
  user/alc/PG_CACHED/sys/kern/subr_taskqueue.c
  user/alc/PG_CACHED/sys/kern/vfs_bio.c
  user/alc/PG_CACHED/sys/kern/vfs_cluster.c
  user/alc/PG_CACHED/sys/kern/vfs_default.c
  user/alc/PG_CACHED/sys/kern/vfs_lookup.c
  user/alc/PG_CACHED/sys/kern/vfs_mount.c
  user/alc/PG_CACHED/sys/kern/vfs_subr.c
  user/alc/PG_CACHED/sys/kern/vnode_if.src
  user/alc/PG_CACHED/sys/mips/nlm/dev/net/xlpge.c
  user/alc/PG_CACHED/sys/mips/rmi/dev/nlge/if_nlge.c
  user/alc/PG_CACHED/sys/modules/Makefile
  user/alc/PG_CACHED/sys/modules/cloudabi/Makefile
  user/alc/PG_CACHED/sys/modules/cloudabi64/Makefile
  user/alc/PG_CACHED/sys/modules/dtb/allwinner/Makefile
  user/alc/PG_CACHED/sys/modules/hyperv/vmbus/Makefile
  user/alc/PG_CACHED/sys/modules/ipfw/Makefile
  user/alc/PG_CACHED/sys/net/ifdi_if.m
  user/alc/PG_CACHED/sys/net/iflib.c
  user/alc/PG_CACHED/sys/net/iflib.h
  user/alc/PG_CACHED/sys/net80211/ieee80211_crypto_wep.c
  user/alc/PG_CACHED/sys/netinet/ip_fw.h
  user/alc/PG_CACHED/sys/netinet/sctp_indata.c
  user/alc/PG_CACHED/sys/netinet/tcp_fastopen.c
  user/alc/PG_CACHED/sys/netpfil/ipfw/ip_fw2.c
  user/alc/PG_CACHED/sys/netpfil/ipfw/ip_fw_log.c
  user/alc/PG_CACHED/sys/netpfil/ipfw/ip_fw_private.h
  user/alc/PG_CACHED/sys/netpfil/ipfw/ip_fw_sockopt.c
  user/alc/PG_CACHED/sys/netpfil/ipfw/ip_fw_table.c
  user/alc/PG_CACHED/sys/netpfil/ipfw/nptv6/nptv6.c
  user/alc/PG_CACHED/sys/powerpc/aim/locore.S
  user/alc/PG_CACHED/sys/powerpc/booke/locore.S
  user/alc/PG_CACHED/sys/powerpc/booke/pmap.c
  user/alc/PG_CACHED/sys/powerpc/mpc85xx/platform_mpc85xx.c
  user/alc/PG_CACHED/sys/powerpc/powerpc/busdma_machdep.c
  user/alc/PG_CACHED/sys/powerpc/powerpc/machdep.c
  user/alc/PG_CACHED/sys/powerpc/powerpc/mmu_if.m
  user/alc/PG_CACHED/sys/powerpc/powerpc/pmap_dispatch.c
  user/alc/PG_CACHED/sys/riscv/conf/GENERIC
  user/alc/PG_CACHED/sys/riscv/conf/QEMU
  user/alc/PG_CACHED/sys/riscv/conf/ROCKET
  user/alc/PG_CACHED/sys/riscv/conf/SPIKE
  user/alc/PG_CACHED/sys/riscv/include/cpufunc.h
  user/alc/PG_CACHED/sys/riscv/include/pcpu.h
  user/alc/PG_CACHED/sys/riscv/include/riscvreg.h
  user/alc/PG_CACHED/sys/riscv/include/vmparam.h
  user/alc/PG_CACHED/sys/riscv/riscv/exception.S
  user/alc/PG_CACHED/sys/riscv/riscv/genassym.c
  user/alc/PG_CACHED/sys/riscv/riscv/identcpu.c
  user/alc/PG_CACHED/sys/riscv/riscv/intr_machdep.c
  user/alc/PG_CACHED/sys/riscv/riscv/locore.S
  user/alc/PG_CACHED/sys/riscv/riscv/machdep.c
  user/alc/PG_CACHED/sys/riscv/riscv/mp_machdep.c
  user/alc/PG_CACHED/sys/riscv/riscv/pmap.c
  user/alc/PG_CACHED/sys/riscv/riscv/timer.c
  user/alc/PG_CACHED/sys/riscv/riscv/vm_machdep.c
  user/alc/PG_CACHED/sys/sparc64/fhc/clkbrd.c
  user/alc/PG_CACHED/sys/sparc64/pci/fire.c
  user/alc/PG_CACHED/sys/sys/_task.h
  user/alc/PG_CACHED/sys/sys/buf.h
  user/alc/PG_CACHED/sys/sys/rman.h
  user/alc/PG_CACHED/sys/sys/taskqueue.h
  user/alc/PG_CACHED/sys/sys/vnode.h
  user/alc/PG_CACHED/sys/tools/embed_mfs.sh
  user/alc/PG_CACHED/sys/ufs/ffs/ffs_snapshot.c
  user/alc/PG_CACHED/sys/ufs/ffs/ffs_vnops.c
  user/alc/PG_CACHED/sys/ufs/ufs/ufs_lookup.c
  user/alc/PG_CACHED/sys/ufs/ufs/ufs_quota.c
  user/alc/PG_CACHED/sys/vm/vm_object.c
  user/alc/PG_CACHED/sys/vm/vm_page.c
  user/alc/PG_CACHED/sys/vm/vm_pageout.c
  user/alc/PG_CACHED/sys/vm/vm_phys.c
  user/alc/PG_CACHED/sys/x86/cpufreq/powernow.c
  user/alc/PG_CACHED/sys/x86/iommu/intel_reg.h
  user/alc/PG_CACHED/tests/sys/acl/00.sh
  user/alc/PG_CACHED/tests/sys/acl/01.sh
  user/alc/PG_CACHED/tests/sys/acl/02.sh
  user/alc/PG_CACHED/tests/sys/acl/03.sh
  user/alc/PG_CACHED/tests/sys/acl/04.sh
  user/alc/PG_CACHED/tools/tools/ath/ath_ee_9300_print/main.c
  user/alc/PG_CACHED/usr.bin/kdump/kdump.c
  user/alc/PG_CACHED/usr.bin/nfsstat/nfsstat.1
  user/alc/PG_CACHED/usr.bin/nfsstat/nfsstat.c
  user/alc/PG_CACHED/usr.bin/truss/syscalls.c
  user/alc/PG_CACHED/usr.bin/xinstall/xinstall.c
  user/alc/PG_CACHED/usr.sbin/acpi/acpidump/acpi.c
  user/alc/PG_CACHED/usr.sbin/ancontrol/ancontrol.c
  user/alc/PG_CACHED/usr.sbin/bsdinstall/scripts/hardening
Directory Properties:
  user/alc/PG_CACHED/   (props changed)
  user/alc/PG_CACHED/cddl/   (props changed)
  user/alc/PG_CACHED/cddl/contrib/opensolaris/   (props changed)
  user/alc/PG_CACHED/sys/cddl/contrib/opensolaris/   (props changed)
  user/alc/PG_CACHED/sys/contrib/octeon-sdk/   (props changed)

Modified: user/alc/PG_CACHED/Makefile
==============================================================================
--- user/alc/PG_CACHED/Makefile	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/Makefile	Sat Aug 13 23:00:15 2016	(r304064)
@@ -209,7 +209,8 @@ SUB_MAKE= `test -x ${MYMAKE} && echo ${M
 SUB_MAKE= ${MAKE} -m ${.CURDIR}/share/mk
 .endif
 
-_MAKE=	PATH=${PATH} ${SUB_MAKE} -f Makefile.inc1 TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH}
+_MAKE=	PATH=${PATH} MAKE_CMD=${MAKE} ${SUB_MAKE} -f Makefile.inc1 \
+	TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH}
 
 # Only allow meta mode for the whitelisted targets.  See META_TGT_WHITELIST
 # above.

Modified: user/alc/PG_CACHED/Makefile.inc1
==============================================================================
--- user/alc/PG_CACHED/Makefile.inc1	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/Makefile.inc1	Sat Aug 13 23:00:15 2016	(r304064)
@@ -1013,7 +1013,7 @@ distributeworld installworld stageworld:
 	    ${IMAKEENV} rm -rf ${INSTALLTMP}
 .if make(distributeworld)
 .for dist in ${EXTRA_DISTRIBUTIONS}
-	find ${DESTDIR}/${DISTDIR}/${dist} -mindepth 1 -empty -delete
+	find ${DESTDIR}/${DISTDIR}/${dist} -mindepth 1 -type d -empty -delete
 .endfor
 .if defined(NO_ROOT)
 .for dist in base ${EXTRA_DISTRIBUTIONS}
@@ -2378,11 +2378,11 @@ check-old-dirs: .PHONY
 	done
 
 delete-old: delete-old-files delete-old-dirs .PHONY
-	@echo "To remove old libraries run '${MAKE} delete-old-libs'."
+	@echo "To remove old libraries run '${MAKE_CMD} delete-old-libs'."
 
 check-old: check-old-files check-old-libs check-old-dirs .PHONY
-	@echo "To remove old files and directories run '${MAKE} delete-old'."
-	@echo "To remove old libraries run '${MAKE} delete-old-libs'."
+	@echo "To remove old files and directories run '${MAKE_CMD} delete-old'."
+	@echo "To remove old libraries run '${MAKE_CMD} delete-old-libs'."
 
 .endif
 

Modified: user/alc/PG_CACHED/bin/ps/ps.1
==============================================================================
--- user/alc/PG_CACHED/bin/ps/ps.1	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/bin/ps/ps.1	Sat Aug 13 23:00:15 2016	(r304064)
@@ -29,7 +29,7 @@
 .\"     @(#)ps.1	8.3 (Berkeley) 4/18/94
 .\" $FreeBSD$
 .\"
-.Dd July 28, 2016
+.Dd August 12, 2016
 .Dt PS 1
 .Os
 .Sh NAME
@@ -319,7 +319,6 @@ the include file
 .It Dv "P_ADVLOCK" Ta No "0x00001" Ta "Process may hold a POSIX advisory lock"
 .It Dv "P_CONTROLT" Ta No "0x00002" Ta "Has a controlling terminal"
 .It Dv "P_KPROC" Ta No "0x00004" Ta "Kernel process"
-.It Dv "P_FOLLOWFORK" Ta No "0x00008" Ta "Attach debugger to new children"
 .It Dv "P_PPWAIT" Ta No "0x00010" Ta "Parent is waiting for child to exec/exit"
 .It Dv "P_PROFIL" Ta No "0x00020" Ta "Has started profiling"
 .It Dv "P_STOPPROF" Ta No "0x00040" Ta "Has thread in requesting to stop prof"
@@ -768,7 +767,8 @@ operating systems.
 The
 .Nm
 command appeared in
-.At v4 .
+.At v3
+in section 8 of the manual.
 .Sh BUGS
 Since
 .Nm

Modified: user/alc/PG_CACHED/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c
==============================================================================
--- user/alc/PG_CACHED/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c	Sat Aug 13 23:00:15 2016	(r304064)
@@ -816,6 +816,11 @@ die_enum_create(dwarf_t *dw, Dwarf_Die d
 	Dwarf_Unsigned uval;
 	Dwarf_Signed sval;
 
+	if (die_isdecl(dw, die)) {
+		tdp->t_type = FORWARD;
+		return;
+	}
+
 	debug(3, "die %llu: creating enum\n", off);
 
 	tdp->t_type = ENUM;

Modified: user/alc/PG_CACHED/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c
==============================================================================
--- user/alc/PG_CACHED/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c	Sat Aug 13 23:00:15 2016	(r304064)
@@ -338,7 +338,8 @@ fwd_equiv(tdesc_t *ctdp, tdesc_t *mtdp)
 {
 	tdesc_t *defn = (ctdp->t_type == FORWARD ? mtdp : ctdp);
 
-	return (defn->t_type == STRUCT || defn->t_type == UNION);
+	return (defn->t_type == STRUCT || defn->t_type == UNION ||
+	    defn->t_type == ENUM);
 }
 
 static int

Modified: user/alc/PG_CACHED/cddl/usr.sbin/dtrace/tests/common/raise/Makefile
==============================================================================
--- user/alc/PG_CACHED/cddl/usr.sbin/dtrace/tests/common/raise/Makefile	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/cddl/usr.sbin/dtrace/tests/common/raise/Makefile	Sat Aug 13 23:00:15 2016	(r304064)
@@ -20,4 +20,6 @@ CFILES= \
      tst.raise3.c  \
 
 
+TEST_METADATA.t_dtrace_contrib+=	required_memory="4g"
+
 .include "../../dtrace.test.mk"

Modified: user/alc/PG_CACHED/cddl/usr.sbin/dtrace/tests/common/safety/Makefile
==============================================================================
--- user/alc/PG_CACHED/cddl/usr.sbin/dtrace/tests/common/safety/Makefile	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/cddl/usr.sbin/dtrace/tests/common/safety/Makefile	Sat Aug 13 23:00:15 2016	(r304064)
@@ -53,4 +53,6 @@ CFILES= \
 
 
 
+TEST_METADATA.t_dtrace_contrib+=	required_memory="4g"
+
 .include "../../dtrace.test.mk"

Modified: user/alc/PG_CACHED/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh
==============================================================================
--- user/alc/PG_CACHED/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh	Sat Aug 13 23:00:15 2016	(r304064)
@@ -34,15 +34,28 @@ genmakefile()
 
     # One-off variable definitions.
     local special
-    if [ "$basedir" = proc ]; then
+    case "$basedir" in
+    proc)
         special="
 LIBADD.tst.sigwait.exe+= rt
 "
-    elif [ "$basedir" = uctf ]; then
+        ;;
+    raise)
+	special="
+TEST_METADATA.t_dtrace_contrib+=	required_memory=\"4g\"
+"
+        ;;
+    safety)
+	special="
+TEST_METADATA.t_dtrace_contrib+=	required_memory=\"4g\"
+"
+        ;;
+    uctf)
         special="
 WITH_CTF=YES
 "
-    fi
+        ;;
+    esac
 
     local makefile=$(mktemp)
     cat <<__EOF__ > $makefile

Modified: user/alc/PG_CACHED/etc/rc.d/jail
==============================================================================
--- user/alc/PG_CACHED/etc/rc.d/jail	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/etc/rc.d/jail	Sat Aug 13 23:00:15 2016	(r304064)
@@ -260,6 +260,7 @@ parse_options()
 
 		extract_var $_jv set_hostname_allow allow.set_hostname YN NO
 		extract_var $_jv sysvipc_allow allow.sysvipc YN NO
+		extract_var $_jv enforce_statfs enforce_statfs - 2
 		extract_var $_jv osreldate osreldate
 		extract_var $_jv osrelease osrelease
 		for _p in $_parameters; do

Modified: user/alc/PG_CACHED/include/unistd.h
==============================================================================
--- user/alc/PG_CACHED/include/unistd.h	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/include/unistd.h	Sat Aug 13 23:00:15 2016	(r304064)
@@ -484,11 +484,18 @@ pid_t	 vfork(void) __returns_twice;
 
 #if __BSD_VISIBLE
 struct timeval;				/* select(2) */
+
+struct crypt_data {
+	int	initialized;	/* For compatibility with glibc. */
+	char	__buf[256];	/* Buffer returned by crypt_r(). */
+};
+
 int	 acct(const char *);
 int	 async_daemon(void);
 int	 check_utility_compat(const char *);
 const char *
 	 crypt_get_format(void);
+char	*crypt_r(const char *, const char *, struct crypt_data *);
 int	 crypt_set_format(const char *);
 int	 des_cipher(const char *, char *, long, int);
 int	 des_setkey(const char *key);

Modified: user/alc/PG_CACHED/lib/libc/gen/Makefile.inc
==============================================================================
--- user/alc/PG_CACHED/lib/libc/gen/Makefile.inc	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/lib/libc/gen/Makefile.inc	Sat Aug 13 23:00:15 2016	(r304064)
@@ -29,6 +29,7 @@ SRCS+=	__getosreldate.c \
 	devname.c \
 	dirfd.c \
 	dirname.c \
+	dirname_compat.c \
 	disklabel.c \
 	dlfcn.c \
 	drand48.c \

Modified: user/alc/PG_CACHED/lib/libc/gen/Symbol.map
==============================================================================
--- user/alc/PG_CACHED/lib/libc/gen/Symbol.map	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/lib/libc/gen/Symbol.map	Sat Aug 13 23:00:15 2016	(r304064)
@@ -82,7 +82,6 @@ FBSD_1.0 {
 	daemon;
 	devname;
 	devname_r;
-	dirname;
 	getdiskbyname;
 	dladdr;
 	dlclose;
@@ -418,6 +417,10 @@ FBSD_1.4 {
 	stravis;
 };
 
+FBSD_1.5 {
+	dirname;
+};
+
 FBSDprivate_1.0 {
 	/* needed by thread libraries */
 	__thr_jtable;

Modified: user/alc/PG_CACHED/lib/libc/gen/dirname.3
==============================================================================
--- user/alc/PG_CACHED/lib/libc/gen/dirname.3	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/lib/libc/gen/dirname.3	Sat Aug 13 23:00:15 2016	(r304064)
@@ -16,7 +16,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 29, 2016
+.Dd August 12, 2016
 .Dt DIRNAME 3
 .Os
 .Sh NAME
@@ -37,6 +37,7 @@ Any trailing
 .Sq \&/
 characters are not counted as part of the directory
 name.
+.Sh RETURN VALUES
 If
 .Fa path
 is a null pointer, the empty string, or contains no
@@ -46,40 +47,24 @@ characters,
 returns a pointer to the string
 .Qq \&. ,
 signifying the current directory.
+Otherwise,
+it returns a pointer to the parent directory of
+.Fa path .
 .Sh IMPLEMENTATION NOTES
-The
+This implementation of
 .Fn dirname
-function
-returns a pointer to internal storage space allocated on the first call
-that will be overwritten
-by subsequent calls.
+uses the buffer provided by the caller to store the resulting parent
+directory.
+Other vendor implementations may return a pointer to internal storage
+space instead.
+The advantage of the former approach is that it ensures thread-safety,
+while also placing no upper limit on the supported length of the
+pathname.
 .Pp
-Other vendor implementations of
-.Fn dirname
-may store their result in the input buffer,
-making it safe to use in multithreaded applications.
-Future versions of
-.Fx
-will follow this approach as well.
-.Sh RETURN VALUES
-On successful completion,
-.Fn dirname
-returns a pointer to the parent directory of
-.Fa path .
-.Pp
-If
-.Fn dirname
-fails, a null pointer is returned and the global variable
-.Va errno
-is set to indicate the error.
-.Sh ERRORS
-The following error codes may be set in
-.Va errno :
-.Bl -tag -width Er
-.It Bq Er ENAMETOOLONG
-The path component to be returned was larger than
-.Dv MAXPATHLEN .
-.El
+The algorithm used by this implementation also discards redundant
+slashes and
+.Qq \&.
+pathname components from the pathname string.
 .Sh SEE ALSO
 .Xr basename 1 ,
 .Xr dirname 1 ,
@@ -96,5 +81,10 @@ function first appeared in
 .Ox 2.2
 and
 .Fx 4.2 .
+.Pp
+In
+.Fx 12.0 ,
+this function was reimplemented to store its result in the provided
+input buffer.
 .Sh AUTHORS
-.An "Todd C. Miller"
+.An Nuxi, the Netherlands

Modified: user/alc/PG_CACHED/lib/libc/gen/dirname.c
==============================================================================
--- user/alc/PG_CACHED/lib/libc/gen/dirname.c	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/lib/libc/gen/dirname.c	Sat Aug 13 23:00:15 2016	(r304064)
@@ -1,77 +1,90 @@
-/*	$OpenBSD: dirname.c,v 1.13 2005/08/08 08:05:33 espie Exp $	*/
-
-/*
- * Copyright (c) 1997, 2004 Todd C. Miller <Todd.Miller at courtesan.com>
+/*-
+ * Copyright (c) 2015-2016 Nuxi, https://nuxi.nl/
  *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
  *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
  */
 
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <errno.h>
 #include <libgen.h>
-#include <stdlib.h>
+#include <stdbool.h>
 #include <string.h>
-#include <sys/param.h>
 
 char *
 dirname(char *path)
 {
-	static char *dname = NULL;
-	size_t len;
-	const char *endp;
-
-	if (dname == NULL) {
-		dname = (char *)malloc(MAXPATHLEN);
-		if (dname == NULL)
-			return(NULL);
-	}
-
-	/* Empty or NULL string gets treated as "." */
-	if (path == NULL || *path == '\0') {
-		dname[0] = '.';
-		dname[1] = '\0';
-		return (dname);
+	const char *in, *prev, *begin, *end;
+	char *out;
+	size_t prevlen;
+	bool skipslash;
+
+	/*
+	 * If path is a null pointer or points to an empty string,
+	 * dirname() shall return a pointer to the string ".".
+	 */
+	if (path == NULL || *path == '\0')
+		return ((char *)".");
+
+	/* Retain at least one leading slash character. */
+	in = out = *path == '/' ? path + 1 : path;
+
+	skipslash = true;
+	prev = ".";
+	prevlen = 1;
+	for (;;) {
+		/* Extract the next pathname component. */
+		while (*in == '/')
+			++in;
+		begin = in;
+		while (*in != '/' && *in != '\0')
+			++in;
+		end = in;
+		if (begin == end)
+			break;
+
+		/*
+		 * Copy over the previous pathname component, except if
+		 * it's dot. There is no point in retaining those.
+		 */
+		if (prevlen != 1 || *prev != '.') {
+			if (!skipslash)
+				*out++ = '/';
+			skipslash = false;
+			memmove(out, prev, prevlen);
+			out += prevlen;
+		}
+
+		/* Preserve the pathname component for the next iteration. */
+		prev = begin;
+		prevlen = end - begin;
 	}
 
-	/* Strip any trailing slashes */
-	endp = path + strlen(path) - 1;
-	while (endp > path && *endp == '/')
-		endp--;
-
-	/* Find the start of the dir */
-	while (endp > path && *endp != '/')
-		endp--;
-
-	/* Either the dir is "/" or there are no slashes */
-	if (endp == path) {
-		dname[0] = *endp == '/' ? '/' : '.';
-		dname[1] = '\0';
-		return (dname);
-	} else {
-		/* Move forward past the separating slashes */
-		do {
-			endp--;
-		} while (endp > path && *endp == '/');
-	}
-
-	len = endp - path + 1;
-	if (len >= MAXPATHLEN) {
-		errno = ENAMETOOLONG;
-		return (NULL);
-	}
-	memcpy(dname, path, len);
-	dname[len] = '\0';
-	return (dname);
+	/*
+	 * If path does not contain a '/', then dirname() shall return a
+	 * pointer to the string ".".
+	 */
+	if (out == path)
+		*out++ = '.';
+	*out = '\0';
+	return (path);
 }

Copied: user/alc/PG_CACHED/lib/libc/gen/dirname_compat.c (from r304063, user/alc/PQ_LAUNDRY/lib/libc/gen/dirname_compat.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/alc/PG_CACHED/lib/libc/gen/dirname_compat.c	Sat Aug 13 23:00:15 2016	(r304064, copy of r304063, user/alc/PQ_LAUNDRY/lib/libc/gen/dirname_compat.c)
@@ -0,0 +1,79 @@
+/*	$OpenBSD: dirname.c,v 1.13 2005/08/08 08:05:33 espie Exp $	*/
+
+/*
+ * Copyright (c) 1997, 2004 Todd C. Miller <Todd.Miller at courtesan.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <errno.h>
+#include <libgen.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/param.h>
+
+char *
+__freebsd11_dirname(char *path)
+{
+	static char *dname = NULL;
+	size_t len;
+	const char *endp;
+
+	if (dname == NULL) {
+		dname = (char *)malloc(MAXPATHLEN);
+		if (dname == NULL)
+			return(NULL);
+	}
+
+	/* Empty or NULL string gets treated as "." */
+	if (path == NULL || *path == '\0') {
+		dname[0] = '.';
+		dname[1] = '\0';
+		return (dname);
+	}
+
+	/* Strip any trailing slashes */
+	endp = path + strlen(path) - 1;
+	while (endp > path && *endp == '/')
+		endp--;
+
+	/* Find the start of the dir */
+	while (endp > path && *endp != '/')
+		endp--;
+
+	/* Either the dir is "/" or there are no slashes */
+	if (endp == path) {
+		dname[0] = *endp == '/' ? '/' : '.';
+		dname[1] = '\0';
+		return (dname);
+	} else {
+		/* Move forward past the separating slashes */
+		do {
+			endp--;
+		} while (endp > path && *endp == '/');
+	}
+
+	len = endp - path + 1;
+	if (len >= MAXPATHLEN) {
+		errno = ENAMETOOLONG;
+		return (NULL);
+	}
+	memcpy(dname, path, len);
+	dname[len] = '\0';
+	return (dname);
+}
+
+__sym_compat(dirname, __freebsd11_dirname, FBSD_1.0);

Modified: user/alc/PG_CACHED/lib/libc/net/getaddrinfo.c
==============================================================================
--- user/alc/PG_CACHED/lib/libc/net/getaddrinfo.c	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/lib/libc/net/getaddrinfo.c	Sat Aug 13 23:00:15 2016	(r304064)
@@ -2249,6 +2249,8 @@ _dns_getaddrinfo(void *rv, void *cb_data
 	struct res_target q, q2;
 	res_state res;
 
+	ai = NULL;
+
 	hostname = va_arg(ap, char *);
 	pai = va_arg(ap, const struct addrinfo *);
 
@@ -2327,16 +2329,16 @@ _dns_getaddrinfo(void *rv, void *cb_data
 	/* prefer IPv6 */
 	if (q.next) {
 		ai = getanswer(buf2, q2.n, q2.name, q2.qtype, pai, res);
-		if (ai) {
+		if (ai != NULL) {
 			cur->ai_next = ai;
 			while (cur && cur->ai_next)
 				cur = cur->ai_next;
 		}
 	}
-	if (!ai || pai->ai_family != AF_UNSPEC ||
+	if (ai == NULL || pai->ai_family != AF_UNSPEC ||
 	    (pai->ai_flags & (AI_ALL | AI_V4MAPPED)) != AI_V4MAPPED) {
 		ai = getanswer(buf, q.n, q.name, q.qtype, pai, res);
-		if (ai)
+		if (ai != NULL)
 			cur->ai_next = ai;
 	}
 	free(buf);

Modified: user/alc/PG_CACHED/lib/libc/rpc/svc_vc.c
==============================================================================
--- user/alc/PG_CACHED/lib/libc/rpc/svc_vc.c	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/lib/libc/rpc/svc_vc.c	Sat Aug 13 23:00:15 2016	(r304064)
@@ -700,7 +700,7 @@ svc_vc_rendezvous_ops(SVCXPRT *xprt)
 		ops.xp_reply =
 		    (bool_t (*)(SVCXPRT *, struct rpc_msg *))abort;
 		ops.xp_freeargs =
-		    (bool_t (*)(SVCXPRT *, xdrproc_t, void *))abort,
+		    (bool_t (*)(SVCXPRT *, xdrproc_t, void *))abort;
 		ops.xp_destroy = svc_vc_destroy;
 		ops2.xp_control = svc_vc_rendezvous_control;
 	}

Modified: user/alc/PG_CACHED/lib/libc/tests/resolv/resolv_test.c
==============================================================================
--- user/alc/PG_CACHED/lib/libc/tests/resolv/resolv_test.c	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/lib/libc/tests/resolv/resolv_test.c	Sat Aug 13 23:00:15 2016	(r304064)
@@ -291,7 +291,7 @@ do {									\
 
 ATF_TC(getaddrinfo_test);
 ATF_TC_HEAD(getaddrinfo_test, tc) {
-	atf_tc_set_md_var(tc, "timeout", "450");
+	atf_tc_set_md_var(tc, "timeout", "1200");
 }
 ATF_TC_BODY(getaddrinfo_test, tc)
 {
@@ -301,7 +301,7 @@ ATF_TC_BODY(getaddrinfo_test, tc)
 
 ATF_TC(gethostby_test);
 ATF_TC_HEAD(gethostby_test, tc) {
-	atf_tc_set_md_var(tc, "timeout", "450");
+	atf_tc_set_md_var(tc, "timeout", "1200");
 }
 ATF_TC_BODY(gethostby_test, tc)
 {
@@ -312,7 +312,7 @@ ATF_TC_BODY(gethostby_test, tc)
 ATF_TC(getipnodeby_test);
 ATF_TC_HEAD(getipnodeby_test, tc) {
 
-	atf_tc_set_md_var(tc, "timeout", "450");
+	atf_tc_set_md_var(tc, "timeout", "1200");
 }
 ATF_TC_BODY(getipnodeby_test, tc)
 {

Modified: user/alc/PG_CACHED/lib/libcrypt/Makefile
==============================================================================
--- user/alc/PG_CACHED/lib/libcrypt/Makefile	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/lib/libcrypt/Makefile	Sat Aug 13 23:00:15 2016	(r304064)
@@ -17,7 +17,8 @@ SRCS=		crypt.c misc.c \
 		crypt-sha256.c sha256c.c \
 		crypt-sha512.c sha512c.c
 MAN=		crypt.3
-MLINKS=		crypt.3 crypt_get_format.3 crypt.3 crypt_set_format.3
+MLINKS=		crypt.3 crypt_get_format.3 crypt.3 crypt_r.3 \
+		crypt.3 crypt_set_format.3
 CFLAGS+=	-I${.CURDIR}/../libmd -I${.CURDIR}/../libutil \
 		-I${.CURDIR}/../../sys/crypto/sha2
 

Modified: user/alc/PG_CACHED/lib/libcrypt/crypt-md5.c
==============================================================================
--- user/alc/PG_CACHED/lib/libcrypt/crypt-md5.c	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/lib/libcrypt/crypt-md5.c	Sat Aug 13 23:00:15 2016	(r304064)
@@ -41,31 +41,27 @@ __FBSDID("$FreeBSD$");
  * UNIX password
  */
 
-char *
-crypt_md5(const char *pw, const char *salt)
+int
+crypt_md5(const char *pw, const char *salt, char *buffer)
 {
 	MD5_CTX	ctx,ctx1;
 	unsigned long l;
 	int sl, pl;
 	u_int i;
 	u_char final[MD5_SIZE];
-	static const char *sp, *ep;
-	static char passwd[120], *p;
+	const char *ep;
 	static const char *magic = "$1$";
 
-	/* Refine the Salt first */
-	sp = salt;
-
-	/* If it starts with the magic string, then skip that */
-	if(!strncmp(sp, magic, strlen(magic)))
-		sp += strlen(magic);
+	/* If the salt starts with the magic string, skip that. */
+	if (!strncmp(salt, magic, strlen(magic)))
+		salt += strlen(magic);
 
 	/* It stops at the first '$', max 8 chars */
-	for(ep = sp; *ep && *ep != '$' && ep < (sp + 8); ep++)
+	for (ep = salt; *ep && *ep != '$' && ep < salt + 8; ep++)
 		continue;
 
 	/* get the length of the true salt */
-	sl = ep - sp;
+	sl = ep - salt;
 
 	MD5Init(&ctx);
 
@@ -76,12 +72,12 @@ crypt_md5(const char *pw, const char *sa
 	MD5Update(&ctx, (const u_char *)magic, strlen(magic));
 
 	/* Then the raw salt */
-	MD5Update(&ctx, (const u_char *)sp, (u_int)sl);
+	MD5Update(&ctx, (const u_char *)salt, (u_int)sl);
 
 	/* Then just as many characters of the MD5(pw,salt,pw) */
 	MD5Init(&ctx1);
 	MD5Update(&ctx1, (const u_char *)pw, strlen(pw));
-	MD5Update(&ctx1, (const u_char *)sp, (u_int)sl);
+	MD5Update(&ctx1, (const u_char *)salt, (u_int)sl);
 	MD5Update(&ctx1, (const u_char *)pw, strlen(pw));
 	MD5Final(final, &ctx1);
 	for(pl = (int)strlen(pw); pl > 0; pl -= MD5_SIZE)
@@ -99,9 +95,9 @@ crypt_md5(const char *pw, const char *sa
 		    MD5Update(&ctx, (const u_char *)pw, 1);
 
 	/* Now make the output string */
-	strcpy(passwd, magic);
-	strncat(passwd, sp, (u_int)sl);
-	strcat(passwd, "$");
+	buffer = stpcpy(buffer, magic);
+	buffer = stpncpy(buffer, salt, (u_int)sl);
+	*buffer++ = '$';
 
 	MD5Final(final, &ctx);
 
@@ -118,7 +114,7 @@ crypt_md5(const char *pw, const char *sa
 			MD5Update(&ctx1, (const u_char *)final, MD5_SIZE);
 
 		if(i % 3)
-			MD5Update(&ctx1, (const u_char *)sp, (u_int)sl);
+			MD5Update(&ctx1, (const u_char *)salt, (u_int)sl);
 
 		if(i % 7)
 			MD5Update(&ctx1, (const u_char *)pw, strlen(pw));
@@ -130,24 +126,22 @@ crypt_md5(const char *pw, const char *sa
 		MD5Final(final, &ctx1);
 	}
 
-	p = passwd + strlen(passwd);
-
 	l = (final[ 0]<<16) | (final[ 6]<<8) | final[12];
-	_crypt_to64(p, l, 4); p += 4;
+	_crypt_to64(buffer, l, 4); buffer += 4;
 	l = (final[ 1]<<16) | (final[ 7]<<8) | final[13];
-	_crypt_to64(p, l, 4); p += 4;
+	_crypt_to64(buffer, l, 4); buffer += 4;
 	l = (final[ 2]<<16) | (final[ 8]<<8) | final[14];
-	_crypt_to64(p, l, 4); p += 4;
+	_crypt_to64(buffer, l, 4); buffer += 4;
 	l = (final[ 3]<<16) | (final[ 9]<<8) | final[15];
-	_crypt_to64(p, l, 4); p += 4;
+	_crypt_to64(buffer, l, 4); buffer += 4;
 	l = (final[ 4]<<16) | (final[10]<<8) | final[ 5];
-	_crypt_to64(p, l, 4); p += 4;
+	_crypt_to64(buffer, l, 4); buffer += 4;
 	l = final[11];
-	_crypt_to64(p, l, 2); p += 2;
-	*p = '\0';
+	_crypt_to64(buffer, l, 2); buffer += 2;
+	*buffer = '\0';
 
 	/* Don't leave anything around in vm they could use. */
 	memset(final, 0, sizeof(final));
 
-	return (passwd);
+	return (0);
 }

Modified: user/alc/PG_CACHED/lib/libcrypt/crypt-nthash.c
==============================================================================
--- user/alc/PG_CACHED/lib/libcrypt/crypt-nthash.c	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/lib/libcrypt/crypt-nthash.c	Sat Aug 13 23:00:15 2016	(r304064)
@@ -46,16 +46,14 @@ __FBSDID("$FreeBSD$");
  */
 
 /* ARGSUSED */
-char *
-crypt_nthash(const char *pw, const char *salt __unused)
+int
+crypt_nthash(const char *pw, const char *salt __unused, char *buffer)
 {
 	size_t unipwLen;
-	int i, j;
-	static char hexconvtab[] = "0123456789abcdef";
+	int i;
+	static const char hexconvtab[] = "0123456789abcdef";
 	static const char *magic = "$3$";
-	static char passwd[120];
 	u_int16_t unipw[128];
-	char final[MD4_SIZE*2 + 1];
 	u_char hash[MD4_SIZE];
 	const char *s;
 	MD4_CTX	ctx;
@@ -70,19 +68,14 @@ crypt_nthash(const char *pw, const char 
  	MD4Init(&ctx);
 	MD4Update(&ctx, (u_char *)unipw, unipwLen*sizeof(u_int16_t));
 	MD4Final(hash, &ctx);  
-	
-	for (i = j = 0; i < MD4_SIZE; i++) {
-		final[j++] = hexconvtab[hash[i] >> 4];
-		final[j++] = hexconvtab[hash[i] & 15];
-	}
-	final[j] = '\0';
-
-	strcpy(passwd, magic);
-	strcat(passwd, "$");
-	strncat(passwd, final, MD4_SIZE*2);
 
-	/* Don't leave anything around in vm they could use. */
-	memset(final, 0, sizeof(final));
+	buffer = stpcpy(buffer, magic);
+	*buffer++ = '$';
+	for (i = 0; i < MD4_SIZE; i++) {
+		*buffer++ = hexconvtab[hash[i] >> 4];
+		*buffer++ = hexconvtab[hash[i] & 15];
+	}
+	*buffer = '\0';
 
-	return (passwd);
+	return (0);
 }

Modified: user/alc/PG_CACHED/lib/libcrypt/crypt-sha256.c
==============================================================================
--- user/alc/PG_CACHED/lib/libcrypt/crypt-sha256.c	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/lib/libcrypt/crypt-sha256.c	Sat Aug 13 23:00:15 2016	(r304064)
@@ -59,11 +59,10 @@ static const char sha256_rounds_prefix[]
 /* Maximum number of rounds. */
 #define ROUNDS_MAX 999999999
 
-static char *
-crypt_sha256_r(const char *key, const char *salt, char *buffer, int buflen)
+int
+crypt_sha256(const char *key, const char *salt, char *buffer)
 {
 	u_long srounds;
-	int n;
 	uint8_t alt_result[32], temp_result[32];
 	SHA256_CTX ctx, alt_ctx;
 	size_t salt_len, key_len, cnt, rounds;
@@ -210,42 +209,27 @@ crypt_sha256_r(const char *key, const ch
 
 	/* Now we can construct the result string. It consists of three
 	 * parts. */
-	cp = stpncpy(buffer, sha256_salt_prefix, MAX(0, buflen));
-	buflen -= sizeof(sha256_salt_prefix) - 1;
+	cp = stpcpy(buffer, sha256_salt_prefix);
 
-	if (rounds_custom) {
-		n = snprintf(cp, MAX(0, buflen), "%s%zu$",
-			 sha256_rounds_prefix, rounds);
+	if (rounds_custom)
+		cp += sprintf(cp, "%s%zu$", sha256_rounds_prefix, rounds);
 
-		cp += n;
-		buflen -= n;
-	}
+	cp = stpncpy(cp, salt, salt_len);
 
-	cp = stpncpy(cp, salt, MIN((size_t)MAX(0, buflen), salt_len));
-	buflen -= MIN((size_t)MAX(0, buflen), salt_len);
+	*cp++ = '$';
 
-	if (buflen > 0) {
-		*cp++ = '$';
-		--buflen;
-	}
-
-	b64_from_24bit(alt_result[0], alt_result[10], alt_result[20], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[21], alt_result[1], alt_result[11], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[12], alt_result[22], alt_result[2], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[3], alt_result[13], alt_result[23], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[24], alt_result[4], alt_result[14], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[15], alt_result[25], alt_result[5], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[6], alt_result[16], alt_result[26], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[27], alt_result[7], alt_result[17], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[18], alt_result[28], alt_result[8], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[9], alt_result[19], alt_result[29], 4, &buflen, &cp);
-	b64_from_24bit(0, alt_result[31], alt_result[30], 3, &buflen, &cp);
-	if (buflen <= 0) {
-		errno = ERANGE;
-		buffer = NULL;
-	}
-	else
-		*cp = '\0';	/* Terminate the string. */
+	b64_from_24bit(alt_result[0], alt_result[10], alt_result[20], 4, &cp);
+	b64_from_24bit(alt_result[21], alt_result[1], alt_result[11], 4, &cp);
+	b64_from_24bit(alt_result[12], alt_result[22], alt_result[2], 4, &cp);
+	b64_from_24bit(alt_result[3], alt_result[13], alt_result[23], 4, &cp);
+	b64_from_24bit(alt_result[24], alt_result[4], alt_result[14], 4, &cp);
+	b64_from_24bit(alt_result[15], alt_result[25], alt_result[5], 4, &cp);
+	b64_from_24bit(alt_result[6], alt_result[16], alt_result[26], 4, &cp);
+	b64_from_24bit(alt_result[27], alt_result[7], alt_result[17], 4, &cp);
+	b64_from_24bit(alt_result[18], alt_result[28], alt_result[8], 4, &cp);
+	b64_from_24bit(alt_result[9], alt_result[19], alt_result[29], 4, &cp);
+	b64_from_24bit(0, alt_result[31], alt_result[30], 3, &cp);
+	*cp = '\0';	/* Terminate the string. */
 
 	/* Clear the buffer for the intermediate result so that people
 	 * attaching to processes or reading core dumps cannot get any
@@ -263,37 +247,7 @@ crypt_sha256_r(const char *key, const ch
 	if (copied_salt != NULL)
 		memset(copied_salt, '\0', salt_len);
 
-	return buffer;
-}
-
-/* This entry point is equivalent to crypt(3). */
-char *
-crypt_sha256(const char *key, const char *salt)
-{
-	/* We don't want to have an arbitrary limit in the size of the
-	 * password. We can compute an upper bound for the size of the
-	 * result in advance and so we can prepare the buffer we pass to
-	 * `crypt_sha256_r'. */
-	static char *buffer;
-	static int buflen;
-	int needed;
-	char *new_buffer;
-
-	needed = (sizeof(sha256_salt_prefix) - 1
-	      + sizeof(sha256_rounds_prefix) + 9 + 1
-	      + strlen(salt) + 1 + 43 + 1);
-
-	if (buflen < needed) {
-		new_buffer = (char *)realloc(buffer, needed);
-
-		if (new_buffer == NULL)
-			return NULL;
-
-		buffer = new_buffer;
-		buflen = needed;
-	}
-
-	return crypt_sha256_r(key, salt, buffer, buflen);
+	return (0);
 }
 
 #ifdef TEST

Modified: user/alc/PG_CACHED/lib/libcrypt/crypt-sha512.c
==============================================================================
--- user/alc/PG_CACHED/lib/libcrypt/crypt-sha512.c	Sat Aug 13 22:57:41 2016	(r304063)
+++ user/alc/PG_CACHED/lib/libcrypt/crypt-sha512.c	Sat Aug 13 23:00:15 2016	(r304064)
@@ -59,11 +59,10 @@ static const char sha512_rounds_prefix[]
 /* Maximum number of rounds. */
 #define ROUNDS_MAX 999999999
 
-static char *
-crypt_sha512_r(const char *key, const char *salt, char *buffer, int buflen)
+int
+crypt_sha512(const char *key, const char *salt, char *buffer)
 {
 	u_long srounds;
-	int n;
 	uint8_t alt_result[64], temp_result[64];
 	SHA512_CTX ctx, alt_ctx;
 	size_t salt_len, key_len, cnt, rounds;
@@ -210,54 +209,39 @@ crypt_sha512_r(const char *key, const ch
 
 	/* Now we can construct the result string. It consists of three
 	 * parts. */
-	cp = stpncpy(buffer, sha512_salt_prefix, MAX(0, buflen));
-	buflen -= sizeof(sha512_salt_prefix) - 1;
+	cp = stpcpy(buffer, sha512_salt_prefix);
 
-	if (rounds_custom) {
-		n = snprintf(cp, MAX(0, buflen), "%s%zu$",
-			 sha512_rounds_prefix, rounds);
+	if (rounds_custom)
+		cp += sprintf(cp, "%s%zu$", sha512_rounds_prefix, rounds);
 
-		cp += n;
-		buflen -= n;
-	}
+	cp = stpncpy(cp, salt, salt_len);
 
-	cp = stpncpy(cp, salt, MIN((size_t)MAX(0, buflen), salt_len));
-	buflen -= MIN((size_t)MAX(0, buflen), salt_len);
+	*cp++ = '$';
 
-	if (buflen > 0) {
-		*cp++ = '$';
-		--buflen;
-	}
+	b64_from_24bit(alt_result[0], alt_result[21], alt_result[42], 4, &cp);
+	b64_from_24bit(alt_result[22], alt_result[43], alt_result[1], 4, &cp);
+	b64_from_24bit(alt_result[44], alt_result[2], alt_result[23], 4, &cp);
+	b64_from_24bit(alt_result[3], alt_result[24], alt_result[45], 4, &cp);
+	b64_from_24bit(alt_result[25], alt_result[46], alt_result[4], 4, &cp);
+	b64_from_24bit(alt_result[47], alt_result[5], alt_result[26], 4, &cp);
+	b64_from_24bit(alt_result[6], alt_result[27], alt_result[48], 4, &cp);
+	b64_from_24bit(alt_result[28], alt_result[49], alt_result[7], 4, &cp);
+	b64_from_24bit(alt_result[50], alt_result[8], alt_result[29], 4, &cp);
+	b64_from_24bit(alt_result[9], alt_result[30], alt_result[51], 4, &cp);
+	b64_from_24bit(alt_result[31], alt_result[52], alt_result[10], 4, &cp);
+	b64_from_24bit(alt_result[53], alt_result[11], alt_result[32], 4, &cp);
+	b64_from_24bit(alt_result[12], alt_result[33], alt_result[54], 4, &cp);
+	b64_from_24bit(alt_result[34], alt_result[55], alt_result[13], 4, &cp);
+	b64_from_24bit(alt_result[56], alt_result[14], alt_result[35], 4, &cp);
+	b64_from_24bit(alt_result[15], alt_result[36], alt_result[57], 4, &cp);
+	b64_from_24bit(alt_result[37], alt_result[58], alt_result[16], 4, &cp);
+	b64_from_24bit(alt_result[59], alt_result[17], alt_result[38], 4, &cp);
+	b64_from_24bit(alt_result[18], alt_result[39], alt_result[60], 4, &cp);
+	b64_from_24bit(alt_result[40], alt_result[61], alt_result[19], 4, &cp);
+	b64_from_24bit(alt_result[62], alt_result[20], alt_result[41], 4, &cp);
+	b64_from_24bit(0, 0, alt_result[63], 2, &cp);
 
-	b64_from_24bit(alt_result[0], alt_result[21], alt_result[42], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[22], alt_result[43], alt_result[1], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[44], alt_result[2], alt_result[23], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[3], alt_result[24], alt_result[45], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[25], alt_result[46], alt_result[4], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[47], alt_result[5], alt_result[26], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[6], alt_result[27], alt_result[48], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[28], alt_result[49], alt_result[7], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[50], alt_result[8], alt_result[29], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[9], alt_result[30], alt_result[51], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[31], alt_result[52], alt_result[10], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[53], alt_result[11], alt_result[32], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[12], alt_result[33], alt_result[54], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[34], alt_result[55], alt_result[13], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[56], alt_result[14], alt_result[35], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[15], alt_result[36], alt_result[57], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[37], alt_result[58], alt_result[16], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[59], alt_result[17], alt_result[38], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[18], alt_result[39], alt_result[60], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[40], alt_result[61], alt_result[19], 4, &buflen, &cp);
-	b64_from_24bit(alt_result[62], alt_result[20], alt_result[41], 4, &buflen, &cp);
-	b64_from_24bit(0, 0, alt_result[63], 2, &buflen, &cp);
-
-	if (buflen <= 0) {
-		errno = ERANGE;
-		buffer = NULL;
-	}
-	else
-		*cp = '\0';	/* Terminate the string. */
+	*cp = '\0';	/* Terminate the string. */
 
 	/* Clear the buffer for the intermediate result so that people
 	 * attaching to processes or reading core dumps cannot get any
@@ -275,37 +259,7 @@ crypt_sha512_r(const char *key, const ch
 	if (copied_salt != NULL)
 		memset(copied_salt, '\0', salt_len);
 
-	return buffer;
-}
-
-/* This entry point is equivalent to crypt(3). */
-char *
-crypt_sha512(const char *key, const char *salt)

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


More information about the svn-src-user mailing list