Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Feb 2017 07:45:59 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r314130 - in projects/clang400-import: . contrib/blacklist/bin contrib/blacklist/libexec contrib/libucl contrib/libucl/include contrib/libucl/lua contrib/libucl/src contrib/mdocml contr...
Message-ID:  <201702230745.v1N7jxfv033788@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Thu Feb 23 07:45:58 2017
New Revision: 314130
URL: https://svnweb.freebsd.org/changeset/base/314130

Log:
  Merge ^/head r313896 through r314128.

Added:
  projects/clang400-import/contrib/mdocml/catman.8
     - copied unchanged from r314128, head/contrib/mdocml/catman.8
  projects/clang400-import/contrib/mdocml/catman.c
     - copied unchanged from r314128, head/contrib/mdocml/catman.c
  projects/clang400-import/contrib/mdocml/man.options.1
     - copied unchanged from r314128, head/contrib/mdocml/man.options.1
  projects/clang400-import/contrib/mdocml/mandocd.8
     - copied unchanged from r314128, head/contrib/mdocml/mandocd.8
  projects/clang400-import/contrib/mdocml/mandocd.c
     - copied unchanged from r314128, head/contrib/mdocml/mandocd.c
  projects/clang400-import/contrib/mdocml/test-O_DIRECTORY.c
     - copied unchanged from r314128, head/contrib/mdocml/test-O_DIRECTORY.c
  projects/clang400-import/contrib/mdocml/test-cmsg.c
     - copied unchanged from r314128, head/contrib/mdocml/test-cmsg.c
  projects/clang400-import/contrib/mdocml/test-recvmsg.c
     - copied unchanged from r314128, head/contrib/mdocml/test-recvmsg.c
  projects/clang400-import/contrib/openpam/m4/
     - copied from r314128, head/contrib/openpam/m4/
  projects/clang400-import/contrib/openpam/misc/Makefile.am
     - copied unchanged from r314128, head/contrib/openpam/misc/Makefile.am
  projects/clang400-import/contrib/openpam/misc/Makefile.in
     - copied unchanged from r314128, head/contrib/openpam/misc/Makefile.in
  projects/clang400-import/contrib/openpam/misc/coverage.sh.in
     - copied unchanged from r314128, head/contrib/openpam/misc/coverage.sh.in
  projects/clang400-import/contrib/openpam/misc/coverity.sh.in
     - copied unchanged from r314128, head/contrib/openpam/misc/coverity.sh.in
  projects/clang400-import/contrib/openpam/modules/pam_return/
     - copied from r314128, head/contrib/openpam/modules/pam_return/
  projects/clang400-import/contrib/openpam/t/t_openpam_dispatch.c
     - copied unchanged from r314128, head/contrib/openpam/t/t_openpam_dispatch.c
  projects/clang400-import/contrib/openpam/t/t_pam_conv.c
     - copied unchanged from r314128, head/contrib/openpam/t/t_pam_conv.c
  projects/clang400-import/contrib/openpam/t/t_pam_conv.h
     - copied unchanged from r314128, head/contrib/openpam/t/t_pam_conv.h
  projects/clang400-import/share/man/man4/cfumass.4
     - copied unchanged from r314128, head/share/man/man4/cfumass.4
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/bottom_half.h
     - copied unchanged from r314128, head/sys/compat/linuxkpi/common/include/linux/bottom_half.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/rculist.h
     - copied unchanged from r314128, head/sys/compat/linuxkpi/common/include/linux/rculist.h
  projects/clang400-import/sys/compat/linuxkpi/common/src/linux_current.c
     - copied unchanged from r314128, head/sys/compat/linuxkpi/common/src/linux_current.c
  projects/clang400-import/sys/compat/linuxkpi/common/src/linux_kthread.c
     - copied unchanged from r314128, head/sys/compat/linuxkpi/common/src/linux_kthread.c
  projects/clang400-import/sys/compat/linuxkpi/common/src/linux_page.c
     - copied unchanged from r314128, head/sys/compat/linuxkpi/common/src/linux_page.c
  projects/clang400-import/sys/compat/linuxkpi/common/src/linux_rcu.c
     - copied unchanged from r314128, head/sys/compat/linuxkpi/common/src/linux_rcu.c
  projects/clang400-import/sys/compat/linuxkpi/common/src/linux_tasklet.c
     - copied unchanged from r314128, head/sys/compat/linuxkpi/common/src/linux_tasklet.c
  projects/clang400-import/sys/contrib/dev/iwm/iwm-7265D-17.fw.uu
     - copied unchanged from r314128, head/sys/contrib/dev/iwm/iwm-7265D-17.fw.uu
  projects/clang400-import/sys/dev/iwm/if_iwm_7000.c
     - copied unchanged from r314128, head/sys/dev/iwm/if_iwm_7000.c
  projects/clang400-import/sys/dev/iwm/if_iwm_8000.c
     - copied unchanged from r314128, head/sys/dev/iwm/if_iwm_8000.c
  projects/clang400-import/sys/dev/iwm/if_iwm_config.h
     - copied unchanged from r314128, head/sys/dev/iwm/if_iwm_config.h
  projects/clang400-import/sys/dev/usb/storage/cfumass.c
     - copied unchanged from r314128, head/sys/dev/usb/storage/cfumass.c
  projects/clang400-import/sys/mips/conf/std.BERI
     - copied unchanged from r314128, head/sys/mips/conf/std.BERI
  projects/clang400-import/sys/modules/geom/geom_flashmap/
     - copied from r314128, head/sys/modules/geom/geom_flashmap/
  projects/clang400-import/sys/modules/iwmfw/iwm7265Dfw/
     - copied from r314128, head/sys/modules/iwmfw/iwm7265Dfw/
  projects/clang400-import/sys/modules/usb/cfumass/
     - copied from r314128, head/sys/modules/usb/cfumass/
  projects/clang400-import/sys/powerpc/mikrotik/rb_led.c
     - copied unchanged from r314128, head/sys/powerpc/mikrotik/rb_led.c
  projects/clang400-import/sys/x86/x86/x86_mem.c
     - copied unchanged from r314128, head/sys/x86/x86/x86_mem.c
  projects/clang400-import/tests/sys/geom/eli/
     - copied from r314128, head/tests/sys/geom/eli/
Deleted:
  projects/clang400-import/contrib/openpam/pamgdb.in
  projects/clang400-import/contrib/openpam/t/t.h
  projects/clang400-import/contrib/openpam/t/t_file.c
  projects/clang400-import/contrib/openpam/t/t_main.c
  projects/clang400-import/lib/libpam/libpam/tests/
  projects/clang400-import/sys/amd64/amd64/amd64_mem.c
  projects/clang400-import/sys/i386/i386/i686_mem.c
  projects/clang400-import/sys/mips/conf/BERI_TEMPLATE
Modified:
  projects/clang400-import/Makefile.inc1
  projects/clang400-import/ObsoleteFiles.inc
  projects/clang400-import/UPDATING
  projects/clang400-import/contrib/blacklist/bin/blacklistd.c
  projects/clang400-import/contrib/blacklist/libexec/blacklistd-helper
  projects/clang400-import/contrib/libucl/ChangeLog.md
  projects/clang400-import/contrib/libucl/README.md
  projects/clang400-import/contrib/libucl/configure.ac
  projects/clang400-import/contrib/libucl/include/ucl.h
  projects/clang400-import/contrib/libucl/lua/lua_ucl.c
  projects/clang400-import/contrib/libucl/src/ucl_emitter_utils.c
  projects/clang400-import/contrib/libucl/src/ucl_internal.h
  projects/clang400-import/contrib/libucl/src/ucl_parser.c
  projects/clang400-import/contrib/libucl/src/ucl_util.c
  projects/clang400-import/contrib/mdocml/INSTALL
  projects/clang400-import/contrib/mdocml/LICENSE
  projects/clang400-import/contrib/mdocml/Makefile
  projects/clang400-import/contrib/mdocml/Makefile.depend
  projects/clang400-import/contrib/mdocml/NEWS
  projects/clang400-import/contrib/mdocml/TODO
  projects/clang400-import/contrib/mdocml/apropos.1
  projects/clang400-import/contrib/mdocml/cgi.c
  projects/clang400-import/contrib/mdocml/chars.c
  projects/clang400-import/contrib/mdocml/compat_fts.c
  projects/clang400-import/contrib/mdocml/configure
  projects/clang400-import/contrib/mdocml/configure.local.example
  projects/clang400-import/contrib/mdocml/dba.c
  projects/clang400-import/contrib/mdocml/dbm_map.c
  projects/clang400-import/contrib/mdocml/eqn_term.c
  projects/clang400-import/contrib/mdocml/gmdiff
  projects/clang400-import/contrib/mdocml/html.c
  projects/clang400-import/contrib/mdocml/html.h
  projects/clang400-import/contrib/mdocml/libmandoc.h
  projects/clang400-import/contrib/mdocml/libmdoc.h
  projects/clang400-import/contrib/mdocml/main.c
  projects/clang400-import/contrib/mdocml/man.1
  projects/clang400-import/contrib/mdocml/man_html.c
  projects/clang400-import/contrib/mdocml/man_term.c
  projects/clang400-import/contrib/mdocml/manconf.h
  projects/clang400-import/contrib/mdocml/mandoc.1
  projects/clang400-import/contrib/mdocml/mandoc.css
  projects/clang400-import/contrib/mdocml/mandoc.h
  projects/clang400-import/contrib/mdocml/mandoc_aux.h
  projects/clang400-import/contrib/mdocml/mandoc_char.7
  projects/clang400-import/contrib/mdocml/mandoc_html.3
  projects/clang400-import/contrib/mdocml/mandocdb.c
  projects/clang400-import/contrib/mdocml/manpath.c
  projects/clang400-import/contrib/mdocml/mdoc.7
  projects/clang400-import/contrib/mdocml/mdoc.c
  projects/clang400-import/contrib/mdocml/mdoc_html.c
  projects/clang400-import/contrib/mdocml/mdoc_macro.c
  projects/clang400-import/contrib/mdocml/mdoc_man.c
  projects/clang400-import/contrib/mdocml/mdoc_term.c
  projects/clang400-import/contrib/mdocml/mdoc_validate.c
  projects/clang400-import/contrib/mdocml/preconv.c
  projects/clang400-import/contrib/mdocml/read.c
  projects/clang400-import/contrib/mdocml/roff.c
  projects/clang400-import/contrib/mdocml/roff.h
  projects/clang400-import/contrib/mdocml/tag.c
  projects/clang400-import/contrib/mdocml/tbl_html.c
  projects/clang400-import/contrib/mdocml/term_ps.c
  projects/clang400-import/contrib/mdocml/tree.c
  projects/clang400-import/contrib/openpam/CREDITS
  projects/clang400-import/contrib/openpam/HISTORY
  projects/clang400-import/contrib/openpam/LICENSE
  projects/clang400-import/contrib/openpam/Makefile.am
  projects/clang400-import/contrib/openpam/Makefile.in
  projects/clang400-import/contrib/openpam/README
  projects/clang400-import/contrib/openpam/RELNOTES
  projects/clang400-import/contrib/openpam/TODO
  projects/clang400-import/contrib/openpam/aclocal.m4
  projects/clang400-import/contrib/openpam/autogen.sh
  projects/clang400-import/contrib/openpam/bin/Makefile.am
  projects/clang400-import/contrib/openpam/bin/Makefile.in
  projects/clang400-import/contrib/openpam/bin/openpam_dump_policy/Makefile.am
  projects/clang400-import/contrib/openpam/bin/openpam_dump_policy/Makefile.in
  projects/clang400-import/contrib/openpam/bin/openpam_dump_policy/openpam_dump_policy.c
  projects/clang400-import/contrib/openpam/bin/pamtest/Makefile.am
  projects/clang400-import/contrib/openpam/bin/pamtest/Makefile.in
  projects/clang400-import/contrib/openpam/bin/pamtest/pamtest.1
  projects/clang400-import/contrib/openpam/bin/su/Makefile.am
  projects/clang400-import/contrib/openpam/bin/su/Makefile.in
  projects/clang400-import/contrib/openpam/bin/su/su.1
  projects/clang400-import/contrib/openpam/compile
  projects/clang400-import/contrib/openpam/config.guess
  projects/clang400-import/contrib/openpam/config.h.in
  projects/clang400-import/contrib/openpam/config.sub
  projects/clang400-import/contrib/openpam/configure
  projects/clang400-import/contrib/openpam/configure.ac
  projects/clang400-import/contrib/openpam/depcomp
  projects/clang400-import/contrib/openpam/doc/Makefile.in
  projects/clang400-import/contrib/openpam/doc/man/Makefile.am
  projects/clang400-import/contrib/openpam/doc/man/Makefile.in
  projects/clang400-import/contrib/openpam/doc/man/openpam.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_borrow_cred.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_free_data.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_free_envlist.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_get_feature.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_get_option.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_log.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_nullconv.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_readline.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_readlinev.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_readword.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_restore_cred.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_set_feature.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_set_option.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_straddch.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_subst.3
  projects/clang400-import/contrib/openpam/doc/man/openpam_ttyconv.3
  projects/clang400-import/contrib/openpam/doc/man/pam.3
  projects/clang400-import/contrib/openpam/doc/man/pam.conf.5
  projects/clang400-import/contrib/openpam/doc/man/pam_acct_mgmt.3
  projects/clang400-import/contrib/openpam/doc/man/pam_authenticate.3
  projects/clang400-import/contrib/openpam/doc/man/pam_chauthtok.3
  projects/clang400-import/contrib/openpam/doc/man/pam_close_session.3
  projects/clang400-import/contrib/openpam/doc/man/pam_conv.3
  projects/clang400-import/contrib/openpam/doc/man/pam_end.3
  projects/clang400-import/contrib/openpam/doc/man/pam_error.3
  projects/clang400-import/contrib/openpam/doc/man/pam_get_authtok.3
  projects/clang400-import/contrib/openpam/doc/man/pam_get_data.3
  projects/clang400-import/contrib/openpam/doc/man/pam_get_item.3
  projects/clang400-import/contrib/openpam/doc/man/pam_get_user.3
  projects/clang400-import/contrib/openpam/doc/man/pam_getenv.3
  projects/clang400-import/contrib/openpam/doc/man/pam_getenvlist.3
  projects/clang400-import/contrib/openpam/doc/man/pam_info.3
  projects/clang400-import/contrib/openpam/doc/man/pam_open_session.3
  projects/clang400-import/contrib/openpam/doc/man/pam_prompt.3
  projects/clang400-import/contrib/openpam/doc/man/pam_putenv.3
  projects/clang400-import/contrib/openpam/doc/man/pam_set_data.3
  projects/clang400-import/contrib/openpam/doc/man/pam_set_item.3
  projects/clang400-import/contrib/openpam/doc/man/pam_setcred.3
  projects/clang400-import/contrib/openpam/doc/man/pam_setenv.3
  projects/clang400-import/contrib/openpam/doc/man/pam_sm_acct_mgmt.3
  projects/clang400-import/contrib/openpam/doc/man/pam_sm_authenticate.3
  projects/clang400-import/contrib/openpam/doc/man/pam_sm_chauthtok.3
  projects/clang400-import/contrib/openpam/doc/man/pam_sm_close_session.3
  projects/clang400-import/contrib/openpam/doc/man/pam_sm_open_session.3
  projects/clang400-import/contrib/openpam/doc/man/pam_sm_setcred.3
  projects/clang400-import/contrib/openpam/doc/man/pam_start.3
  projects/clang400-import/contrib/openpam/doc/man/pam_strerror.3
  projects/clang400-import/contrib/openpam/doc/man/pam_verror.3
  projects/clang400-import/contrib/openpam/doc/man/pam_vinfo.3
  projects/clang400-import/contrib/openpam/doc/man/pam_vprompt.3
  projects/clang400-import/contrib/openpam/include/Makefile.in
  projects/clang400-import/contrib/openpam/include/security/Makefile.am
  projects/clang400-import/contrib/openpam/include/security/Makefile.in
  projects/clang400-import/contrib/openpam/include/security/openpam.h
  projects/clang400-import/contrib/openpam/include/security/openpam_version.h
  projects/clang400-import/contrib/openpam/include/security/pam_appl.h
  projects/clang400-import/contrib/openpam/install-sh
  projects/clang400-import/contrib/openpam/lib/Makefile.am
  projects/clang400-import/contrib/openpam/lib/Makefile.in
  projects/clang400-import/contrib/openpam/lib/libpam/Makefile.am
  projects/clang400-import/contrib/openpam/lib/libpam/Makefile.in
  projects/clang400-import/contrib/openpam/lib/libpam/openpam_configure.c
  projects/clang400-import/contrib/openpam/lib/libpam/openpam_ctype.h
  projects/clang400-import/contrib/openpam/lib/libpam/openpam_dispatch.c
  projects/clang400-import/contrib/openpam/lib/libpam/openpam_dlfunc.h
  projects/clang400-import/contrib/openpam/lib/libpam/openpam_features.c
  projects/clang400-import/contrib/openpam/lib/libpam/openpam_findenv.c
  projects/clang400-import/contrib/openpam/lib/libpam/openpam_impl.h
  projects/clang400-import/contrib/openpam/lib/libpam/openpam_load.c
  projects/clang400-import/contrib/openpam/lib/libpam/openpam_readlinev.c
  projects/clang400-import/contrib/openpam/lib/libpam/openpam_readword.c
  projects/clang400-import/contrib/openpam/lib/libpam/openpam_strlset.c
  projects/clang400-import/contrib/openpam/lib/libpam/openpam_strlset.h
  projects/clang400-import/contrib/openpam/lib/libpam/openpam_ttyconv.c
  projects/clang400-import/contrib/openpam/lib/libpam/pam_end.c
  projects/clang400-import/contrib/openpam/lib/libpam/pam_get_authtok.c
  projects/clang400-import/contrib/openpam/lib/libpam/pam_get_data.c
  projects/clang400-import/contrib/openpam/lib/libpam/pam_get_item.c
  projects/clang400-import/contrib/openpam/lib/libpam/pam_get_user.c
  projects/clang400-import/contrib/openpam/lib/libpam/pam_getenv.c
  projects/clang400-import/contrib/openpam/lib/libpam/pam_getenvlist.c
  projects/clang400-import/contrib/openpam/lib/libpam/pam_putenv.c
  projects/clang400-import/contrib/openpam/lib/libpam/pam_set_data.c
  projects/clang400-import/contrib/openpam/lib/libpam/pam_set_item.c
  projects/clang400-import/contrib/openpam/lib/libpam/pam_setenv.c
  projects/clang400-import/contrib/openpam/ltmain.sh
  projects/clang400-import/contrib/openpam/misc/gendoc.pl
  projects/clang400-import/contrib/openpam/missing
  projects/clang400-import/contrib/openpam/mkpkgng.in
  projects/clang400-import/contrib/openpam/modules/Makefile.am
  projects/clang400-import/contrib/openpam/modules/Makefile.in
  projects/clang400-import/contrib/openpam/modules/pam_deny/Makefile.am
  projects/clang400-import/contrib/openpam/modules/pam_deny/Makefile.in
  projects/clang400-import/contrib/openpam/modules/pam_permit/Makefile.am
  projects/clang400-import/contrib/openpam/modules/pam_permit/Makefile.in
  projects/clang400-import/contrib/openpam/modules/pam_unix/Makefile.am
  projects/clang400-import/contrib/openpam/modules/pam_unix/Makefile.in
  projects/clang400-import/contrib/openpam/modules/pam_unix/pam_unix.c
  projects/clang400-import/contrib/openpam/t/Makefile.am
  projects/clang400-import/contrib/openpam/t/Makefile.in
  projects/clang400-import/contrib/openpam/t/t_openpam_ctype.c
  projects/clang400-import/contrib/openpam/t/t_openpam_readlinev.c
  projects/clang400-import/contrib/openpam/t/t_openpam_readword.c
  projects/clang400-import/contrib/openpam/test-driver
  projects/clang400-import/contrib/traceroute/traceroute.c
  projects/clang400-import/crypto/openssh/auth.c
  projects/clang400-import/etc/devd.conf
  projects/clang400-import/etc/mtree/BSD.tests.dist
  projects/clang400-import/include/complex.h
  projects/clang400-import/lib/libc/sys/kenv.2
  projects/clang400-import/lib/libcxxrt/Version.map
  projects/clang400-import/lib/libfetch/common.c
  projects/clang400-import/lib/libfetch/fetch.c
  projects/clang400-import/lib/libfetch/fetch.h
  projects/clang400-import/lib/libpam/libpam/Makefile
  projects/clang400-import/libexec/rtld-elf/mips/reloc.c
  projects/clang400-import/sbin/fsck/fsck.c
  projects/clang400-import/sbin/ifconfig/ifbridge.c
  projects/clang400-import/sbin/ifconfig/ifieee80211.c
  projects/clang400-import/sbin/kldload/kldload.c
  projects/clang400-import/sbin/mdconfig/mdconfig.c
  projects/clang400-import/sbin/savecore/savecore.c
  projects/clang400-import/share/doc/pjdfstest/README
  projects/clang400-import/share/man/man4/Makefile
  projects/clang400-import/share/man/man4/adv.4
  projects/clang400-import/share/man/man4/ahc.4
  projects/clang400-import/share/man/man4/ctl.4
  projects/clang400-import/share/man/man4/iwmfw.4
  projects/clang400-import/share/man/man4/man4.i386/aic.4
  projects/clang400-import/share/man/man4/scsi.4
  projects/clang400-import/share/man/man4/umass.4
  projects/clang400-import/share/man/man4/usb_template.4
  projects/clang400-import/share/man/man4/usfs.4
  projects/clang400-import/share/misc/pci_vendors
  projects/clang400-import/sys/amd64/amd64/db_disasm.c
  projects/clang400-import/sys/amd64/amd64/pmap.c
  projects/clang400-import/sys/amd64/include/pcpu.h
  projects/clang400-import/sys/amd64/linux/linux_dummy.c
  projects/clang400-import/sys/amd64/linux/linux_machdep.c
  projects/clang400-import/sys/amd64/linux32/linux32_dummy.c
  projects/clang400-import/sys/arm/arm/pmap-v6.c
  projects/clang400-import/sys/arm/freescale/imx/imx_gpio.c
  projects/clang400-import/sys/arm/ti/ti_sdhci.c
  projects/clang400-import/sys/boot/common/md.c
  projects/clang400-import/sys/boot/efi/libefi/efinet.c
  projects/clang400-import/sys/boot/fdt/fdt_overlay.c
  projects/clang400-import/sys/boot/ficl/ficl.c
  projects/clang400-import/sys/boot/geli/Makefile
  projects/clang400-import/sys/boot/kshim/bsd_kernel.c
  projects/clang400-import/sys/boot/mips/beri/boot2/Makefile
  projects/clang400-import/sys/boot/ofw/libofw/ofw_memory.c
  projects/clang400-import/sys/boot/sparc64/loader/main.c
  projects/clang400-import/sys/boot/userboot/userboot/userboot_disk.c
  projects/clang400-import/sys/boot/zfs/zfs.c
  projects/clang400-import/sys/boot/zfs/zfsimpl.c
  projects/clang400-import/sys/cam/ctl/ctl_tpc.c
  projects/clang400-import/sys/cam/ctl/scsi_ctl.c
  projects/clang400-import/sys/cam/scsi/scsi_low.c
  projects/clang400-import/sys/cddl/boot/zfs/zfsimpl.h
  projects/clang400-import/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c
  projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ctldir.h
  projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h
  projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
  projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
  projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  projects/clang400-import/sys/compat/linprocfs/linprocfs.c
  projects/clang400-import/sys/compat/linux/linux_mmap.c
  projects/clang400-import/sys/compat/linux/linux_signal.c
  projects/clang400-import/sys/compat/linux/linux_socket.c
  projects/clang400-import/sys/compat/linux/linux_socket.h
  projects/clang400-import/sys/compat/linux/linux_stats.c
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/bitops.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/compat.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/file.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/gfp.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/interrupt.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/jiffies.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/kdev_t.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/kernel.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/kthread.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/rcupdate.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/rwlock.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/rwsem.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/scatterlist.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/sched.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/semaphore.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/spinlock.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/srcu.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/types.h
  projects/clang400-import/sys/compat/linuxkpi/common/include/linux/wait.h
  projects/clang400-import/sys/compat/linuxkpi/common/src/linux_compat.c
  projects/clang400-import/sys/compat/linuxkpi/common/src/linux_pci.c
  projects/clang400-import/sys/conf/files
  projects/clang400-import/sys/conf/files.amd64
  projects/clang400-import/sys/conf/files.i386
  projects/clang400-import/sys/conf/files.powerpc
  projects/clang400-import/sys/conf/kern.post.mk
  projects/clang400-import/sys/conf/kmod.mk
  projects/clang400-import/sys/dev/advansys/advansys.c
  projects/clang400-import/sys/dev/agp/agp.c
  projects/clang400-import/sys/dev/aha/aha.c
  projects/clang400-import/sys/dev/ahci/ahci.c
  projects/clang400-import/sys/dev/al_eth/al_eth.c
  projects/clang400-import/sys/dev/al_eth/al_init_eth_lm.c
  projects/clang400-import/sys/dev/an/if_an.c
  projects/clang400-import/sys/dev/arcmsr/arcmsr.c
  projects/clang400-import/sys/dev/ata/ata-all.c
  projects/clang400-import/sys/dev/bce/if_bce.c
  projects/clang400-import/sys/dev/beri/virtio/virtio_block.c
  projects/clang400-import/sys/dev/bhnd/cores/chipc/chipc_slicer.c
  projects/clang400-import/sys/dev/bhnd/cores/chipc/chipc_slicer.h
  projects/clang400-import/sys/dev/bhnd/cores/usb/bhnd_usb.c
  projects/clang400-import/sys/dev/buslogic/bt.c
  projects/clang400-import/sys/dev/buslogic/bt_pci.c
  projects/clang400-import/sys/dev/ce/if_ce.c
  projects/clang400-import/sys/dev/cm/smc90cx6.c
  projects/clang400-import/sys/dev/cp/if_cp.c
  projects/clang400-import/sys/dev/ctau/ctddk.c
  projects/clang400-import/sys/dev/ctau/if_ct.c
  projects/clang400-import/sys/dev/cx/cxddk.c
  projects/clang400-import/sys/dev/cx/if_cx.c
  projects/clang400-import/sys/dev/de/if_de.c
  projects/clang400-import/sys/dev/e1000/if_em.c
  projects/clang400-import/sys/dev/ed/if_ed.c
  projects/clang400-import/sys/dev/etherswitch/mtkswitch/mtkswitch_rt3050.c
  projects/clang400-import/sys/dev/extres/clk/clk_div.c
  projects/clang400-import/sys/dev/fatm/if_fatm.c
  projects/clang400-import/sys/dev/fdt/fdt_slicer.c
  projects/clang400-import/sys/dev/fe/if_fe.c
  projects/clang400-import/sys/dev/ffec/if_ffecreg.h
  projects/clang400-import/sys/dev/firewire/if_fwip.c
  projects/clang400-import/sys/dev/hptiop/hptiop.c
  projects/clang400-import/sys/dev/hptmv/entry.c
  projects/clang400-import/sys/dev/hptmv/gui_lib.c
  projects/clang400-import/sys/dev/hptmv/hptproc.c
  projects/clang400-import/sys/dev/hptmv/ioctl.c
  projects/clang400-import/sys/dev/iicbus/if_ic.c
  projects/clang400-import/sys/dev/isp/isp_freebsd.c
  projects/clang400-import/sys/dev/isp/isp_freebsd.h
  projects/clang400-import/sys/dev/isp/isp_pci.c
  projects/clang400-import/sys/dev/isp/isp_target.c
  projects/clang400-import/sys/dev/iwi/if_iwi.c
  projects/clang400-import/sys/dev/iwm/if_iwm.c
  projects/clang400-import/sys/dev/iwm/if_iwm_pcie_trans.c
  projects/clang400-import/sys/dev/iwm/if_iwm_util.c
  projects/clang400-import/sys/dev/iwm/if_iwm_util.h
  projects/clang400-import/sys/dev/iwm/if_iwmreg.h
  projects/clang400-import/sys/dev/iwm/if_iwmvar.h
  projects/clang400-import/sys/dev/iwn/if_iwn.c
  projects/clang400-import/sys/dev/jedec_ts/jedec_ts.c
  projects/clang400-import/sys/dev/le/am7990.c
  projects/clang400-import/sys/dev/le/am79900.c
  projects/clang400-import/sys/dev/le/lance.c
  projects/clang400-import/sys/dev/md/md.c
  projects/clang400-import/sys/dev/mvs/mvs.c
  projects/clang400-import/sys/dev/mwl/if_mwl.c
  projects/clang400-import/sys/dev/nand/nfc_rb.c
  projects/clang400-import/sys/dev/ncr/ncr.c
  projects/clang400-import/sys/dev/netmap/netmap_freebsd.c
  projects/clang400-import/sys/dev/netmap/netmap_mem2.c
  projects/clang400-import/sys/dev/nvme/nvme_sim.c
  projects/clang400-import/sys/dev/ofw/ofw_bus_subr.c
  projects/clang400-import/sys/dev/patm/if_patm_tx.c
  projects/clang400-import/sys/dev/pccard/pccard.c
  projects/clang400-import/sys/dev/pms/RefTisa/sallsdk/spc/sainit.c
  projects/clang400-import/sys/dev/pms/RefTisa/tisa/sassata/common/tdioctl.c
  projects/clang400-import/sys/dev/pms/freebsd/driver/ini/src/agtiapi.c
  projects/clang400-import/sys/dev/ppbus/if_plip.c
  projects/clang400-import/sys/dev/ppbus/ppbconf.c
  projects/clang400-import/sys/dev/ppc/ppc.c
  projects/clang400-import/sys/dev/qlxgbe/ql_os.c
  projects/clang400-import/sys/dev/ral/rt2661.c
  projects/clang400-import/sys/dev/sbni/if_sbni_isa.c
  projects/clang400-import/sys/dev/sdhci/sdhci_fdt_gpio.c
  projects/clang400-import/sys/dev/siis/siis.c
  projects/clang400-import/sys/dev/sn/if_sn.c
  projects/clang400-import/sys/dev/sym/sym_hipd.c
  projects/clang400-import/sys/dev/trm/trm.c
  projects/clang400-import/sys/dev/usb/wlan/if_zyd.c
  projects/clang400-import/sys/dev/vmware/vmxnet3/if_vmxvar.h
  projects/clang400-import/sys/dev/vx/if_vx.c
  projects/clang400-import/sys/dev/xen/timer/timer.c
  projects/clang400-import/sys/fs/devfs/devfs_vnops.c
  projects/clang400-import/sys/fs/ext2fs/ext2_htree.c
  projects/clang400-import/sys/geom/eli/g_eli.h
  projects/clang400-import/sys/geom/eli/g_eli_hmac.c
  projects/clang400-import/sys/geom/eli/pkcs5v2.c
  projects/clang400-import/sys/geom/geom_flashmap.c
  projects/clang400-import/sys/i386/i386/pmap.c
  projects/clang400-import/sys/i386/linux/linux_dummy.c
  projects/clang400-import/sys/kern/kern_fork.c
  projects/clang400-import/sys/kern/kern_mutex.c
  projects/clang400-import/sys/kern/kern_proc.c
  projects/clang400-import/sys/kern/kern_rmlock.c
  projects/clang400-import/sys/kern/kern_rwlock.c
  projects/clang400-import/sys/kern/kern_sig.c
  projects/clang400-import/sys/kern/kern_sx.c
  projects/clang400-import/sys/kern/kern_thr.c
  projects/clang400-import/sys/kern/makesyscalls.sh
  projects/clang400-import/sys/kern/subr_syscall.c
  projects/clang400-import/sys/kern/subr_terminal.c
  projects/clang400-import/sys/kern/sys_process.c
  projects/clang400-import/sys/kern/uipc_mqueue.c
  projects/clang400-import/sys/kern/vfs_default.c
  projects/clang400-import/sys/kern/vfs_vnops.c
  projects/clang400-import/sys/libkern/iconv_xlat16.c
  projects/clang400-import/sys/mips/atheros/ar531x/apb.c
  projects/clang400-import/sys/mips/conf/BERI_DE4_BASE
  projects/clang400-import/sys/mips/conf/BERI_NETFPGA_MDROOT
  projects/clang400-import/sys/mips/conf/BERI_SIM_BASE
  projects/clang400-import/sys/mips/conf/BERI_SOCKIT
  projects/clang400-import/sys/mips/conf/std.MALTA
  projects/clang400-import/sys/mips/include/pcpu.h
  projects/clang400-import/sys/mips/mips/machdep.c
  projects/clang400-import/sys/modules/dtb/imx6/Makefile
  projects/clang400-import/sys/modules/geom/Makefile
  projects/clang400-import/sys/modules/iwmfw/Makefile
  projects/clang400-import/sys/modules/linux/Makefile
  projects/clang400-import/sys/modules/linux64/Makefile
  projects/clang400-import/sys/modules/linuxkpi/Makefile
  projects/clang400-import/sys/modules/mem/Makefile
  projects/clang400-import/sys/modules/svr4/Makefile
  projects/clang400-import/sys/modules/usb/Makefile
  projects/clang400-import/sys/modules/vmm/Makefile
  projects/clang400-import/sys/net/if_fddisubr.c
  projects/clang400-import/sys/net/if_iso88025subr.c
  projects/clang400-import/sys/net/iflib.c
  projects/clang400-import/sys/net/netisr.c
  projects/clang400-import/sys/net80211/_ieee80211.h
  projects/clang400-import/sys/net80211/ieee80211_freebsd.h
  projects/clang400-import/sys/net80211/ieee80211_hostap.c
  projects/clang400-import/sys/net80211/ieee80211_node.c
  projects/clang400-import/sys/net80211/ieee80211_output.c
  projects/clang400-import/sys/netipsec/udpencap.c
  projects/clang400-import/sys/netpfil/ipfw/ip_fw_sockopt.c
  projects/clang400-import/sys/powerpc/booke/pmap.c
  projects/clang400-import/sys/powerpc/include/cpufunc.h
  projects/clang400-import/sys/powerpc/include/pcpu.h
  projects/clang400-import/sys/powerpc/mikrotik/platform_rb.c
  projects/clang400-import/sys/sparc64/include/pcpu.h
  projects/clang400-import/sys/sys/bufobj.h
  projects/clang400-import/sys/sys/cdefs.h
  projects/clang400-import/sys/sys/lock.h
  projects/clang400-import/sys/sys/mutex.h
  projects/clang400-import/sys/sys/param.h
  projects/clang400-import/sys/sys/proc.h
  projects/clang400-import/sys/sys/signalvar.h
  projects/clang400-import/sys/sys/slicer.h
  projects/clang400-import/sys/sys/sx.h
  projects/clang400-import/sys/x86/x86/mca.c
  projects/clang400-import/tests/sys/geom/Makefile
  projects/clang400-import/tests/sys/kern/Makefile
  projects/clang400-import/tests/sys/kern/ptrace_test.c
  projects/clang400-import/tests/sys/netinet/fibs_test.sh
  projects/clang400-import/tests/sys/pjdfstest/tests/conf
  projects/clang400-import/tools/tools/net80211/wlanstats/main.c
  projects/clang400-import/usr.bin/grep/file.c
  projects/clang400-import/usr.bin/grep/grep.1
  projects/clang400-import/usr.bin/lam/lam.c
  projects/clang400-import/usr.bin/sockstat/sockstat.c
  projects/clang400-import/usr.bin/timeout/timeout.1
  projects/clang400-import/usr.sbin/bsdinstall/scripts/hardening
  projects/clang400-import/usr.sbin/makefs/cd9660.c
  projects/clang400-import/usr.sbin/makefs/cd9660.h
  projects/clang400-import/usr.sbin/makefs/cd9660/cd9660_debug.c
  projects/clang400-import/usr.sbin/makefs/cd9660/cd9660_eltorito.c
  projects/clang400-import/usr.sbin/makefs/cd9660/cd9660_write.c
  projects/clang400-import/usr.sbin/makefs/cd9660/iso9660_rrip.c
  projects/clang400-import/usr.sbin/makefs/cd9660/iso9660_rrip.h
  projects/clang400-import/usr.sbin/traceroute/Makefile
Directory Properties:
  projects/clang400-import/   (props changed)
  projects/clang400-import/contrib/libucl/   (props changed)
  projects/clang400-import/contrib/mdocml/   (props changed)
  projects/clang400-import/contrib/openpam/   (props changed)
  projects/clang400-import/crypto/openssh/   (props changed)
  projects/clang400-import/sys/cddl/contrib/opensolaris/   (props changed)

Modified: projects/clang400-import/Makefile.inc1
==============================================================================
--- projects/clang400-import/Makefile.inc1	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/Makefile.inc1	Thu Feb 23 07:45:58 2017	(r314130)
@@ -1499,11 +1499,11 @@ sign-packages:	_pkgbootstrap .PHONY
 # Run test suite on installed world.
 #
 checkworld: .PHONY
-	@if [ ! -x ${LOCALBASE}/bin/kyua ]; then \
+	@if [ ! -x "${LOCALBASE}/bin/kyua" ]; then \
 		echo "You need kyua (devel/kyua) to run the test suite." | /usr/bin/fmt; \
 		exit 1; \
 	fi
-	${_+_}${LOCALBASE}/bin/kyua test -k ${TESTSBASE}/Kyuafile
+	${_+_}PATH="$$PATH:${LOCALBASE}/bin" kyua test -k ${TESTSBASE}/Kyuafile
 
 #
 #
@@ -1512,7 +1512,7 @@ checkworld: .PHONY
 # Build the API documentation with doxygen
 #
 doxygen: .PHONY
-	@if [ ! -x ${LOCALBASE}/bin/doxygen ]; then \
+	@if [ ! -x "${LOCALBASE}/bin/doxygen" ]; then \
 		echo "You need doxygen (devel/doxygen) to generate the API documentation of the kernel." | /usr/bin/fmt; \
 		exit 1; \
 	fi
@@ -1625,6 +1625,7 @@ _nmtree=	lib/libnetbsd \
 ${_bt}-usr.sbin/nmtree: ${_bt}-lib/libnetbsd
 .endif
 
+# r246097: log addition login.conf.db, passwd, pwd.db, and spwd.db with cat -l
 .if ${BOOTSTRAPPING} < 1000027
 _cat=		bin/cat
 .endif
@@ -2518,16 +2519,35 @@ CDBENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREF
 	INSTALL="sh ${.CURDIR}/tools/install.sh"
 CDENV= ${CDBENV} \
 	TOOLS_PREFIX=${XDTP}
-CD2CFLAGS=-isystem ${XDDESTDIR}/usr/include -L${XDDESTDIR}/usr/lib \
-	--sysroot=${XDDESTDIR}/ -B${XDDESTDIR}/usr/libexec \
-	-B${XDDESTDIR}/usr/bin -B${XDDESTDIR}/usr/lib
-CD2ENV=${CDENV} CC="${CC} ${CD2CFLAGS}" CXX="${CXX} ${CD2CFLAGS}" \
+
+.if ${WANT_COMPILER_TYPE} == gcc || \
+    (defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc)
+# GCC requires -isystem and -L when using a cross-compiler.  --sysroot
+# won't set header path and -L is used to ensure the base library path
+# is added before the port PREFIX library path.
+CD2CFLAGS+=	-isystem ${XDDESTDIR}/usr/include -L${XDDESTDIR}/usr/lib
+# GCC requires -B to find /usr/lib/crti.o when using a cross-compiler
+# combined with --sysroot.
+CD2CFLAGS+=	-B${XDDESTDIR}/usr/lib
+# Force using libc++ for external GCC.
+# XXX: This should be checking MK_GNUCXX == no
+.if ${X_COMPILER_VERSION} >= 40800
+CD2CXXFLAGS+=	-isystem ${XDDESTDIR}/usr/include/c++/v1 -std=c++11 \
+		-nostdinc++
+.endif
+.endif
+CD2CFLAGS+=	--sysroot=${XDDESTDIR}/
+CD2ENV=${CDENV} CC="${CC} ${CD2CFLAGS}" CXX="${CXX} ${CD2CXXFLAGS} ${CD2CFLAGS}" \
 	CPP="${CPP} ${CD2CFLAGS}" \
 	MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH}
 
 CDTMP=	${MAKEOBJDIRPREFIX}/${XDDIR}/${.CURDIR}/tmp
 CDMAKE=${CDENV} PATH=${CDTMP}/usr/bin:${PATH} ${MAKE} ${NOFUN}
 CD2MAKE=${CD2ENV} PATH=${CDTMP}/usr/bin:${XDDESTDIR}/usr/bin:${PATH} ${MAKE} ${NOFUN}
+.if ${MK_META_MODE} != "no"
+# Don't rebuild build-tools targets during normal build.
+CD2MAKE+=	BUILD_TOOLS_META=.NOMETA_CMP
+.endif
 XDDESTDIR=${DESTDIR}/${XDTP}
 .if !defined(OSREL)
 OSREL!= uname -r | sed -e 's/[-(].*//'
@@ -2547,7 +2567,8 @@ _xb-worldtmp: .PHONY
 _xb-bootstrap-tools: .PHONY
 .for _tool in \
     ${_clang_tblgen} \
-    ${_gperf}
+    ${_gperf} \
+    ${_yacc}
 	${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \
 	cd ${.CURDIR}/${_tool}; \
 	${CDMAKE} DIRPRFX=${_tool}/ obj; \

Modified: projects/clang400-import/ObsoleteFiles.inc
==============================================================================
--- projects/clang400-import/ObsoleteFiles.inc	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/ObsoleteFiles.inc	Thu Feb 23 07:45:58 2017	(r314130)
@@ -151,6 +151,12 @@ OLD_FILES+=usr/lib/clang/3.9.1/lib/freeb
 OLD_DIRS+=usr/lib/clang/3.9.1/lib/freebsd
 OLD_DIRS+=usr/lib/clang/3.9.1/lib
 OLD_DIRS+=usr/lib/clang/3.9.1
+# 20170219: OpenPAM RADULA upgrade removed the libpam tests
+OLD_FILES+=usr/tests/lib/libpam/Kyuafile
+OLD_FILES+=usr/tests/lib/libpam/t_openpam_ctype
+OLD_FILES+=usr/tests/lib/libpam/t_openpam_readlinev
+OLD_FILES+=usr/tests/lib/libpam/t_openpam_readword
+OLD_DIRS+=usr/test/lib/libpam
 # 20170206: remove bdes(1)
 OLD_FILES+=usr/bin/bdes
 OLD_FILES+=usr/lib/debug/usr/bin/bdes.debug

Modified: projects/clang400-import/UPDATING
==============================================================================
--- projects/clang400-import/UPDATING	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/UPDATING	Thu Feb 23 07:45:58 2017	(r314130)
@@ -56,6 +56,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12
 	Please see the 20141231 entry below for information about prerequisites
 	and upgrading, if you are not already using clang 3.5.0 or higher.
 
+20170221:
+	The code that provides support for ZFS .zfs/ directory functionality
+	has been reimplemented.  It's not possible now to create a snapshot
+	by mkdir under .zfs/snapshot/.  That should be the only user visible
+	change.
+
 20170216:
 	EISA bus support has been removed. The WITH_EISA option is no longer
 	valid.

Modified: projects/clang400-import/contrib/blacklist/bin/blacklistd.c
==============================================================================
--- projects/clang400-import/contrib/blacklist/bin/blacklistd.c	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/contrib/blacklist/bin/blacklistd.c	Thu Feb 23 07:45:58 2017	(r314130)
@@ -207,7 +207,7 @@ process(bl_t bl)
 
 	if (debug) {
 		char b1[128], b2[128];
-		(*lfun)(LOG_DEBUG, "%s: db state info for %s: count=%d/%d "
+		(*lfun)(LOG_DEBUG, "%s: initial db state for %s: count=%d/%d "
 		    "last=%s now=%s", __func__, rbuf, dbi.count, c.c_nfail,
 		    fmttime(b1, sizeof(b1), dbi.last),
 		    fmttime(b2, sizeof(b2), ts.tv_sec));
@@ -246,15 +246,24 @@ process(bl_t bl)
 	case BL_DELETE:
 		if (dbi.last == 0)
 			goto out;
+		dbi.count = 0;
 		dbi.last = 0;
 		break;
 	default:
 		(*lfun)(LOG_ERR, "unknown message %d", bi->bi_type); 
 	}
-	if (state_put(state, &c, &dbi) == -1)
-		goto out;
+	state_put(state, &c, &dbi);
+
 out:
 	close(bi->bi_fd);
+
+	if (debug) {
+		char b1[128], b2[128];
+		(*lfun)(LOG_DEBUG, "%s: final db state for %s: count=%d/%d "
+		    "last=%s now=%s", __func__, rbuf, dbi.count, c.c_nfail,
+		    fmttime(b1, sizeof(b1), dbi.last),
+		    fmttime(b2, sizeof(b2), ts.tv_sec));
+	}
 }
 
 static void
@@ -393,7 +402,7 @@ rules_restore(void)
 int
 main(int argc, char *argv[])
 {
-	int c, tout, flags, flush, restore;
+	int c, tout, flags, flush, restore, ret;
 	const char *spath, *blsock;
 
 	setprogname(argv[0]);
@@ -512,7 +521,10 @@ main(int argc, char *argv[])
 			readconf = 0;
 			conf_parse(configfile);
 		}
-		switch (poll(pfd, (nfds_t)nfd, tout)) {
+		ret = poll(pfd, (nfds_t)nfd, tout);
+		if (debug)
+			(*lfun)(LOG_DEBUG, "received %d from poll()", ret);
+		switch (ret) {
 		case -1:
 			if (errno == EINTR)
 				continue;

Modified: projects/clang400-import/contrib/blacklist/libexec/blacklistd-helper
==============================================================================
--- projects/clang400-import/contrib/blacklist/libexec/blacklistd-helper	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/contrib/blacklist/libexec/blacklistd-helper	Thu Feb 23 07:45:58 2017	(r314130)
@@ -63,8 +63,11 @@ add)
 		tname="port$6"
 		/sbin/ipfw table $tname create type addr 2>/dev/null
 		/sbin/ipfw -q table $tname add "$addr/$mask"
-		/sbin/ipfw -q add $rule drop $3 from "table("$tname")" to \
-		    any dst-port $6 && echo OK
+		# if rule number $rule does not already exist, create it
+		/sbin/ipfw show $rule >/dev/null 2>&1 || \
+			/sbin/ipfw add $rule drop $3 from \
+			table"("$tname")" to any dst-port $6 >/dev/null && \
+			echo OK
 		;;
 	npf)
 		/sbin/npfctl rule "$2" add block in final $proto from \

Modified: projects/clang400-import/contrib/libucl/ChangeLog.md
==============================================================================
--- projects/clang400-import/contrib/libucl/ChangeLog.md	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/contrib/libucl/ChangeLog.md	Thu Feb 23 07:45:58 2017	(r314130)
@@ -35,7 +35,7 @@
 
 ### Libucl 0.7.3
 
-- Fixed a bug with macroes that come after an empty object
+- Fixed a bug with macros that come after an empty object
 - Fixed a bug in include processing when an incorrect variable has been destroyed (use-after-free)
 
 ### Libucl 0.8.0

Modified: projects/clang400-import/contrib/libucl/README.md
==============================================================================
--- projects/clang400-import/contrib/libucl/README.md	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/contrib/libucl/README.md	Thu Feb 23 07:45:58 2017	(r314130)
@@ -1,6 +1,8 @@
 # LIBUCL
 
-[![Build Status](https://travis-ci.org/vstakhov/libucl.svg?branch=master)](https://travis-ci.org/vstakhov/libucl)[![Coverity](https://scan.coverity.com/projects/4138/badge.svg)](https://scan.coverity.com/projects/4138)[![Coverage Status](https://coveralls.io/repos/github/vstakhov/libucl/badge.svg?branch=master)](https://coveralls.io/github/vstakhov/libucl?branch=master)
+[![Build Status](https://travis-ci.org/vstakhov/libucl.svg?branch=master)](https://travis-ci.org/vstakhov/libucl)
+[![Coverity](https://scan.coverity.com/projects/4138/badge.svg)](https://scan.coverity.com/projects/4138)
+[![Coverage Status](https://coveralls.io/repos/github/vstakhov/libucl/badge.svg?branch=master)](https://coveralls.io/github/vstakhov/libucl?branch=master)
 
 **Table of Contents**  *generated with [DocToc](http://doctoc.herokuapp.com/)*
 
@@ -217,8 +219,8 @@ Multiline comments may be nested:
 
 UCL supports external macros both multiline and single line ones:
 ```nginx
-.macro "sometext";
-.macro {
+.macro_name "sometext";
+.macro_name {
     Some long text
     ....
 };
@@ -229,12 +231,12 @@ arguments themselves are the UCL object 
 options:
 
 ```nginx
-.macro(param=value) "something";
-.macro(param={key=value}) "something";
-.macro(.include "params.conf") "something";
-.macro(#this is multiline macro
+.macro_name(param=value) "something";
+.macro_name(param={key=value}) "something";
+.macro_name(.include "params.conf") "something";
+.macro_name(#this is multiline macro
 param = [value1, value2]) "something";
-.macro(key="()") "something";
+.macro_name(key="()") "something";
 ```
 
 UCL also provide a convenient `include` macro to load content from another files

Modified: projects/clang400-import/contrib/libucl/configure.ac
==============================================================================
--- projects/clang400-import/contrib/libucl/configure.ac	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/contrib/libucl/configure.ac	Thu Feb 23 07:45:58 2017	(r314130)
@@ -39,6 +39,7 @@ AC_CHECK_HEADERS_ONCE([stdarg.h])
 AC_CHECK_HEADERS_ONCE([stdbool.h])
 AC_CHECK_HEADERS_ONCE([stdint.h])
 AC_CHECK_HEADERS_ONCE([string.h])
+AC_CHECK_HEADERS_ONCE([strings.h])
 AC_CHECK_HEADERS_ONCE([unistd.h])
 AC_CHECK_HEADERS_ONCE([ctype.h])
 AC_CHECK_HEADERS_ONCE([errno.h])

Modified: projects/clang400-import/contrib/libucl/include/ucl.h
==============================================================================
--- projects/clang400-import/contrib/libucl/include/ucl.h	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/contrib/libucl/include/ucl.h	Thu Feb 23 07:45:58 2017	(r314130)
@@ -154,7 +154,8 @@ typedef enum ucl_parser_flags {
 	UCL_PARSER_NO_TIME = (1 << 2), /**< Do not parse time and treat time values as strings */
 	UCL_PARSER_NO_IMPLICIT_ARRAYS = (1 << 3), /** Create explicit arrays instead of implicit ones */
 	UCL_PARSER_SAVE_COMMENTS = (1 << 4), /** Save comments in the parser context */
-	UCL_PARSER_DISABLE_MACRO = (1 << 5) /** Treat macros as comments */
+	UCL_PARSER_DISABLE_MACRO = (1 << 5), /** Treat macros as comments */
+	UCL_PARSER_NO_FILEVARS = (1 << 6) /** Do not set file vars */
 } ucl_parser_flags_t;
 
 /**
@@ -205,7 +206,8 @@ enum ucl_duplicate_strategy {
 enum ucl_parse_type {
 	UCL_PARSE_UCL = 0, /**< Default ucl format */
 	UCL_PARSE_MSGPACK, /**< Message pack input format */
-	UCL_PARSE_CSEXP /**< Canonical S-expressions */
+	UCL_PARSE_CSEXP, /**< Canonical S-expressions */
+	UCL_PARSE_AUTO /**< Try to detect parse type */
 };
 
 /**
@@ -227,7 +229,7 @@ typedef struct ucl_object_s {
 	const char *key;						/**< Key of an object		*/
 	struct ucl_object_s *next;				/**< Array handle			*/
 	struct ucl_object_s *prev;				/**< Array handle			*/
-	uint32_t keylen;						/**< Lenght of a key		*/
+	uint32_t keylen;						/**< Length of a key		*/
 	uint32_t len;							/**< Size of an object		*/
 	uint32_t ref;							/**< Reference count		*/
 	uint16_t flags;							/**< Object flags			*/
@@ -831,10 +833,29 @@ UCL_EXTERN ucl_object_iter_t ucl_object_
  * Get the next object from the `obj`. This fucntion iterates over arrays, objects
  * and implicit arrays
  * @param iter safe iterator
+ * @param expand_values expand explicit arrays and objects
  * @return the next object in sequence
  */
 UCL_EXTERN const ucl_object_t* ucl_object_iterate_safe (ucl_object_iter_t iter,
 		bool expand_values);
+/**
+ * Iteration type enumerator
+ */
+enum ucl_iterate_type {
+	UCL_ITERATE_EXPLICIT = 1 << 0, /**< Iterate just explicit arrays and objects */
+	UCL_ITERATE_IMPLICIT = 1 << 1,  /**< Iterate just implicit arrays */
+	UCL_ITERATE_BOTH = (1 << 0) | (1 << 1),   /**< Iterate both explicit and implicit arrays*/
+};
+
+/**
+ * Get the next object from the `obj`. This fucntion iterates over arrays, objects
+ * and implicit arrays if needed
+ * @param iter safe iterator
+ * @param
+ * @return the next object in sequence
+ */
+UCL_EXTERN const ucl_object_t* ucl_object_iterate_full (ucl_object_iter_t iter,
+		enum ucl_iterate_type type);
 
 /**
  * Free memory associated with the safe iterator
@@ -1016,6 +1037,7 @@ UCL_EXTERN bool ucl_parser_add_string_pr
  * Load and add data from a file
  * @param parser parser structure
  * @param filename the name of file
+ * @param err if *err is NULL it is set to parser error
  * @return true if chunk has been added and false in case of error
  */
 UCL_EXTERN bool ucl_parser_add_file (struct ucl_parser *parser,
@@ -1025,6 +1047,7 @@ UCL_EXTERN bool ucl_parser_add_file (str
  * Load and add data from a file
  * @param parser parser structure
  * @param filename the name of file
+ * @param err if *err is NULL it is set to parser error
  * @param priority the desired priority of a chunk (only 4 least significant bits
  * are considered for this parameter)
  * @return true if chunk has been added and false in case of error
@@ -1069,6 +1092,21 @@ UCL_EXTERN bool ucl_parser_add_fd_priori
 		int fd, unsigned priority);
 
 /**
+ * Load and add data from a file descriptor
+ * @param parser parser structure
+ * @param filename the name of file
+ * @param err if *err is NULL it is set to parser error
+ * @param priority the desired priority of a chunk (only 4 least significant bits
+ * are considered for this parameter)
+ * @param strat Merge strategy to use while parsing this file
+ * @param parse_type Parser type to use while parsing this file
+ * @return true if chunk has been added and false in case of error
+ */
+UCL_EXTERN bool ucl_parser_add_fd_full (struct ucl_parser *parser, int fd,
+		unsigned priority, enum ucl_duplicate_strategy strat,
+		enum ucl_parse_type parse_type);
+
+/**
  * Provide a UCL_ARRAY of paths to search for include files. The object is
  * copied so caller must unref the object.
  * @param parser parser structure

Modified: projects/clang400-import/contrib/libucl/lua/lua_ucl.c
==============================================================================
--- projects/clang400-import/contrib/libucl/lua/lua_ucl.c	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/contrib/libucl/lua/lua_ucl.c	Thu Feb 23 07:45:58 2017	(r314130)
@@ -29,7 +29,6 @@
 #include "ucl_internal.h"
 #include "lua_ucl.h"
 #include <strings.h>
-#include <zconf.h>
 
 /***
  * @module ucl
@@ -187,6 +186,8 @@ ucl_object_lua_push_array (lua_State *L,
 			lua_rawseti (L, -2, i);
 			i ++;
 		}
+
+		ucl_object_iterate_free (it);
 	}
 	else {
 		/* Optimize allocation by preallocation of table */
@@ -482,7 +483,7 @@ static int
 lua_ucl_parser_init (lua_State *L)
 {
 	struct ucl_parser *parser, **pparser;
-	int flags = 0;
+	int flags = UCL_PARSER_NO_FILEVARS;
 
 	if (lua_gettop (L) >= 1) {
 		flags = lua_tonumber (L, 1);
@@ -524,6 +525,27 @@ lua_ucl_push_opaque (lua_State *L, ucl_o
 	lua_setmetatable (L, -2);
 }
 
+static inline enum ucl_parse_type
+lua_ucl_str_to_parse_type (const char *str)
+{
+	enum ucl_parse_type type = UCL_PARSE_UCL;
+
+	if (str != NULL) {
+		if (strcasecmp (str, "msgpack") == 0) {
+			type = UCL_PARSE_MSGPACK;
+		}
+		else if (strcasecmp (str, "sexp") == 0 ||
+				strcasecmp (str, "csexp") == 0) {
+			type = UCL_PARSE_CSEXP;
+		}
+		else if (strcasecmp (str, "auto") == 0) {
+			type = UCL_PARSE_AUTO;
+		}
+	}
+
+	return type;
+}
+
 /***
  * @method parser:parse_file(name)
  * Parse UCL object from file.
@@ -579,13 +601,19 @@ lua_ucl_parser_parse_string (lua_State *
 	struct ucl_parser *parser;
 	const char *string;
 	size_t llen;
+	enum ucl_parse_type type = UCL_PARSE_UCL;
 	int ret = 2;
 
 	parser = lua_ucl_parser_get (L, 1);
 	string = luaL_checklstring (L, 2, &llen);
 
+	if (lua_type (L, 3) == LUA_TSTRING) {
+		type = lua_ucl_str_to_parse_type (lua_tostring (L, 3));
+	}
+
 	if (parser != NULL && string != NULL) {
-		if (ucl_parser_add_chunk (parser, (const unsigned char *)string, llen)) {
+		if (ucl_parser_add_chunk_full (parser, (const unsigned char *)string,
+				llen, 0, UCL_DUPLICATE_APPEND, type)) {
 			lua_pushboolean (L, true);
 			ret = 1;
 		}
@@ -761,6 +789,28 @@ lua_ucl_object_unwrap (lua_State *L)
 	return 1;
 }
 
+static inline enum ucl_emitter
+lua_ucl_str_to_emit_type (const char *strtype)
+{
+	enum ucl_emitter format = UCL_EMIT_JSON_COMPACT;
+
+	if (strcasecmp (strtype, "json") == 0) {
+		format = UCL_EMIT_JSON;
+	}
+	else if (strcasecmp (strtype, "json-compact") == 0) {
+		format = UCL_EMIT_JSON_COMPACT;
+	}
+	else if (strcasecmp (strtype, "yaml") == 0) {
+		format = UCL_EMIT_YAML;
+	}
+	else if (strcasecmp (strtype, "config") == 0 ||
+			strcasecmp (strtype, "ucl") == 0) {
+		format = UCL_EMIT_CONFIG;
+	}
+
+	return format;
+}
+
 /***
  * @method object:tostring(type)
  * Unwraps opaque ucl object to string (json by default). Optionally you can
@@ -787,19 +837,7 @@ lua_ucl_object_tostring (lua_State *L)
 			if (lua_type (L, 2) == LUA_TSTRING) {
 				const char *strtype = lua_tostring (L, 2);
 
-				if (strcasecmp (strtype, "json") == 0) {
-					format = UCL_EMIT_JSON;
-				}
-				else if (strcasecmp (strtype, "json-compact") == 0) {
-					format = UCL_EMIT_JSON_COMPACT;
-				}
-				else if (strcasecmp (strtype, "yaml") == 0) {
-					format = UCL_EMIT_YAML;
-				}
-				else if (strcasecmp (strtype, "config") == 0 ||
-						strcasecmp (strtype, "ucl") == 0) {
-					format = UCL_EMIT_CONFIG;
-				}
+				format = lua_ucl_str_to_emit_type (strtype);
 			}
 		}
 
@@ -1088,6 +1126,9 @@ lua_ucl_to_format (lua_State *L)
 				strcasecmp (strtype, "ucl") == 0) {
 				format = UCL_EMIT_CONFIG;
 			}
+			else if (strcasecmp (strtype, "msgpack") == 0) {
+				format = UCL_EMIT_MSGPACK;
+			}
 		}
 	}
 

Modified: projects/clang400-import/contrib/libucl/src/ucl_emitter_utils.c
==============================================================================
--- projects/clang400-import/contrib/libucl/src/ucl_emitter_utils.c	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/contrib/libucl/src/ucl_emitter_utils.c	Thu Feb 23 07:45:58 2017	(r314130)
@@ -102,7 +102,7 @@ ucl_elt_string_write_json (const char *s
 	func->ucl_emitter_append_character ('"', 1, func->ud);
 
 	while (size) {
-		if (ucl_test_character (*p, UCL_CHARACTER_JSON_UNSAFE)) {
+		if (ucl_test_character (*p, UCL_CHARACTER_JSON_UNSAFE|UCL_CHARACTER_DENIED)) {
 			if (len > 0) {
 				func->ucl_emitter_append_len (c, len, func->ud);
 			}
@@ -128,6 +128,10 @@ ucl_elt_string_write_json (const char *s
 			case '"':
 				func->ucl_emitter_append_len ("\\\"", 2, func->ud);
 				break;
+			default:
+				/* Emit unicode unknown character */
+				func->ucl_emitter_append_len ("\\uFFFD", 5, func->ud);
+				break;
 			}
 			len = 0;
 			c = ++p;
@@ -138,9 +142,11 @@ ucl_elt_string_write_json (const char *s
 		}
 		size --;
 	}
+
 	if (len > 0) {
 		func->ucl_emitter_append_len (c, len, func->ud);
 	}
+
 	func->ucl_emitter_append_character ('"', 1, func->ud);
 }
 

Modified: projects/clang400-import/contrib/libucl/src/ucl_internal.h
==============================================================================
--- projects/clang400-import/contrib/libucl/src/ucl_internal.h	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/contrib/libucl/src/ucl_internal.h	Thu Feb 23 07:45:58 2017	(r314130)
@@ -87,6 +87,9 @@
 #ifdef HAVE_STRING_H
 #include <string.h>
 #endif
+#ifdef HAVE_STRINGS_H
+#include <strings.h>
+#endif
 
 #include "utlist.h"
 #include "utstring.h"
@@ -127,19 +130,19 @@ enum ucl_parser_state {
 };
 
 enum ucl_character_type {
-	UCL_CHARACTER_DENIED = 0,
-	UCL_CHARACTER_KEY = 1,
-	UCL_CHARACTER_KEY_START = 1 << 1,
-	UCL_CHARACTER_WHITESPACE = 1 << 2,
-	UCL_CHARACTER_WHITESPACE_UNSAFE = 1 << 3,
-	UCL_CHARACTER_VALUE_END = 1 << 4,
-	UCL_CHARACTER_VALUE_STR = 1 << 5,
-	UCL_CHARACTER_VALUE_DIGIT = 1 << 6,
-	UCL_CHARACTER_VALUE_DIGIT_START = 1 << 7,
-	UCL_CHARACTER_ESCAPE = 1 << 8,
-	UCL_CHARACTER_KEY_SEP = 1 << 9,
-	UCL_CHARACTER_JSON_UNSAFE = 1 << 10,
-	UCL_CHARACTER_UCL_UNSAFE = 1 << 11
+	UCL_CHARACTER_DENIED = (1 << 0),
+	UCL_CHARACTER_KEY = (1 << 1),
+	UCL_CHARACTER_KEY_START = (1 << 2),
+	UCL_CHARACTER_WHITESPACE = (1 << 3),
+	UCL_CHARACTER_WHITESPACE_UNSAFE = (1 << 4),
+	UCL_CHARACTER_VALUE_END = (1 << 5),
+	UCL_CHARACTER_VALUE_STR = (1 << 6),
+	UCL_CHARACTER_VALUE_DIGIT = (1 << 7),
+	UCL_CHARACTER_VALUE_DIGIT_START = (1 << 8),
+	UCL_CHARACTER_ESCAPE = (1 << 9),
+	UCL_CHARACTER_KEY_SEP = (1 << 10),
+	UCL_CHARACTER_JSON_UNSAFE = (1 << 11),
+	UCL_CHARACTER_UCL_UNSAFE = (1 << 12)
 };
 
 struct ucl_macro {
@@ -568,4 +571,6 @@ bool ucl_parser_process_object_element (
  */
 bool ucl_parse_msgpack (struct ucl_parser *parser);
 
+bool ucl_parse_csexp (struct ucl_parser *parser);
+
 #endif /* UCL_INTERNAL_H_ */

Modified: projects/clang400-import/contrib/libucl/src/ucl_parser.c
==============================================================================
--- projects/clang400-import/contrib/libucl/src/ucl_parser.c	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/contrib/libucl/src/ucl_parser.c	Thu Feb 23 07:45:58 2017	(r314130)
@@ -2469,8 +2469,10 @@ ucl_parser_new (int flags)
 		parser->comments = ucl_object_typed_new (UCL_OBJECT);
 	}
 
-	/* Initial assumption about filevars */
-	ucl_parser_set_filevars (parser, NULL, false);
+	if (!(flags & UCL_PARSER_NO_FILEVARS)) {
+		/* Initial assumption about filevars */
+		ucl_parser_set_filevars (parser, NULL, false);
+	}
 
 	return parser;
 }
@@ -2617,6 +2619,19 @@ ucl_parser_add_chunk_full (struct ucl_pa
 			return false;
 		}
 
+		if (parse_type == UCL_PARSE_AUTO && len > 0) {
+			/* We need to detect parse type by the first symbol */
+			if ((*data & 0x80) == 0x80 && (*data >= 0xdc && *data <= 0xdf)) {
+				parse_type = UCL_PARSE_MSGPACK;
+			}
+			else if (*data == '(') {
+				parse_type = UCL_PARSE_CSEXP;
+			}
+			else {
+				parse_type = UCL_PARSE_UCL;
+			}
+		}
+
 		chunk->begin = data;
 		chunk->remain = len;
 		chunk->pos = chunk->begin;
@@ -2643,6 +2658,8 @@ ucl_parser_add_chunk_full (struct ucl_pa
 				return ucl_state_machine (parser);
 			case UCL_PARSE_MSGPACK:
 				return ucl_parse_msgpack (parser);
+			case UCL_PARSE_CSEXP:
+				return ucl_parse_csexp (parser);
 			}
 		}
 		else {

Modified: projects/clang400-import/contrib/libucl/src/ucl_util.c
==============================================================================
--- projects/clang400-import/contrib/libucl/src/ucl_util.c	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/contrib/libucl/src/ucl_util.c	Thu Feb 23 07:45:58 2017	(r314130)
@@ -26,11 +26,17 @@
 #include "ucl_internal.h"
 #include "ucl_chartable.h"
 #include "kvec.h"
+#include <limits.h>
 #include <stdarg.h>
 #include <stdio.h> /* for snprintf */
 
 #ifndef _WIN32
 #include <glob.h>
+#include <sys/param.h>
+#else
+#ifndef NBBY
+#define NBBY 8
+#endif
 #endif
 
 #ifdef HAVE_LIBGEN_H
@@ -81,11 +87,6 @@ typedef kvec_t(ucl_object_t *) ucl_array
 #define MAP_FAILED      ((void *) -1)
 #endif
 
-#ifdef _WIN32
-#include <limits.h>
-#define NBBY CHAR_BIT
-#endif
-
 static void *ucl_mmap(char *addr, size_t length, int prot, int access, int fd, off_t offset)
 {
 	void *map = NULL;
@@ -1854,9 +1855,11 @@ ucl_parser_add_file (struct ucl_parser *
 			UCL_PARSE_UCL);
 }
 
+
 bool
-ucl_parser_add_fd_priority (struct ucl_parser *parser, int fd,
-		unsigned priority)
+ucl_parser_add_fd_full (struct ucl_parser *parser, int fd,
+		unsigned priority, enum ucl_duplicate_strategy strat,
+		enum ucl_parse_type parse_type)
 {
 	unsigned char *buf;
 	size_t len;
@@ -1882,7 +1885,8 @@ ucl_parser_add_fd_priority (struct ucl_p
 	}
 	parser->cur_file = NULL;
 	len = st.st_size;
-	ret = ucl_parser_add_chunk_priority (parser, buf, len, priority);
+	ret = ucl_parser_add_chunk_full (parser, buf, len, priority, strat,
+			parse_type);
 
 	if (len > 0) {
 		ucl_munmap (buf, len);
@@ -1892,6 +1896,18 @@ ucl_parser_add_fd_priority (struct ucl_p
 }
 
 bool
+ucl_parser_add_fd_priority (struct ucl_parser *parser, int fd,
+		unsigned priority)
+{
+	if (parser == NULL) {
+		return false;
+	}
+
+	return ucl_parser_add_fd_full(parser, fd, parser->default_priority,
+			UCL_DUPLICATE_APPEND, UCL_PARSE_UCL);
+}
+
+bool
 ucl_parser_add_fd (struct ucl_parser *parser, int fd)
 {
 	if (parser == NULL) {
@@ -2488,6 +2504,10 @@ ucl_object_iterate_reset (ucl_object_ite
 
 	UCL_SAFE_ITER_CHECK (rit);
 
+	if (rit->expl_it != NULL) {
+		UCL_FREE (sizeof (*rit->expl_it), rit->expl_it);
+	}
+
 	rit->impl_it = obj;
 	rit->expl_it = NULL;
 
@@ -2497,6 +2517,13 @@ ucl_object_iterate_reset (ucl_object_ite
 const ucl_object_t*
 ucl_object_iterate_safe (ucl_object_iter_t it, bool expand_values)
 {
+	return ucl_object_iterate_full (it, expand_values ? UCL_ITERATE_BOTH :
+			UCL_ITERATE_IMPLICIT);
+}
+
+const ucl_object_t*
+ucl_object_iterate_full (ucl_object_iter_t it, enum ucl_iterate_type type)
+{
 	struct ucl_object_safe_iter *rit = UCL_SAFE_ITER (it);
 	const ucl_object_t *ret = NULL;
 
@@ -2509,21 +2536,23 @@ ucl_object_iterate_safe (ucl_object_iter
 	if (rit->impl_it->type == UCL_OBJECT || rit->impl_it->type == UCL_ARRAY) {
 		ret = ucl_object_iterate (rit->impl_it, &rit->expl_it, true);
 
-		if (ret == NULL) {
+		if (ret == NULL && (type & UCL_ITERATE_IMPLICIT)) {
 			/* Need to switch to another implicit object in chain */
 			rit->impl_it = rit->impl_it->next;
 			rit->expl_it = NULL;
-			return ucl_object_iterate_safe (it, expand_values);
+
+			return ucl_object_iterate_safe (it, type);
 		}
 	}
 	else {
 		/* Just iterate over the implicit array */
 		ret = rit->impl_it;
 		rit->impl_it = rit->impl_it->next;
-		if (expand_values) {
+
+		if (type & UCL_ITERATE_EXPLICIT) {
 			/* We flatten objects if need to expand values */
 			if (ret->type == UCL_OBJECT || ret->type == UCL_ARRAY) {
-				return ucl_object_iterate_safe (it, expand_values);
+				return ucl_object_iterate_safe (it, type);
 			}
 		}
 	}
@@ -2538,6 +2567,10 @@ ucl_object_iterate_free (ucl_object_iter
 
 	UCL_SAFE_ITER_CHECK (rit);
 
+	if (rit->expl_it != NULL) {
+		UCL_FREE (sizeof (*rit->expl_it), rit->expl_it);
+	}
+
 	UCL_FREE (sizeof (*rit), it);
 }
 

Modified: projects/clang400-import/contrib/mdocml/INSTALL
==============================================================================
--- projects/clang400-import/contrib/mdocml/INSTALL	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/contrib/mdocml/INSTALL	Thu Feb 23 07:45:58 2017	(r314130)
@@ -1,4 +1,4 @@
-$Id: INSTALL,v 1.17 2016/07/19 22:40:33 schwarze Exp $
+$Id: INSTALL,v 1.18 2017/02/08 12:24:10 schwarze Exp $
 
 About mdocml, the portable mandoc distribution
 ----------------------------------------------
@@ -16,7 +16,7 @@ tech@ mailing list, too.
 
 Enjoy using the mandoc toolset!
 
-Ingo Schwarze, Karlsruhe, July 2016
+Ingo Schwarze, Karlsruhe, February 2017
 
 
 Installation
@@ -31,15 +31,21 @@ Regarding how packages and ports are mai
 system, please consult your operating system documentation.
 To install mandoc manually, the following steps are needed:
 
-1. If you want to build the CGI program, man.cgi(8), too, run the
-command "echo BUILD_CGI=1 > configure.local".  Then run "cp
-cgi.h.examples cgi.h" and edit cgi.h as desired.
+1. If you want to build the CGI program, man.cgi(8), too,
+run the command "echo BUILD_CGI=1 >> configure.local".
+Then run "cp cgi.h.example cgi.h" and edit cgi.h as desired.
+
+2. If you also want to build the new catman(8) utility, run the
+command "echo BUILD_CATMAN=1 >> configure.local".  Note that it
+is unlikely to be a drop-in replacement providing the same
+functionality as your system's "catman", if your operating
+system contains one.
 
-2. Define MANPATH_DEFAULT in configure.local
+3. Define MANPATH_DEFAULT in configure.local
 if /usr/share/man:/usr/X11R6/man:/usr/local/man is not appropriate
 for your operating system.
 
-3. Run "./configure".
+4. Run "./configure".
 This script attempts autoconfiguration of mandoc for your system.
 Read both its standard output and the file "Makefile.local" it
 generates.  If anything looks wrong or different from what you
@@ -49,27 +55,31 @@ result seems right to you.
 On Solaris 10 and earlier, you may have to run "ksh ./configure"
 because the native /bin/sh lacks some POSIX features.
 
-4. Run "make".
+5. Run "make".
 Any POSIX-compatible make, in particular both BSD make and GNU make,
 should work.  If the build fails, look at "configure.local.example"
 and go back to step 2.
 
-5. Run "make -n install" and check whether everything will be
+6. Run "make -n install" and check whether everything will be
 installed to the intended places.  Otherwise, put some *DIR or *NM*
-variables into "configure.local" and go back to step 3.
+variables into "configure.local" and go back to step 4.
 
-6. Run "sudo make install".  If you intend to build a binary
+7. Optionally run the regression suite.
+Basically, that amounts to "cd regress && ./regress.pl".
+But you should probably look at "./mandoc -l regress/regress.pl.1"
+first.
+
+8. Run "sudo make install".  If you intend to build a binary
 package using some kind of fake root mechanism, you may need a
 command like "make DESTDIR=... install".  Read the *-install targets
 in the "Makefile" to understand how DESTDIR is used.
 
-7. Run the command "sudo
-makewhatis" to build mandoc.db(5) databases in all the directory
-trees configured in step 6.  Whenever installing new manual pages,
-re-run makewhatis(8) to update the databases, or apropos(1) will
-not find the new pages.
+9. Run the command "sudo makewhatis" to build mandoc.db(5) databases
+in all the directory trees configured in step 6.  Whenever installing
+new manual pages, re-run makewhatis(8) to update the databases, or
+apropos(1) will not find the new pages.
 
-8. To set up a man.cgi(8) server, read its manual page.
+10. To set up a man.cgi(8) server, read its manual page.
 
 Note that some man(7) pages may contain low-level roff(7) markup
 that mandoc does not yet understand.  On some BSD systems using
@@ -87,9 +97,10 @@ The following libraries are required:
 
 2. The fts(3) directory traversion functions.
 If your system does not have them, the bundled compatibility version
-will be used, so you need not worry in that case.  But be careful: the
-glibc version of fts(3) is known to be broken on 32bit platforms,
-see <https://sourceware.org/bugzilla/show_bug.cgi?id=15838>.
+will be used, so you need not worry in that case.  But be careful: old
+glibc versions of fts(3) were known to be broken on 32bit platforms,
+see <https://sourceware.org/bugzilla/show_bug.cgi?id=11460>.
+That was presumably fixed in glibc-2.23.
 If you run into that problem, set "HAVE_FTS=0" in configure.local.
 
 3. Marc Espie's ohash(3) library.

Modified: projects/clang400-import/contrib/mdocml/LICENSE
==============================================================================
--- projects/clang400-import/contrib/mdocml/LICENSE	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/contrib/mdocml/LICENSE	Thu Feb 23 07:45:58 2017	(r314130)
@@ -1,4 +1,4 @@
-$Id: LICENSE,v 1.13 2016/10/18 14:15:33 schwarze Exp $
+$Id: LICENSE,v 1.14 2017/02/08 12:24:10 schwarze Exp $
 
 With the exceptions noted below, all code and documentation
 contained in the mdocml toolkit is protected by the Copyright
@@ -10,6 +10,7 @@ Copyright (c) 2009, 2010, 2011, 2012 Joe
 Copyright (c) 2013 Franco Fichtner <franco@lastsummer.de>
 Copyright (c) 2014 Baptiste Daroussin <bapt@freebsd.org>
 Copyright (c) 2016 Ed Maste <emaste@freebsd.org>
+Copyright (c) 2017 Michael Stapelberg <stapelberg@debian.org>
 Copyright (c) 1999, 2004 Marc Espie <espie@openbsd.org>
 Copyright (c) 1998, 2004, 2010 Todd C. Miller <Todd.Miller@courtesan.com>
 Copyright (c) 2008 Otto Moerbeek <otto@drijf.net>

Modified: projects/clang400-import/contrib/mdocml/Makefile
==============================================================================
--- projects/clang400-import/contrib/mdocml/Makefile	Thu Feb 23 07:42:49 2017	(r314129)
+++ projects/clang400-import/contrib/mdocml/Makefile	Thu Feb 23 07:45:58 2017	(r314130)
@@ -1,7 +1,7 @@
-# $Id: Makefile,v 1.493 2016/11/19 15:24:51 schwarze Exp $
+# $Id: Makefile,v 1.504 2017/02/18 15:29:39 schwarze Exp $
 #
 # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
-# Copyright (c) 2011, 2013-2016 Ingo Schwarze <schwarze@openbsd.org>
+# Copyright (c) 2011, 2013-2017 Ingo Schwarze <schwarze@openbsd.org>
 #
 # Permission to use, copy, modify, and distribute this software for any
 # purpose with or without fee is hereby granted, provided that the above
@@ -15,11 +15,12 @@
 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
-VERSION = 1.14.0
+VERSION = 1.14.1
 
 # === LIST OF FILES ====================================================
 
 TESTSRCS	 = test-be32toh.c \
+		   test-cmsg.c \
 		   test-dirent-namlen.c \
 		   test-EFTYPE.c \
 		   test-err.c \
@@ -30,10 +31,12 @@ TESTSRCS	 = test-be32toh.c \
 		   test-mkdtemp.c \
 		   test-nanosleep.c \
 		   test-ntohl.c \
+		   test-O_DIRECTORY.c \
 		   test-ohash.c \
 		   test-PATH_MAX.c \
 		   test-pledge.c \
 		   test-progname.c \
+		   test-recvmsg.c \
 		   test-reallocarray.c \
 		   test-rewb-bsd.c \
 		   test-rewb-sysv.c \
@@ -49,6 +52,7 @@ TESTSRCS	 = test-be32toh.c \
 		   test-wchar.c
 
 SRCS		 = att.c \
+		   catman.c \
 		   cgi.c \
 		   chars.c \
 		   compat_err.c \
@@ -89,6 +93,7 @@ SRCS		 = att.c \
 		   mandoc.c \
 		   mandoc_aux.c \
 		   mandoc_ohash.c \
+		   mandocd.c \
 		   mandocdb.c \
 		   manpage.c \
 		   manpath.c \
@@ -128,6 +133,7 @@ DISTFILES	 = INSTALL \
 		   NEWS \
 		   TODO \
 		   apropos.1 \
+		   catman.8 \
 		   cgi.h.example \
 		   compat_fts.h \
 		   compat_ohash.h \
@@ -156,6 +162,7 @@ DISTFILES	 = INSTALL \
 		   man.cgi.8 \
 		   man.conf.5 \
 		   man.h \
+		   man.options.1 \
 		   manconf.h \
 		   mandoc.1 \
 		   mandoc.3 \
@@ -169,6 +176,7 @@ DISTFILES	 = INSTALL \
 		   mandoc_html.3 \
 		   mandoc_malloc.3 \
 		   mandoc_ohash.h \
+		   mandocd.8 \
 		   mansearch.3 \
 		   mansearch.h \
 		   mchars_alloc.3 \
@@ -280,6 +288,12 @@ CGI_OBJS	 = $(MANDOC_HTML_OBJS) \
 		   cgi.o \
 		   out.o
 
+MANDOCD_OBJS	 = $(MANDOC_HTML_OBJS) \
+		   $(MANDOC_TERM_OBJS) \
+		   mandocd.o \
+		   out.o \
+		   tag.o
+
 MANPAGE_OBJS	 = $(DBM_OBJS) \
 		   manpage.o \
 		   manpath.o
@@ -298,6 +312,7 @@ WWW_MANS	 = apropos.1.html \
 		   man.1.html \
 		   mandoc.1.html \
 		   soelim.1.html \
+		   man.cgi.3.html \
 		   mandoc.3.html \
 		   mandoc_escape.3.html \
 		   mandoc_headers.3.html \
@@ -311,11 +326,12 @@ WWW_MANS	 = apropos.1.html \
 		   eqn.7.html \
 		   man.7.html \
 		   mandoc_char.7.html \
+		   mandocd.8.html \
 		   mdoc.7.html \
 		   roff.7.html \
 		   tbl.7.html \
+		   catman.8.html \
 		   makewhatis.8.html \
-		   man.cgi.3.html \
 		   man.cgi.8.html \
 		   man.h.html \
 		   manconf.h.html \
@@ -334,11 +350,7 @@ include Makefile.local
 
 # === DEPENDENCY HANDLING ==============================================
 
-all: base-build $(BUILD_TARGETS) Makefile.local
-
-base-build: mandoc demandoc soelim
-
-cgi-build: man.cgi
+all: mandoc demandoc soelim $(BUILD_TARGETS) Makefile.local
 
 install: base-install $(INSTALL_TARGETS)
 
@@ -360,13 +372,14 @@ clean:
 	rm -f libmandoc.a $(LIBMANDOC_OBJS) $(COMPAT_OBJS)

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



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