From owner-svn-src-user@FreeBSD.ORG Mon Feb 3 10:31:50 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 48D11121; Mon, 3 Feb 2014 10:31:50 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 31A6E1714; Mon, 3 Feb 2014 10:31:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s13AVopM028500; Mon, 3 Feb 2014 10:31:50 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s13AViXA028469; Mon, 3 Feb 2014 10:31:44 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201402031031.s13AViXA028469@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Mon, 3 Feb 2014 10:31:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261433 - in user/ae/inet6: bin/df cddl/contrib/opensolaris/cmd/zdb contrib/gcc/cp gnu/lib/libgcc lib/libc libexec/rtld-elf release release/amd64 release/i386 release/pkg_repos release/... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Feb 2014 10:31:50 -0000 Author: ae Date: Mon Feb 3 10:31:43 2014 New Revision: 261433 URL: http://svnweb.freebsd.org/changeset/base/261433 Log: Merge from head/ up to r260851. Added: user/ae/inet6/release/pkg_repos/ - copied from r260851, head/release/pkg_repos/ user/ae/inet6/share/man/man4/virtio_random.4 - copied unchanged from r260851, head/share/man/man4/virtio_random.4 user/ae/inet6/sys/dev/virtio/random/ - copied from r260851, head/sys/dev/virtio/random/ user/ae/inet6/sys/modules/virtio/random/ - copied from r260851, head/sys/modules/virtio/random/ Deleted: user/ae/inet6/release/amd64/pkg-stage.conf user/ae/inet6/release/i386/pkg-stage.conf Modified: user/ae/inet6/bin/df/df.1 user/ae/inet6/cddl/contrib/opensolaris/cmd/zdb/zdb.c user/ae/inet6/contrib/gcc/cp/ChangeLog.apple user/ae/inet6/contrib/gcc/cp/parser.c user/ae/inet6/gnu/lib/libgcc/Makefile user/ae/inet6/lib/libc/Makefile user/ae/inet6/libexec/rtld-elf/Makefile user/ae/inet6/release/Makefile user/ae/inet6/release/scripts/pkg-stage.sh user/ae/inet6/share/man/man4/Makefile user/ae/inet6/share/mk/bsd.libnames.mk user/ae/inet6/sys/amd64/conf/NOTES user/ae/inet6/sys/amd64/vmm/intel/vmcs.h user/ae/inet6/sys/amd64/vmm/intel/vmx.c user/ae/inet6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c user/ae/inet6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c user/ae/inet6/sys/compat/freebsd32/freebsd32_misc.c user/ae/inet6/sys/conf/files.amd64 user/ae/inet6/sys/conf/files.i386 user/ae/inet6/sys/dev/ahci/ahci.c user/ae/inet6/sys/dev/usb/usb_dev.c user/ae/inet6/sys/dev/usb/usb_device.c user/ae/inet6/sys/i386/conf/NOTES user/ae/inet6/sys/kern/kern_event.c user/ae/inet6/sys/kern/uipc_sockbuf.c user/ae/inet6/sys/kern/uipc_syscalls.c user/ae/inet6/sys/mips/cavium/ciu.c user/ae/inet6/sys/modules/virtio/Makefile user/ae/inet6/sys/net/netmap_user.h user/ae/inet6/sys/netinet/in_mcast.c user/ae/inet6/sys/netinet6/in6.c user/ae/inet6/sys/netinet6/ip6_fastfwd.c user/ae/inet6/sys/sys/random.h user/ae/inet6/sys/sys/sf_base.h user/ae/inet6/sys/sys/sf_sync.h user/ae/inet6/sys/sys/socket.h user/ae/inet6/tools/tools/mcgrab/mcgrab.cc user/ae/inet6/usr.bin/killall/killall.c user/ae/inet6/usr.bin/ktrdump/ktrdump.c user/ae/inet6/usr.bin/script/script.c Directory Properties: user/ae/inet6/ (props changed) user/ae/inet6/cddl/ (props changed) user/ae/inet6/cddl/contrib/opensolaris/ (props changed) user/ae/inet6/contrib/gcc/ (props changed) user/ae/inet6/gnu/lib/ (props changed) user/ae/inet6/lib/libc/ (props changed) user/ae/inet6/share/man/man4/ (props changed) user/ae/inet6/sys/ (props changed) user/ae/inet6/sys/amd64/vmm/ (props changed) user/ae/inet6/sys/cddl/contrib/opensolaris/ (props changed) user/ae/inet6/sys/conf/ (props changed) Modified: user/ae/inet6/bin/df/df.1 ============================================================================== --- user/ae/inet6/bin/df/df.1 Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/bin/df/df.1 Mon Feb 3 10:31:43 2014 (r261433) @@ -29,7 +29,7 @@ .\" @(#)df.1 8.3 (Berkeley) 5/8/95 .\" $FreeBSD$ .\" -.Dd January 24, 2013 +.Dd January 16, 2014 .Dt DF 1 .Os .Sh NAME @@ -83,13 +83,13 @@ Use 1073741824 byte (1 Gibibyte) blocks This overrides any .Ev BLOCKSIZE specification from the environment. -.It Fl H +.It Fl h .Dq Human-readable output. Use unit suffixes: Byte, Kibibyte, Mebibyte, Gibibyte, Tebibyte and Pebibyte (based on powers of 1024) in order to reduce the number of digits to four or fewer. -.It Fl h +.It Fl H .Dq Human-readable output. Use unit suffixes: Byte, Kilobyte, Megabyte, Modified: user/ae/inet6/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- user/ae/inet6/cddl/contrib/opensolaris/cmd/zdb/zdb.c Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/cddl/contrib/opensolaris/cmd/zdb/zdb.c Mon Feb 3 10:31:43 2014 (r261433) @@ -3012,6 +3012,7 @@ zdb_read_block(char *thing, spa_t *spa) free(dup); return; } + i += p - &flagstr[i + 1]; /* skip over the number */ } } Modified: user/ae/inet6/contrib/gcc/cp/ChangeLog.apple ============================================================================== --- user/ae/inet6/contrib/gcc/cp/ChangeLog.apple Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/contrib/gcc/cp/ChangeLog.apple Mon Feb 3 10:31:43 2014 (r261433) @@ -302,15 +302,6 @@ (cp_parser_objc_declaration): Parses attribute list and passes it down to cp_parser_objc_class_interface/cp_parser_objc_protocol_declaration. -2007-07-24 Fariborz Jahanian - - Radar 5355344 - * cp-tree.h (cp_objc_protocol_id_list): New declaration - * cp-lang.c (cp_objc_protocol_id_list): New stub - * parser.c (cp_parser_type_name): Added code to disambiguate - conditional from a protocol type. - (cp_parser_objc_tentative_protocol_refs_opt): New - 2007-07-13 Fariborz Jahanian Radar 5277239 Modified: user/ae/inet6/contrib/gcc/cp/parser.c ============================================================================== --- user/ae/inet6/contrib/gcc/cp/parser.c Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/contrib/gcc/cp/parser.c Mon Feb 3 10:31:43 2014 (r261433) @@ -1827,10 +1827,6 @@ static tree cp_parser_objc_identifier_li /* APPLE LOCAL end radar 3803157 - objc attribute */ static tree cp_parser_objc_protocol_refs_opt (cp_parser *); -/* APPLE LOCAL begin radar 5355344 */ -static bool cp_parser_objc_tentative_protocol_refs_opt - (cp_parser *, tree *); -/* APPLE LOCAL end radar 5355344 */ static void cp_parser_objc_declaration (cp_parser *); static tree cp_parser_objc_statement @@ -17873,32 +17869,6 @@ cp_parser_objc_protocol_refs_opt (cp_par return protorefs; } -/* APPLE LOCAL begin radar 5355344 */ -/* This routine also parses a list of Objective-C protocol references; except that - if list is not valid, it returns FALSE and back-tracks parsing. */ - -static bool -cp_parser_objc_tentative_protocol_refs_opt (cp_parser* parser, tree *protorefs) -{ - *protorefs = NULL_TREE; - if(cp_lexer_next_token_is (parser->lexer, CPP_LESS)) - { - cp_parser_parse_tentatively (parser); - cp_lexer_consume_token (parser->lexer); /* Eat '<'. */ - *protorefs = cp_parser_objc_identifier_list (parser); - if (!cp_objc_protocol_id_list (*protorefs)) - { - cp_parser_abort_tentative_parse (parser); - return false; - } - if (cp_parser_parse_definitely (parser)) - cp_parser_require (parser, CPP_GREATER, "`>'"); - } - - return true; -} -/* APPLE LOCAL end radar 5355344 */ - /* Parse a Objective-C visibility specification. */ static void Modified: user/ae/inet6/gnu/lib/libgcc/Makefile ============================================================================== --- user/ae/inet6/gnu/lib/libgcc/Makefile Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/gnu/lib/libgcc/Makefile Mon Feb 3 10:31:43 2014 (r261433) @@ -119,8 +119,8 @@ LIB1ASMFUNCS = _dvmd_tls _bb_init_func .if ${MK_ARM_EABI} != "no" LIB2ADDEH = unwind-arm.c libunwind.S pr-support.c unwind-c.c # Some compilers generate __aeabi_ functions libgcc_s is missing -DPADD+= ${LIBGCC} -LDADD+= -lgcc +DPADD+= ${LIBCOMPILER_RT} +LDADD+= -lcompiler_rt .else LIB2FUNCS_EXTRA = floatunsidf.c floatunsisf.c .endif @@ -145,6 +145,7 @@ LIB1ASMFUNCS = __divxf3 __divdf3 __divsf __divsi3 __modsi3 __udivsi3 __umodsi3 __save_stack_nonlocal \ __nonlocal_goto __restore_stack_nonlocal __trampoline \ _fixtfdi _fixunstfdi _floatditf +LIB2FUNCS += _bswapsi2 _bswapdi2 LIB2ADDEH = unwind-ia64.c unwind-sjlj.c unwind-c.c .endif Modified: user/ae/inet6/lib/libc/Makefile ============================================================================== --- user/ae/inet6/lib/libc/Makefile Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/lib/libc/Makefile Mon Feb 3 10:31:43 2014 (r261433) @@ -40,11 +40,11 @@ CFLAGS+=${CANCELPOINTS_CFLAGS} .endif # -# Only link with static libgcc.a (no libgcc_eh.a). +# Link with static libcompiler_rt.a. # -DPADD+= ${LIBGCC} +DPADD+= ${LIBCOMPILER_RT} LDFLAGS+= -nodefaultlibs -LDADD+= -lgcc +LDADD+= -lcompiler_rt .if ${MK_SSP} != "no" LDADD+= -lssp_nonshared Modified: user/ae/inet6/libexec/rtld-elf/Makefile ============================================================================== --- user/ae/inet6/libexec/rtld-elf/Makefile Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/libexec/rtld-elf/Makefile Mon Feb 3 10:31:43 2014 (r261433) @@ -43,11 +43,12 @@ DPADD= ${LIBC_PIC} LDADD= -lc_pic .if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no" -# Some of the required math functions (div & mod) are implemented in libgcc -# on ARM. The library also needs to be placed first to be correctly linked. -# As some of the functions are used before we have shared libraries. -DPADD+= ${LIBGCC} -LDADD+= -lgcc +# Some of the required math functions (div & mod) are implemented in +# libcompiler_rt on ARM. The library also needs to be placed first to be +# correctly linked. As some of the functions are used before we have +# shared libraries. +DPADD+= ${LIBCOMPILER_RT} +LDADD+= -lcompiler_rt .endif Modified: user/ae/inet6/release/Makefile ============================================================================== --- user/ae/inet6/release/Makefile Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/release/Makefile Mon Feb 3 10:31:43 2014 (r261433) @@ -224,9 +224,9 @@ packagesystem: base.txz kernel.txz ${EXT touch ${.TARGET} pkg-stage: -.if !defined(NOPKG) && exists(${.CURDIR}/${TARGET}/pkg-stage.conf) - sh ${.CURDIR}/scripts/pkg-stage.sh ${.CURDIR}/${TARGET}/pkg-stage.conf \ - ${REVISION} +.if !defined(NOPKG) + env REPOS_DIR=${.CURDIR}/pkg_repos/ \ + sh ${.CURDIR}/scripts/pkg-stage.sh mkdir -p ${.OBJDIR}/dvd/packages/repos/ cp ${.CURDIR}/scripts/FreeBSD_install_cdrom.conf \ ${.OBJDIR}/dvd/packages/repos/ Modified: user/ae/inet6/release/scripts/pkg-stage.sh ============================================================================== --- user/ae/inet6/release/scripts/pkg-stage.sh Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/release/scripts/pkg-stage.sh Mon Feb 3 10:31:43 2014 (r261433) @@ -5,24 +5,31 @@ set -e -usage() { - echo "$(basename ${0}) /path/to/pkg-stage.conf revision" - exit 1 -} - -if [ ! -e "${1}" ]; then - echo "Configuration file not specified." - echo - usage -fi - -if [ "$#" -lt 2 ]; then - usage -fi - -# Source config file for this architecture. -REVISION="${2}" -. "${1}" || exit 1 +export ASSUME_ALWAYS_YES=1 +export PKG_DBDIR="/tmp/pkg" +export PERMISSIVE="YES" +export REPO_AUTOUPDATE="NO" +export PKGCMD="/usr/sbin/pkg -d" + +DVD_PACKAGES="archivers/unzip +devel/subversion +devel/subversion-static +emulators/linux_base-f10 +misc/freebsd-doc-all +net/mpd5 +net/rsync +ports-mgmt/pkg +ports-mgmt/portmaster +shells/bash +shells/zsh +security/sudo +sysutils/screen +www/firefox +www/links +x11-drivers/xf86-video-vmware +x11/gnome2 +x11/kde4 +x11/xorg" # If NOPORTS is set for the release, do not attempt to build pkg(8). if [ ! -f /usr/ports/Makefile ]; then @@ -33,8 +40,13 @@ if [ ! -x /usr/local/sbin/pkg ]; then /usr/bin/make -C /usr/ports/ports-mgmt/pkg install clean fi +export PKG_ABI=$(pkg -vv | grep ^ABI | awk '{print $3}') +export PKG_CACHEDIR="dvd/packages/${PKG_ABI}" + /bin/mkdir -p ${PKG_CACHEDIR} +# Print pkg(8) information to make debugging easier. +${PKGCMD} -vv ${PKGCMD} update -f ${PKGCMD} fetch -d ${DVD_PACKAGES} Modified: user/ae/inet6/share/man/man4/Makefile ============================================================================== --- user/ae/inet6/share/man/man4/Makefile Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/share/man/man4/Makefile Mon Feb 3 10:31:43 2014 (r261433) @@ -543,6 +543,7 @@ MAN= aac.4 \ ${_virtio.4} \ ${_virtio_balloon.4} \ ${_virtio_blk.4} \ + ${_virtio_random.4} \ ${_virtio_scsi.4} \ vkbd.4 \ vlan.4 \ @@ -787,6 +788,7 @@ _nxge.4= nxge.4 _virtio.4= virtio.4 _virtio_balloon.4=virtio_balloon.4 _virtio_blk.4= virtio_blk.4 +_virtio_random.4= virtio_random.4 _virtio_scsi.4= virtio_scsi.4 _vmx.4= vmx.4 _vtnet.4= vtnet.4 Copied: user/ae/inet6/share/man/man4/virtio_random.4 (from r260851, head/share/man/man4/virtio_random.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ae/inet6/share/man/man4/virtio_random.4 Mon Feb 3 10:31:43 2014 (r261433, copy of r260851, head/share/man/man4/virtio_random.4) @@ -0,0 +1,61 @@ +.\" Copyright (c) 2013 Bryan Venteicher +.\" All rights reserved. +.\" +.\" 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. +.\" +.\" 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. +.\" +.\" $FreeBSD$ +.\" +.Dd December 28, 2013 +.Dt VIRTIO_RANDOM 4 +.Os +.Sh NAME +.Nm virtio_random +.Nd VirtIO Entropy driver +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following lines in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device virtio_random" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +virtio_random_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +device driver provides support for VirtIO entropy devices. +.Pp +The entropy device supplies high-quality randomness from the +hypervisor to the guest. +.Sh SEE ALSO +.Xr random 4 +.Xr virtio 4 +.Sh HISTORY +The +.Nm +driver was written by +.An Bryan Venteicher Aq bryanv@FreeBSD.org . Modified: user/ae/inet6/share/mk/bsd.libnames.mk ============================================================================== --- user/ae/inet6/share/mk/bsd.libnames.mk Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/share/mk/bsd.libnames.mk Mon Feb 3 10:31:43 2014 (r261433) @@ -36,6 +36,7 @@ LIBCAPSICUM?= ${DESTDIR}${LIBDIR}/libcap LIBCASPER?= ${DESTDIR}${LIBDIR}/libcasper.a LIBCOM_ERR?= ${DESTDIR}${LIBDIR}/libcom_err.a LIBCOMPAT?= ${DESTDIR}${LIBDIR}/libcompat.a +LIBCOMPILER_RT?=${DESTDIR}${LIBDIR}/libcompiler_rt.a LIBCRYPT?= ${DESTDIR}${LIBDIR}/libcrypt.a LIBCRYPTO?= ${DESTDIR}${LIBDIR}/libcrypto.a LIBCTF?= ${DESTDIR}${LIBDIR}/libctf.a @@ -53,8 +54,6 @@ LIBFETCH?= ${DESTDIR}${LIBDIR}/libfetch. LIBFL?= "don't use LIBFL, use LIBL" LIBFORM?= ${DESTDIR}${LIBDIR}/libform.a LIBG2C?= ${DESTDIR}${LIBDIR}/libg2c.a -LIBGCC?= ${DESTDIR}${LIBDIR}/libgcc.a -LIBGCC_PIC?= ${DESTDIR}${LIBDIR}/libgcc_pic.a LIBGEOM?= ${DESTDIR}${LIBDIR}/libgeom.a LIBGNUREGEX?= ${DESTDIR}${LIBDIR}/libgnuregex.a LIBGSSAPI?= ${DESTDIR}${LIBDIR}/libgssapi.a Modified: user/ae/inet6/sys/amd64/conf/NOTES ============================================================================== --- user/ae/inet6/sys/amd64/conf/NOTES Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/amd64/conf/NOTES Mon Feb 3 10:31:43 2014 (r261433) @@ -472,6 +472,7 @@ device vtnet # VirtIO Ethernet device device virtio_blk # VirtIO Block device device virtio_scsi # VirtIO SCSI device device virtio_balloon # VirtIO Memory Balloon device +device virtio_random # VirtIO Entropy device device hyperv # HyperV drivers Modified: user/ae/inet6/sys/amd64/vmm/intel/vmcs.h ============================================================================== --- user/ae/inet6/sys/amd64/vmm/intel/vmcs.h Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/amd64/vmm/intel/vmcs.h Mon Feb 3 10:31:43 2014 (r261433) @@ -331,12 +331,18 @@ vmcs_write(uint32_t encoding, uint64_t v #define EXIT_REASON_APIC_WRITE 56 /* + * NMI unblocking due to IRET. + * + * Applies to VM-exits due to hardware exception or EPT fault. + */ +#define EXIT_QUAL_NMIUDTI (1 << 12) +/* * VMCS interrupt information fields */ -#define VMCS_INTR_INFO_VALID (1U << 31) -#define VMCS_INTR_INFO_TYPE(info) (((info) >> 8) & 0x7) -#define VMCS_INTR_INFO_HW_INTR (0 << 8) -#define VMCS_INTR_INFO_NMI (2 << 8) +#define VMCS_INTR_VALID (1U << 31) +#define VMCS_INTR_T_MASK 0x700 /* Interruption-info type */ +#define VMCS_INTR_T_HWINTR (0 << 8) +#define VMCS_INTR_T_NMI (2 << 8) /* * VMCS IDT-Vectoring information fields Modified: user/ae/inet6/sys/amd64/vmm/intel/vmx.c ============================================================================== --- user/ae/inet6/sys/amd64/vmm/intel/vmx.c Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/amd64/vmm/intel/vmx.c Mon Feb 3 10:31:43 2014 (r261433) @@ -1065,7 +1065,7 @@ vmx_inject_nmi(struct vmx *vmx, int vcpu * Inject the virtual NMI. The vector must be the NMI IDT entry * or the VMCS entry check will fail. */ - info = VMCS_INTR_INFO_NMI | VMCS_INTR_INFO_VALID; + info = VMCS_INTR_T_NMI | VMCS_INTR_VALID; info |= IDT_NMI; vmcs_write(VMCS_ENTRY_INTR_INFO, info); @@ -1103,7 +1103,7 @@ vmx_inject_interrupts(struct vmx *vmx, i * because of a pending AST. */ info = vmcs_read(VMCS_ENTRY_INTR_INFO); - if (info & VMCS_INTR_INFO_VALID) + if (info & VMCS_INTR_VALID) return; /* @@ -1134,7 +1134,7 @@ vmx_inject_interrupts(struct vmx *vmx, i goto cantinject; /* Inject the interrupt */ - info = VMCS_INTR_INFO_HW_INTR | VMCS_INTR_INFO_VALID; + info = VMCS_INTR_T_HWINTR | VMCS_INTR_VALID; info |= vector; vmcs_write(VMCS_ENTRY_INTR_INFO, info); @@ -1155,6 +1155,37 @@ cantinject: VCPU_CTR0(vmx->vm, vcpu, "Enabling interrupt window exiting"); } +/* + * If the Virtual NMIs execution control is '1' then the logical processor + * tracks virtual-NMI blocking in the Guest Interruptibility-state field of + * the VMCS. An IRET instruction in VMX non-root operation will remove any + * virtual-NMI blocking. + * + * This unblocking occurs even if the IRET causes a fault. In this case the + * hypervisor needs to restore virtual-NMI blocking before resuming the guest. + */ +static void +vmx_restore_nmi_blocking(struct vmx *vmx, int vcpuid) +{ + uint32_t gi; + + VCPU_CTR0(vmx->vm, vcpuid, "Restore Virtual-NMI blocking"); + gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); + gi |= VMCS_INTERRUPTIBILITY_NMI_BLOCKING; + vmcs_write(VMCS_GUEST_INTERRUPTIBILITY, gi); +} + +static void +vmx_clear_nmi_blocking(struct vmx *vmx, int vcpuid) +{ + uint32_t gi; + + VCPU_CTR0(vmx->vm, vcpuid, "Clear Virtual-NMI blocking"); + gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); + gi &= ~VMCS_INTERRUPTIBILITY_NMI_BLOCKING; + vmcs_write(VMCS_GUEST_INTERRUPTIBILITY, gi); +} + static int vmx_emulate_cr_access(struct vmx *vmx, int vcpu, uint64_t exitqual) { @@ -1448,6 +1479,8 @@ vmx_exit_process(struct vmx *vmx, int vc uint64_t qual, gpa; bool retu; + CTASSERT((PINBASED_CTLS_ONE_SETTING & PINBASED_VIRTUAL_NMI) != 0); + handled = 0; vmxctx = &vmx->ctx[vcpu]; @@ -1480,9 +1513,20 @@ vmx_exit_process(struct vmx *vmx, int vc vmcs_write(VMCS_ENTRY_EXCEPTION_ERROR, idtvec_err); } + /* + * If 'virtual NMIs' are being used and the VM-exit + * happened while injecting an NMI during the previous + * VM-entry, then clear "blocking by NMI" in the Guest + * Interruptibility-state. + */ + if ((idtvec_info & VMCS_INTR_T_MASK) == + VMCS_INTR_T_NMI) { + vmx_clear_nmi_blocking(vmx, vcpu); + } vmcs_write(VMCS_ENTRY_INST_LENGTH, vmexit->inst_length); } default: + idtvec_info = 0; break; } @@ -1556,8 +1600,8 @@ vmx_exit_process(struct vmx *vmx, int vc * this virtual interrupt during the subsequent VM enter. */ intr_info = vmcs_read(VMCS_EXIT_INTR_INFO); - KASSERT((intr_info & VMCS_INTR_INFO_VALID) != 0 && - VMCS_INTR_INFO_TYPE(intr_info) == 0, + KASSERT((intr_info & VMCS_INTR_VALID) != 0 && + (intr_info & VMCS_INTR_T_MASK) == VMCS_INTR_T_HWINTR, ("VM exit interruption info invalid: %#x", intr_info)); vmx_trigger_hostintr(intr_info & 0xff); @@ -1587,6 +1631,23 @@ vmx_exit_process(struct vmx *vmx, int vc vmm_stat_incr(vmx->vm, vcpu, VMEXIT_CPUID, 1); handled = vmx_handle_cpuid(vmx->vm, vcpu, vmxctx); break; + case EXIT_REASON_EXCEPTION: + intr_info = vmcs_read(VMCS_EXIT_INTR_INFO); + KASSERT((intr_info & VMCS_INTR_VALID) != 0, + ("VM exit interruption info invalid: %#x", intr_info)); + /* + * If Virtual NMIs control is 1 and the VM-exit is due to a + * fault encountered during the execution of IRET then we must + * restore the state of "virtual-NMI blocking" before resuming + * the guest. + * + * See "Resuming Guest Software after Handling an Exception". + */ + if ((idtvec_info & VMCS_IDT_VEC_VALID) == 0 && + (intr_info & 0xff) != IDT_DF && + (intr_info & EXIT_QUAL_NMIUDTI) != 0) + vmx_restore_nmi_blocking(vmx, vcpu); + break; case EXIT_REASON_EPT_FAULT: vmm_stat_incr(vmx->vm, vcpu, VMEXIT_EPT_FAULT, 1); /* @@ -1605,6 +1666,17 @@ vmx_exit_process(struct vmx *vmx, int vc vmexit->u.inst_emul.gla = vmcs_gla(); vmexit->u.inst_emul.cr3 = vmcs_guest_cr3(); } + /* + * If Virtual NMIs control is 1 and the VM-exit is due to an + * EPT fault during the execution of IRET then we must restore + * the state of "virtual-NMI blocking" before resuming. + * + * See description of "NMI unblocking due to IRET" in + * "Exit Qualification for EPT Violations". + */ + if ((idtvec_info & VMCS_IDT_VEC_VALID) == 0 && + (qual & EXIT_QUAL_NMIUDTI) != 0) + vmx_restore_nmi_blocking(vmx, vcpu); break; case EXIT_REASON_APIC_ACCESS: handled = vmx_handle_apic_access(vmx, vcpu, vmexit); @@ -2039,11 +2111,11 @@ vmx_inject(void *arg, int vcpu, int type if (error) return (error); - if (info & VMCS_INTR_INFO_VALID) + if (info & VMCS_INTR_VALID) return (EAGAIN); info = vector | (type_map[type] << 8) | (code_valid ? 1 << 11 : 0); - info |= VMCS_INTR_INFO_VALID; + info |= VMCS_INTR_VALID; error = vmcs_setreg(vmcs, 0, VMCS_IDENT(VMCS_ENTRY_INTR_INFO), info); if (error != 0) return (error); Modified: user/ae/inet6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- user/ae/inet6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Mon Feb 3 10:31:43 2014 (r261433) @@ -21,7 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013 by Delphix. All rights reserved. - * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 by Saso Kiselkov. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ @@ -4597,6 +4597,13 @@ l2arc_write_done(zio_t *zio) */ for (ab = list_prev(buflist, head); ab; ab = ab_prev) { ab_prev = list_prev(buflist, ab); + abl2 = ab->b_l2hdr; + + /* + * Release the temporary compressed buffer as soon as possible. + */ + if (abl2->b_compress != ZIO_COMPRESS_OFF) + l2arc_release_cdata_buf(ab); hash_lock = HDR_LOCK(ab); if (!mutex_tryenter(hash_lock)) { @@ -4609,14 +4616,6 @@ l2arc_write_done(zio_t *zio) continue; } - abl2 = ab->b_l2hdr; - - /* - * Release the temporary compressed buffer as soon as possible. - */ - if (abl2->b_compress != ZIO_COMPRESS_OFF) - l2arc_release_cdata_buf(ab); - if (zio->io_error != 0) { /* * Error - drop L2ARC entry. Modified: user/ae/inet6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c ============================================================================== --- user/ae/inet6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Mon Feb 3 10:31:43 2014 (r261433) @@ -351,9 +351,9 @@ traverse_visitbp(traverse_data_t *td, co prefetch_dnode_metadata(td, dnp, zb->zb_objset, DMU_META_DNODE_OBJECT); if (arc_buf_size(buf) >= sizeof (objset_phys_t)) { - prefetch_dnode_metadata(td, &osp->os_userused_dnode, - zb->zb_objset, DMU_USERUSED_OBJECT); prefetch_dnode_metadata(td, &osp->os_groupused_dnode, + zb->zb_objset, DMU_GROUPUSED_OBJECT); + prefetch_dnode_metadata(td, &osp->os_userused_dnode, zb->zb_objset, DMU_USERUSED_OBJECT); } @@ -364,18 +364,18 @@ traverse_visitbp(traverse_data_t *td, co err = 0; } if (err == 0 && arc_buf_size(buf) >= sizeof (objset_phys_t)) { - dnp = &osp->os_userused_dnode; + dnp = &osp->os_groupused_dnode; err = traverse_dnode(td, dnp, zb->zb_objset, - DMU_USERUSED_OBJECT); + DMU_GROUPUSED_OBJECT); } if (err && hard) { lasterr = err; err = 0; } if (err == 0 && arc_buf_size(buf) >= sizeof (objset_phys_t)) { - dnp = &osp->os_groupused_dnode; + dnp = &osp->os_userused_dnode; err = traverse_dnode(td, dnp, zb->zb_objset, - DMU_GROUPUSED_OBJECT); + DMU_USERUSED_OBJECT); } } Modified: user/ae/inet6/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- user/ae/inet6/sys/compat/freebsd32/freebsd32_misc.c Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/compat/freebsd32/freebsd32_misc.c Mon Feb 3 10:31:43 2014 (r261433) @@ -1644,18 +1644,28 @@ struct sf_hdtr32 { int trl_cnt; }; +struct sf_hdtr_kq32 { + int kq_fd; + uint32_t kq_flags; + uint32_t kq_udata; /* 32-bit void ptr */ + uint32_t kq_ident; /* 32-bit uintptr_t */ +}; + static int freebsd32_do_sendfile(struct thread *td, struct freebsd32_sendfile_args *uap, int compat) { struct sf_hdtr32 hdtr32; struct sf_hdtr hdtr; + struct sf_hdtr_kq32 hdtr_kq32; + struct sf_hdtr_kq hdtr_kq; struct uio *hdr_uio, *trl_uio; struct iovec32 *iov32; off_t offset; int error; off_t sbytes; struct sendfile_sync *sfs; + int do_kqueue = 0; offset = PAIR32TO64(off_t, uap->offset); if (offset < 0) @@ -1687,10 +1697,32 @@ freebsd32_do_sendfile(struct thread *td, if (error) goto out; } + + /* + * If SF_KQUEUE is set, then we need to also copy in + * the kqueue data after the normal hdtr set and set do_kqueue=1. + */ + if (uap->flags & SF_KQUEUE) { + error = copyin(((char *) uap->hdtr) + sizeof(hdtr32), + &hdtr_kq32, + sizeof(hdtr_kq32)); + if (error != 0) + goto out; + + /* 32->64 bit fields */ + CP(hdtr_kq32, hdtr_kq, kq_fd); + CP(hdtr_kq32, hdtr_kq, kq_flags); + PTRIN_CP(hdtr_kq32, hdtr_kq, kq_udata); + CP(hdtr_kq32, hdtr_kq, kq_ident); + do_kqueue = 1; + } } + + /* Call sendfile */ + /* XXX stack depth! */ error = _do_sendfile(td, uap->fd, uap->s, uap->flags, compat, - offset, uap->nbytes, &sbytes, hdr_uio, trl_uio); + offset, uap->nbytes, &sbytes, hdr_uio, trl_uio, &hdtr_kq); if (uap->sbytes != NULL) copyout(&sbytes, uap->sbytes, sizeof(off_t)); Modified: user/ae/inet6/sys/conf/files.amd64 ============================================================================== --- user/ae/inet6/sys/conf/files.amd64 Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/conf/files.amd64 Mon Feb 3 10:31:43 2014 (r261433) @@ -448,6 +448,7 @@ dev/virtio/network/if_vtnet.c optional dev/virtio/block/virtio_blk.c optional virtio_blk dev/virtio/balloon/virtio_balloon.c optional virtio_balloon dev/virtio/scsi/virtio_scsi.c optional virtio_scsi +dev/virtio/random/virtio_random.c optional virtio_random isa/syscons_isa.c optional sc isa/vga_isa.c optional vga kern/kern_clocksource.c standard Modified: user/ae/inet6/sys/conf/files.i386 ============================================================================== --- user/ae/inet6/sys/conf/files.i386 Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/conf/files.i386 Mon Feb 3 10:31:43 2014 (r261433) @@ -414,6 +414,7 @@ dev/virtio/network/if_vtnet.c optional dev/virtio/block/virtio_blk.c optional virtio_blk dev/virtio/balloon/virtio_balloon.c optional virtio_balloon dev/virtio/scsi/virtio_scsi.c optional virtio_scsi +dev/virtio/random/virtio_random.c optional virtio_random i386/acpica/acpi_machdep.c optional acpi acpi_wakecode.o optional acpi \ dependency "$S/i386/acpica/acpi_wakecode.S assym.s" \ Modified: user/ae/inet6/sys/dev/ahci/ahci.c ============================================================================== --- user/ae/inet6/sys/dev/ahci/ahci.c Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/dev/ahci/ahci.c Mon Feb 3 10:31:43 2014 (r261433) @@ -146,6 +146,7 @@ static struct { {0x78021022, 0x00, "AMD Hudson-2", 0}, {0x78031022, 0x00, "AMD Hudson-2", 0}, {0x78041022, 0x00, "AMD Hudson-2", 0}, + {0x06111b21, 0x00, "ASMedia ASM2106", 0}, {0x06121b21, 0x00, "ASMedia ASM1061", 0}, {0x26528086, 0x00, "Intel ICH6", AHCI_Q_NOFORCE}, {0x26538086, 0x00, "Intel ICH6M", AHCI_Q_NOFORCE}, Modified: user/ae/inet6/sys/dev/usb/usb_dev.c ============================================================================== --- user/ae/inet6/sys/dev/usb/usb_dev.c Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/dev/usb/usb_dev.c Mon Feb 3 10:31:43 2014 (r261433) @@ -207,6 +207,11 @@ usb_ref_device(struct usb_cdev_privdata DPRINTFN(2, "no device at %u\n", cpd->dev_index); goto error; } + if (cpd->udev->state == USB_STATE_DETACHED && + (need_uref != 2)) { + DPRINTFN(2, "device is detached\n"); + goto error; + } if (cpd->udev->refcount == USB_DEV_REF_MAX) { DPRINTFN(2, "no dev ref\n"); goto error; @@ -597,6 +602,13 @@ usb_fifo_free(struct usb_fifo *f) mtx_unlock(f->priv_mtx); mtx_lock(&usb_ref_lock); + /* + * Check if the "f->refcount" variable reached zero + * during the unlocked time before entering wait: + */ + if (f->refcount == 0) + break; + /* wait for sync */ cv_wait(&f->cv_drain, &usb_ref_lock); } @@ -915,23 +927,12 @@ usb_close(void *arg) DPRINTFN(2, "cpd=%p\n", cpd); - err = usb_ref_device(cpd, &refs, 0); - if (err) + err = usb_ref_device(cpd, &refs, + 2 /* uref and allow detached state */); + if (err) { + DPRINTFN(0, "Cannot grab USB reference when " + "closing USB file handle\n"); goto done; - - /* - * If this function is not called directly from the root HUB - * thread, there is usually a need to lock the enumeration - * lock. Check this. - */ - if (!usbd_enum_is_locked(cpd->udev)) { - - DPRINTFN(2, "Locking enumeration\n"); - - /* reference device */ - err = usb_usb_ref_device(cpd, &refs); - if (err) - goto done; } if (cpd->fflags & FREAD) { usb_fifo_close(refs.rxfifo, cpd->fflags); Modified: user/ae/inet6/sys/dev/usb/usb_device.c ============================================================================== --- user/ae/inet6/sys/dev/usb/usb_device.c Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/dev/usb/usb_device.c Mon Feb 3 10:31:43 2014 (r261433) @@ -2070,6 +2070,8 @@ usb_free_device(struct usb_device *udev, DPRINTFN(4, "udev=%p port=%d\n", udev, udev->port_no); bus = udev->bus; + + /* set DETACHED state to prevent any further references */ usb_set_device_state(udev, USB_STATE_DETACHED); #if USB_HAVE_DEVCTL @@ -2085,16 +2087,7 @@ usb_free_device(struct usb_device *udev, usb_free_symlink(udev->ugen_symlink); udev->ugen_symlink = NULL; } -#endif - /* - * Unregister our device first which will prevent any further - * references: - */ - usb_bus_port_set_device(bus, udev->parent_hub ? - udev->parent_hub->hub->ports + udev->port_index : NULL, - NULL, USB_ROOT_HUB_ADDR); -#if USB_HAVE_UGEN /* wait for all pending references to go away: */ mtx_lock(&usb_ref_lock); udev->refcount--; @@ -2114,6 +2107,11 @@ usb_free_device(struct usb_device *udev, /* the following will get the device unconfigured in software */ usb_unconfigure(udev, USB_UNCFG_FLAG_FREE_EP0); + /* final device unregister after all character devices are closed */ + usb_bus_port_set_device(bus, udev->parent_hub ? + udev->parent_hub->hub->ports + udev->port_index : NULL, + NULL, USB_ROOT_HUB_ADDR); + /* unsetup any leftover default USB transfers */ usbd_transfer_unsetup(udev->ctrl_xfer, USB_CTRL_XFER_MAX); @@ -2647,8 +2645,14 @@ usb_set_device_state(struct usb_device * DPRINTF("udev %p state %s -> %s\n", udev, usb_statestr(udev->state), usb_statestr(state)); - udev->state = state; +#if USB_HAVE_UGEN + mtx_lock(&usb_ref_lock); +#endif + udev->state = state; +#if USB_HAVE_UGEN + mtx_unlock(&usb_ref_lock); +#endif if (udev->bus->methods->device_state_change != NULL) (udev->bus->methods->device_state_change) (udev); } Modified: user/ae/inet6/sys/i386/conf/NOTES ============================================================================== --- user/ae/inet6/sys/i386/conf/NOTES Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/i386/conf/NOTES Mon Feb 3 10:31:43 2014 (r261433) @@ -800,6 +800,7 @@ device vtnet # VirtIO Ethernet device device virtio_blk # VirtIO Block device device virtio_scsi # VirtIO SCSI device device virtio_balloon # VirtIO Memory Balloon device +device virtio_random # VirtIO Entropy device device hyperv # HyperV drivers Modified: user/ae/inet6/sys/kern/kern_event.c ============================================================================== --- user/ae/inet6/sys/kern/kern_event.c Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/kern/kern_event.c Mon Feb 3 10:31:43 2014 (r261433) @@ -294,6 +294,7 @@ static struct { { &fs_filtops }, /* EVFILT_FS */ { &null_filtops }, /* EVFILT_LIO */ { &user_filtops }, /* EVFILT_USER */ + { &null_filtops }, /* EVFILT_SENDFILE */ }; /* Modified: user/ae/inet6/sys/kern/uipc_sockbuf.c ============================================================================== --- user/ae/inet6/sys/kern/uipc_sockbuf.c Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/kern/uipc_sockbuf.c Mon Feb 3 10:31:43 2014 (r261433) @@ -813,7 +813,7 @@ sbflush_internal(struct sockbuf *sb) while (sb->sb_mbcnt) { /* - * Don't call sbdrop(sb, 0) if the leading mbuf is non-empty: + * Don't call sbcut(sb, 0) if the leading mbuf is non-empty: * we would loop forever. Panic instead. */ if (!sb->sb_cc && (sb->sb_mb == NULL || sb->sb_mb->m_len)) Modified: user/ae/inet6/sys/kern/uipc_syscalls.c ============================================================================== --- user/ae/inet6/sys/kern/uipc_syscalls.c Mon Feb 3 08:15:09 2014 (r261432) +++ user/ae/inet6/sys/kern/uipc_syscalls.c Mon Feb 3 10:31:43 2014 (r261433) @@ -123,6 +123,10 @@ static int getpeername1(struct thread *t counter_u64_t sfstat[sizeof(struct sfstat) / sizeof(uint64_t)]; +static int filt_sfsync_attach(struct knote *kn); +static void filt_sfsync_detach(struct knote *kn); +static int filt_sfsync(struct knote *kn, long hint); + /* * sendfile(2)-related variables and associated sysctls */ @@ -132,8 +136,28 @@ static int sfreadahead = 1; SYSCTL_INT(_kern_ipc_sendfile, OID_AUTO, readahead, CTLFLAG_RW, &sfreadahead, 0, "Number of sendfile(2) read-ahead MAXBSIZE blocks"); +#ifdef SFSYNC_DEBUG +static int sf_sync_debug = 0; +SYSCTL_INT(_debug, OID_AUTO, sf_sync_debug, CTLFLAG_RW, + &sf_sync_debug, 0, "Output debugging during sf_sync lifecycle"); +#define SFSYNC_DPRINTF(s, ...) \ + do { \ + if (sf_sync_debug) \ + printf((s), ##__VA_ARGS__); \ + } while (0) +#else +#define SFSYNC_DPRINTF(c, ...) +#endif + static uma_zone_t zone_sfsync; +static struct filterops sendfile_filtops = { + .f_isfd = 0, + .f_attach = filt_sfsync_attach, + .f_detach = filt_sfsync_detach, + .f_event = filt_sfsync, +}; + static void sfstat_init(const void *unused) { @@ -152,6 +176,7 @@ sf_sync_init(const void *unused) NULL, NULL, UMA_ALIGN_CACHE, 0); + kqueue_add_filteropts(EVFILT_SENDFILE, &sendfile_filtops); } SYSINIT(sf_sync, SI_SUB_MBUF, SI_ORDER_FIRST, sf_sync_init, NULL); @@ -1860,6 +1885,118 @@ getsockaddr(namp, uaddr, len) return (error); } +static int +filt_sfsync_attach(struct knote *kn) +{ + struct sendfile_sync *sfs = (struct sendfile_sync *) kn->kn_sdata; + struct knlist *knl = &sfs->klist; + + SFSYNC_DPRINTF("%s: kn=%p, sfs=%p\n", __func__, kn, sfs); + + /* + * Validate that we actually received this via the kernel API. + */ + if ((kn->kn_flags & EV_FLAG1) == 0) + return (EPERM); + + kn->kn_ptr.p_v = sfs; + kn->kn_flags &= ~EV_FLAG1; + + knl->kl_lock(knl->kl_lockarg); + /* + * If we're in the "freeing" state, + * don't allow the add. That way we don't + * end up racing with some other thread that + * is trying to finish some setup. + */ + if (sfs->state == SF_STATE_FREEING) { + knl->kl_unlock(knl->kl_lockarg); + return (EINVAL); + } + knlist_add(&sfs->klist, kn, 1); + knl->kl_unlock(knl->kl_lockarg); + + return (0); +} + +/* + * Called when a knote is being detached. + */ +static void +filt_sfsync_detach(struct knote *kn) +{ + struct knlist *knl; + struct sendfile_sync *sfs; + int do_free = 0; + + sfs = kn->kn_ptr.p_v; + knl = &sfs->klist; + + SFSYNC_DPRINTF("%s: kn=%p, sfs=%p\n", __func__, kn, sfs); + + knl->kl_lock(knl->kl_lockarg); + if (!knlist_empty(knl)) + knlist_remove(knl, kn, 1); + + /* + * If the list is empty _AND_ the refcount is 0 + * _AND_ we've finished the setup phase and now + * we're in the running phase, we can free the + * underlying sendfile_sync. + * + * But we shouldn't do it before finishing the + * underlying divorce from the knote. + * + * So, we have the sfsync lock held; transition + * it to "freeing", then unlock, then free + * normally. + */ + if (knlist_empty(knl)) { + if (sfs->state == SF_STATE_COMPLETED && sfs->count == 0) { + SFSYNC_DPRINTF("%s: (%llu) sfs=%p; completed, " + "count==0, empty list: time to free!\n", + __func__, + (unsigned long long) curthread->td_tid, + sfs); + sf_sync_set_state(sfs, SF_STATE_FREEING, 1); + do_free = 1; + } + } + knl->kl_unlock(knl->kl_lockarg); + + /* + * Only call free if we're the one who has transitioned things + * to free. Otherwise we could race with another thread that + * is currently tearing things down. + */ + if (do_free == 1) { + SFSYNC_DPRINTF("%s: (%llu) sfs=%p, %s:%d\n", + __func__, + (unsigned long long) curthread->td_tid, + sfs, + __FILE__, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Mon Feb 3 11:20:33 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BC053100; Mon, 3 Feb 2014 11:20:33 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A74951CD0; Mon, 3 Feb 2014 11:20:33 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s13BKXFE044507; Mon, 3 Feb 2014 11:20:33 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s13BKWUp044502; Mon, 3 Feb 2014 11:20:32 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201402031120.s13BKWUp044502@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Mon, 3 Feb 2014 11:20:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261434 - in user/ae/inet6/sys: netinet6 vm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Feb 2014 11:20:33 -0000 Author: ae Date: Mon Feb 3 11:20:32 2014 New Revision: 261434 URL: http://svnweb.freebsd.org/changeset/base/261434 Log: Merge from head/ up to r260860. Modified: user/ae/inet6/sys/netinet6/in6.c user/ae/inet6/sys/netinet6/in6_ifattach.c user/ae/inet6/sys/netinet6/in6_var.h user/ae/inet6/sys/netinet6/nd6_rtr.c user/ae/inet6/sys/vm/vm_pageout.c Directory Properties: user/ae/inet6/ (props changed) user/ae/inet6/sys/ (props changed) Modified: user/ae/inet6/sys/netinet6/in6.c ============================================================================== --- user/ae/inet6/sys/netinet6/in6.c Mon Feb 3 10:31:43 2014 (r261433) +++ user/ae/inet6/sys/netinet6/in6.c Mon Feb 3 11:20:32 2014 (r261434) @@ -967,6 +967,27 @@ in6_update_ifa(struct ifnet *ifp, struct return (error); } +/* + * Fill in basic IPv6 address request info + */ +void +in6_prepare_ifra(struct in6_aliasreq *ifra, const struct in6_addr *addr, + const struct in6_addr *mask) +{ + + memset(ifra, 0, sizeof(struct in6_aliasreq)); + + ifra->ifra_addr.sin6_family = AF_INET6; + ifra->ifra_addr.sin6_len = sizeof(struct sockaddr_in6); + if (addr != NULL) + ifra->ifra_addr.sin6_addr = *addr; + + ifra->ifra_prefixmask.sin6_family = AF_INET6; + ifra->ifra_prefixmask.sin6_len = sizeof(struct sockaddr_in6); + if (mask != NULL) + ifra->ifra_prefixmask.sin6_addr = *mask; +} + static int in6_validate_ifra(struct ifnet *ifp, struct in6_aliasreq *ifra, struct in6_ifaddr *ia, int flags) @@ -1085,53 +1106,53 @@ in6_validate_ifra(struct ifnet *ifp, str return (0); } - /* - * If this is a new address, allocate a new ifaddr and link it - * into chains. - */ + +/* + * Allocate a new ifaddr and link it into chains. + */ static struct in6_ifaddr * in6_alloc_ifa(struct ifnet *ifp, struct in6_aliasreq *ifra, int flags) { struct in6_ifaddr *ia; + /* + * When in6_alloc_ifa() is called in a process of a received + * RA, it is called under an interrupt context. So, we should + * call malloc with M_NOWAIT. + */ + ia = (struct in6_ifaddr *)ifa_alloc(sizeof(*ia), M_NOWAIT); + if (ia == NULL) + return (NULL); + LIST_INIT(&ia->ia6_memberships); + /* Initialize the address and masks, and put time stamp */ + ia->ia_ifa.ifa_addr = (struct sockaddr *)&ia->ia_addr; + ia->ia_addr.sin6_family = AF_INET6; + ia->ia_addr.sin6_len = sizeof(ia->ia_addr); + ia->ia6_createtime = time_uptime; + if ((ifp->if_flags & (IFF_POINTOPOINT | IFF_LOOPBACK)) != 0) { /* - * When in6_update_ifa() is called in a process of a received - * RA, it is called under an interrupt context. So, we should - * call malloc with M_NOWAIT. + * XXX: some functions expect that ifa_dstaddr is not + * NULL for p2p interfaces. */ - ia = (struct in6_ifaddr *)ifa_alloc(sizeof(*ia), M_NOWAIT); - if (ia == NULL) - return (NULL); - LIST_INIT(&ia->ia6_memberships); - /* Initialize the address and masks, and put time stamp */ - ia->ia_ifa.ifa_addr = (struct sockaddr *)&ia->ia_addr; - ia->ia_addr.sin6_family = AF_INET6; - ia->ia_addr.sin6_len = sizeof(ia->ia_addr); - ia->ia6_createtime = time_uptime; - if ((ifp->if_flags & (IFF_POINTOPOINT | IFF_LOOPBACK)) != 0) { - /* - * XXX: some functions expect that ifa_dstaddr is not - * NULL for p2p interfaces. - */ - ia->ia_ifa.ifa_dstaddr = - (struct sockaddr *)&ia->ia_dstaddr; - } else { - ia->ia_ifa.ifa_dstaddr = NULL; - } - ia->ia_ifa.ifa_netmask = (struct sockaddr *)&ia->ia_prefixmask; - ia->ia_ifp = ifp; - ifa_ref(&ia->ia_ifa); /* if_addrhead */ - IF_ADDR_WLOCK(ifp); - TAILQ_INSERT_TAIL(&ifp->if_addrhead, &ia->ia_ifa, ifa_link); - IF_ADDR_WUNLOCK(ifp); - - ifa_ref(&ia->ia_ifa); /* in6_ifaddrhead */ - IN6_IFADDR_WLOCK(); - TAILQ_INSERT_TAIL(&V_in6_ifaddrhead, ia, ia_link); - LIST_INSERT_HEAD(IN6ADDR_HASH(&ifra->ifra_addr.sin6_addr), - ia, ia6_hash); - IN6_IFADDR_WUNLOCK(); - + ia->ia_ifa.ifa_dstaddr = + (struct sockaddr *)&ia->ia_dstaddr; + } else { + ia->ia_ifa.ifa_dstaddr = NULL; + } + ia->ia_ifa.ifa_netmask = (struct sockaddr *)&ia->ia_prefixmask; + ia->ia_ifp = ifp; + ifa_ref(&ia->ia_ifa); /* if_addrhead */ + IF_ADDR_WLOCK(ifp); + TAILQ_INSERT_TAIL(&ifp->if_addrhead, &ia->ia_ifa, ifa_link); + IF_ADDR_WUNLOCK(ifp); + + ifa_ref(&ia->ia_ifa); /* in6_ifaddrhead */ + IN6_IFADDR_WLOCK(); + TAILQ_INSERT_TAIL(&V_in6_ifaddrhead, ia, ia_link); + LIST_INSERT_HEAD(IN6ADDR_HASH(&ifra->ifra_addr.sin6_addr), + ia, ia6_hash); + IN6_IFADDR_WUNLOCK(); + return (ia); } @@ -1236,11 +1257,6 @@ in6_setup_ifa(struct ifnet *ifp, struct /* Add local address to lltable, if necessary (ex. on p2p link). */ in6_ifaddloop(&(ia->ia_ifa)); - /* - * Beyond this point, we should call in6_purgeaddr upon an error, - * not just go to unlink. - */ - /* Join necessary multicast groups. */ in6m_sol = NULL; if ((ifp->if_flags & IFF_MULTICAST) != 0) { Modified: user/ae/inet6/sys/netinet6/in6_ifattach.c ============================================================================== --- user/ae/inet6/sys/netinet6/in6_ifattach.c Mon Feb 3 10:31:43 2014 (r261433) +++ user/ae/inet6/sys/netinet6/in6_ifattach.c Mon Feb 3 11:20:32 2014 (r261434) @@ -459,16 +459,8 @@ in6_ifattach_linklocal(struct ifnet *ifp /* * configure link-local address. */ - bzero(&ifra, sizeof(ifra)); + in6_prepare_ifra(&ifra, NULL, &in6mask64); - /* - * in6_update_ifa() does not use ifra_name, but we accurately set it - * for safety. - */ - strncpy(ifra.ifra_name, if_name(ifp), sizeof(ifra.ifra_name)); - - ifra.ifra_addr.sin6_family = AF_INET6; - ifra.ifra_addr.sin6_len = sizeof(struct sockaddr_in6); ifra.ifra_addr.sin6_addr.s6_addr32[0] = htonl(0xfe800000); if ((ifp->if_flags & IFF_LOOPBACK) != 0) { ifra.ifra_addr.sin6_addr.s6_addr32[3] = IPV6_ADDR_INT32_ONE; @@ -479,9 +471,6 @@ in6_ifattach_linklocal(struct ifnet *ifp return (-1); } } - ifra.ifra_prefixmask.sin6_len = sizeof(struct sockaddr_in6); - ifra.ifra_prefixmask.sin6_family = AF_INET6; - ifra.ifra_prefixmask.sin6_addr = in6mask64; /* link-local addresses should NEVER expire. */ ifra.ifra_lifetime.ia6t_vltime = ND6_INFINITE_LIFETIME; ifra.ifra_lifetime.ia6t_pltime = ND6_INFINITE_LIFETIME; @@ -553,17 +542,7 @@ in6_ifattach_loopback(struct ifnet *ifp) struct in6_aliasreq ifra; int error; - bzero(&ifra, sizeof(ifra)); - - /* - * in6_update_ifa() does not use ifra_name, but we accurately set it - * for safety. - */ - strncpy(ifra.ifra_name, if_name(ifp), sizeof(ifra.ifra_name)); - - ifra.ifra_prefixmask.sin6_len = sizeof(struct sockaddr_in6); - ifra.ifra_prefixmask.sin6_family = AF_INET6; - ifra.ifra_prefixmask.sin6_addr = in6mask128; + in6_prepare_ifra(&ifra, &in6addr_loopback, &in6mask128); /* * Always initialize ia_dstaddr (= broadcast address) to loopback @@ -573,10 +552,6 @@ in6_ifattach_loopback(struct ifnet *ifp) ifra.ifra_dstaddr.sin6_family = AF_INET6; ifra.ifra_dstaddr.sin6_addr = in6addr_loopback; - ifra.ifra_addr.sin6_len = sizeof(struct sockaddr_in6); - ifra.ifra_addr.sin6_family = AF_INET6; - ifra.ifra_addr.sin6_addr = in6addr_loopback; - /* the loopback address should NEVER expire. */ ifra.ifra_lifetime.ia6t_vltime = ND6_INFINITE_LIFETIME; ifra.ifra_lifetime.ia6t_pltime = ND6_INFINITE_LIFETIME; Modified: user/ae/inet6/sys/netinet6/in6_var.h ============================================================================== --- user/ae/inet6/sys/netinet6/in6_var.h Mon Feb 3 10:31:43 2014 (r261433) +++ user/ae/inet6/sys/netinet6/in6_var.h Mon Feb 3 11:20:32 2014 (r261434) @@ -799,6 +799,8 @@ int in6_control(struct socket *, u_long, struct thread *); int in6_update_ifa(struct ifnet *, struct in6_aliasreq *, struct in6_ifaddr *, int); +void in6_prepare_ifra(struct in6_aliasreq *, const struct in6_addr *, + const struct in6_addr *); void in6_purgeaddr(struct ifaddr *); int in6if_do_dad(struct ifnet *); void in6_savemkludge(struct in6_ifaddr *); Modified: user/ae/inet6/sys/netinet6/nd6_rtr.c ============================================================================== --- user/ae/inet6/sys/netinet6/nd6_rtr.c Mon Feb 3 10:31:43 2014 (r261433) +++ user/ae/inet6/sys/netinet6/nd6_rtr.c Mon Feb 3 11:20:32 2014 (r261434) @@ -1829,19 +1829,9 @@ in6_ifadd(struct nd_prefixctl *pr, int m } /* make ifaddr */ + in6_prepare_ifra(&ifra, &pr->ndpr_prefix.sin6_addr, &mask); - bzero(&ifra, sizeof(ifra)); - /* - * in6_update_ifa() does not use ifra_name, but we accurately set it - * for safety. - */ - strncpy(ifra.ifra_name, if_name(ifp), sizeof(ifra.ifra_name)); - ifra.ifra_addr.sin6_family = AF_INET6; - ifra.ifra_addr.sin6_len = sizeof(struct sockaddr_in6); - /* prefix */ - ifra.ifra_addr.sin6_addr = pr->ndpr_prefix.sin6_addr; IN6_MASK_ADDR(&ifra.ifra_addr.sin6_addr, &mask); - /* interface ID */ ifra.ifra_addr.sin6_addr.s6_addr32[0] |= (ib->ia_addr.sin6_addr.s6_addr32[0] & ~mask.s6_addr32[0]); @@ -1853,12 +1843,6 @@ in6_ifadd(struct nd_prefixctl *pr, int m (ib->ia_addr.sin6_addr.s6_addr32[3] & ~mask.s6_addr32[3]); ifa_free(ifa); - /* new prefix mask. */ - ifra.ifra_prefixmask.sin6_len = sizeof(struct sockaddr_in6); - ifra.ifra_prefixmask.sin6_family = AF_INET6; - bcopy(&mask, &ifra.ifra_prefixmask.sin6_addr, - sizeof(ifra.ifra_prefixmask.sin6_addr)); - /* lifetimes. */ ifra.ifra_lifetime.ia6t_vltime = pr->ndpr_vltime; ifra.ifra_lifetime.ia6t_pltime = pr->ndpr_pltime; @@ -1923,11 +1907,10 @@ in6_tmpifadd(const struct in6_ifaddr *ia u_int32_t randid[2]; time_t vltime0, pltime0; - bzero(&ifra, sizeof(ifra)); - strncpy(ifra.ifra_name, if_name(ifp), sizeof(ifra.ifra_name)); - ifra.ifra_addr = ia0->ia_addr; - /* copy prefix mask */ - ifra.ifra_prefixmask = ia0->ia_prefixmask; + in6_prepare_ifra(&ifra, &ia0->ia_addr.sin6_addr, + &ia0->ia_prefixmask.sin6_addr); + + ifra.ifra_addr = ia0->ia_addr; /* XXX: do we need this ? */ /* clear the old IFID */ IN6_MASK_ADDR(&ifra.ifra_addr.sin6_addr, &ifra.ifra_prefixmask.sin6_addr); Modified: user/ae/inet6/sys/vm/vm_pageout.c ============================================================================== --- user/ae/inet6/sys/vm/vm_pageout.c Mon Feb 3 10:31:43 2014 (r261433) +++ user/ae/inet6/sys/vm/vm_pageout.c Mon Feb 3 11:20:32 2014 (r261434) @@ -1047,11 +1047,11 @@ vm_pageout_scan(struct vm_domain *vmd, i * level VM system not knowing anything about existing * references. */ - act_delta = 0; if ((m->aflags & PGA_REFERENCED) != 0) { vm_page_aflag_clear(m, PGA_REFERENCED); act_delta = 1; - } + } else + act_delta = 0; if (object->ref_count != 0) { act_delta += pmap_ts_referenced(m); } else { @@ -1064,7 +1064,7 @@ vm_pageout_scan(struct vm_domain *vmd, i * references, we reactivate the page or requeue it. */ if (act_delta != 0) { - if (object->ref_count) { + if (object->ref_count != 0) { vm_page_activate(m); m->act_count += act_delta + ACT_ADVANCE; } else { @@ -1361,11 +1361,12 @@ relock_queues: /* * Check to see "how much" the page has been used. */ - act_delta = 0; - if (m->aflags & PGA_REFERENCED) { + if ((m->aflags & PGA_REFERENCED) != 0) { vm_page_aflag_clear(m, PGA_REFERENCED); - act_delta += 1; - } + act_delta = 1; + } else + act_delta = 0; + /* * Unlocked object ref count check. Two races are possible. * 1) The ref was transitioning to zero and we saw non-zero, @@ -1380,20 +1381,18 @@ relock_queues: /* * Advance or decay the act_count based on recent usage. */ - if (act_delta) { + if (act_delta != 0) { m->act_count += ACT_ADVANCE + act_delta; if (m->act_count > ACT_MAX) m->act_count = ACT_MAX; - } else { + } else m->act_count -= min(m->act_count, ACT_DECLINE); - act_delta = m->act_count; - } /* * Move this page to the tail of the active or inactive * queue depending on usage. */ - if (act_delta == 0) { + if (m->act_count == 0) { /* Dequeue to avoid later lock recursion. */ vm_page_dequeue_locked(m); vm_page_deactivate(m); From owner-svn-src-user@FreeBSD.ORG Mon Feb 3 22:51:31 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EC391C14; Mon, 3 Feb 2014 22:51:31 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CC42A1FD9; Mon, 3 Feb 2014 22:51:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s13MpVTx022682; Mon, 3 Feb 2014 22:51:31 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s13MpUWY022676; Mon, 3 Feb 2014 22:51:30 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201402032251.s13MpUWY022676@svn.freebsd.org> From: Glen Barber Date: Mon, 3 Feb 2014 22:51:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261448 - in user/gjb/hacking/release-embedded/release: arm tools/arm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Feb 2014 22:51:32 -0000 Author: gjb Date: Mon Feb 3 22:51:30 2014 New Revision: 261448 URL: http://svnweb.freebsd.org/changeset/base/261448 Log: Export WORLD_FLAGS and KERNEL_FLAGS for buildworld/buildkernel. Sponsored by: The FreeBSD Foundation Modified: user/gjb/hacking/release-embedded/release/arm/BEAGLEBONE.conf user/gjb/hacking/release-embedded/release/arm/PANDABOARD.conf user/gjb/hacking/release-embedded/release/arm/RPI-B.conf user/gjb/hacking/release-embedded/release/tools/arm/crochet-BEAGLEBONE.conf user/gjb/hacking/release-embedded/release/tools/arm/crochet-PANDABOARD.conf user/gjb/hacking/release-embedded/release/tools/arm/crochet-RPI-B.conf Modified: user/gjb/hacking/release-embedded/release/arm/BEAGLEBONE.conf ============================================================================== --- user/gjb/hacking/release-embedded/release/arm/BEAGLEBONE.conf Mon Feb 3 22:16:46 2014 (r261447) +++ user/gjb/hacking/release-embedded/release/arm/BEAGLEBONE.conf Mon Feb 3 22:51:30 2014 (r261448) @@ -23,6 +23,8 @@ NODOC=yes # Since this file is sourced by a script that runs another # script, these must be exported. set -a +WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" +KERNEL_FLAGS="-j $(expr \( $(sysctl -n hw.ncpu) + 1 \) / 2)" CHROOTDIR="/scratch" EMBEDDEDBUILD=1 EMBEDDEDPORTS="lang/python textproc/gsed" Modified: user/gjb/hacking/release-embedded/release/arm/PANDABOARD.conf ============================================================================== --- user/gjb/hacking/release-embedded/release/arm/PANDABOARD.conf Mon Feb 3 22:16:46 2014 (r261447) +++ user/gjb/hacking/release-embedded/release/arm/PANDABOARD.conf Mon Feb 3 22:51:30 2014 (r261448) @@ -23,6 +23,8 @@ NODOC=yes # Since this file is sourced by a script that runs another # script, these must be exported. set -a +WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" +KERNEL_FLAGS="-j $(expr \( $(sysctl -n hw.ncpu) + 1 \) / 2)" CHROOTDIR="/scratch" EMBEDDEDBUILD=1 EMBEDDEDPORTS="lang/python textproc/gsed" Modified: user/gjb/hacking/release-embedded/release/arm/RPI-B.conf ============================================================================== --- user/gjb/hacking/release-embedded/release/arm/RPI-B.conf Mon Feb 3 22:16:46 2014 (r261447) +++ user/gjb/hacking/release-embedded/release/arm/RPI-B.conf Mon Feb 3 22:51:30 2014 (r261448) @@ -23,6 +23,8 @@ NODOC=yes # Since this file is sourced by a script that runs another # script, these must be exported. set -a +WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" +KERNEL_FLAGS="-j $(expr \( $(sysctl -n hw.ncpu) + 1 \) / 2)" CHROOTDIR="/scratch" EMBEDDEDBUILD=1 EMBEDDEDPORTS="lang/python textproc/gsed" Modified: user/gjb/hacking/release-embedded/release/tools/arm/crochet-BEAGLEBONE.conf ============================================================================== --- user/gjb/hacking/release-embedded/release/tools/arm/crochet-BEAGLEBONE.conf Mon Feb 3 22:16:46 2014 (r261447) +++ user/gjb/hacking/release-embedded/release/tools/arm/crochet-BEAGLEBONE.conf Mon Feb 3 22:51:30 2014 (r261448) @@ -19,9 +19,9 @@ _REVISION=$(make -C ${FREEBSD_SRC}/relea KERNCONF=BEAGLEBONE TARGET=arm TARGET_ARCH=armv6 -FREEBSD_BUILDWORLD_EXTRA_ARGS="" +FREEBSD_BUILDWORLD_EXTRA_ARGS="${WORLD_FLAGS}" +FREEBSD_BUILDKERNEL_EXTRA_ARGS="${KERNEL_FLAGS}" FREEBSD_INSTALLWORLD_EXTRA_ARGS="" -FREEBSD_BUILDKERNEL_EXTRA_ARGS="" FREEBSD_INSTALLKERNEL_EXTRA_ARGS="" FREEBSD_WORLD_EXTRA_ARGS="" FREEBSD_KERNEL_EXTRA_ARGS="" Modified: user/gjb/hacking/release-embedded/release/tools/arm/crochet-PANDABOARD.conf ============================================================================== --- user/gjb/hacking/release-embedded/release/tools/arm/crochet-PANDABOARD.conf Mon Feb 3 22:16:46 2014 (r261447) +++ user/gjb/hacking/release-embedded/release/tools/arm/crochet-PANDABOARD.conf Mon Feb 3 22:51:30 2014 (r261448) @@ -19,9 +19,9 @@ _REVISION=$(make -C ${FREEBSD_SRC}/relea KERNCONF=PANDABOARD TARGET=arm TARGET_ARCH=armv6 -FREEBSD_BUILDWORLD_EXTRA_ARGS="" +FREEBSD_BUILDWORLD_EXTRA_ARGS="${WORLD_FLAGS}" +FREEBSD_BUILDKERNEL_EXTRA_ARGS="${KERNEL_FLAGS}" FREEBSD_INSTALLWORLD_EXTRA_ARGS="" -FREEBSD_BUILDKERNEL_EXTRA_ARGS="" FREEBSD_INSTALLKERNEL_EXTRA_ARGS="" FREEBSD_WORLD_EXTRA_ARGS="" FREEBSD_KERNEL_EXTRA_ARGS="" Modified: user/gjb/hacking/release-embedded/release/tools/arm/crochet-RPI-B.conf ============================================================================== --- user/gjb/hacking/release-embedded/release/tools/arm/crochet-RPI-B.conf Mon Feb 3 22:16:46 2014 (r261447) +++ user/gjb/hacking/release-embedded/release/tools/arm/crochet-RPI-B.conf Mon Feb 3 22:51:30 2014 (r261448) @@ -19,9 +19,9 @@ _REVISION=$(make -C ${FREEBSD_SRC}/relea KERNCONF=RPI-B TARGET=arm TARGET_ARCH=armv6 -FREEBSD_BUILDWORLD_EXTRA_ARGS="" +FREEBSD_BUILDWORLD_EXTRA_ARGS="${WORLD_FLAGS}" +FREEBSD_BUILDKERNEL_EXTRA_ARGS="${KERNEL_FLAGS}" FREEBSD_INSTALLWORLD_EXTRA_ARGS="" -FREEBSD_BUILDKERNEL_EXTRA_ARGS="" FREEBSD_INSTALLKERNEL_EXTRA_ARGS="" FREEBSD_WORLD_EXTRA_ARGS="" FREEBSD_KERNEL_EXTRA_ARGS="" From owner-svn-src-user@FreeBSD.ORG Tue Feb 4 09:30:45 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8EDAA2CE; Tue, 4 Feb 2014 09:30:45 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 773E916BF; Tue, 4 Feb 2014 09:30:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s149UjbY078188; Tue, 4 Feb 2014 09:30:45 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s149Ugwr078172; Tue, 4 Feb 2014 09:30:42 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201402040930.s149Ugwr078172@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Tue, 4 Feb 2014 09:30:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261480 - in user/ae/inet6: gnu/lib/libgcc sys/amd64/vmm/intel sys/ia64/conf sys/net sys/netinet sys/netinet6 sys/ofed/drivers/infiniband/ulp/ipoib sys/powerpc/powermac usr.sbin/bsdinst... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Feb 2014 09:30:45 -0000 Author: ae Date: Tue Feb 4 09:30:42 2014 New Revision: 261480 URL: http://svnweb.freebsd.org/changeset/base/261480 Log: Merge from head/ up to r260882. Modified: user/ae/inet6/gnu/lib/libgcc/Makefile user/ae/inet6/sys/amd64/vmm/intel/vmx.c user/ae/inet6/sys/ia64/conf/GENERIC user/ae/inet6/sys/net/ieee8023ad_lacp.c user/ae/inet6/sys/net/if.c user/ae/inet6/sys/net/if_arcsubr.c user/ae/inet6/sys/net/if_dl.h user/ae/inet6/sys/net/if_ethersubr.c user/ae/inet6/sys/net/if_fddisubr.c user/ae/inet6/sys/net/if_iso88025subr.c user/ae/inet6/sys/net/if_lagg.c user/ae/inet6/sys/netinet/ip_carp.c user/ae/inet6/sys/netinet/tcp_syncache.c user/ae/inet6/sys/netinet6/in6.c user/ae/inet6/sys/netinet6/in6_var.h user/ae/inet6/sys/netinet6/nd6.c user/ae/inet6/sys/netinet6/nd6.h user/ae/inet6/sys/netinet6/nd6_rtr.c user/ae/inet6/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c user/ae/inet6/sys/powerpc/powermac/pmu.c user/ae/inet6/usr.sbin/bsdinstall/scripts/services Directory Properties: user/ae/inet6/ (props changed) user/ae/inet6/gnu/lib/ (props changed) user/ae/inet6/sys/ (props changed) user/ae/inet6/sys/amd64/vmm/ (props changed) Modified: user/ae/inet6/gnu/lib/libgcc/Makefile ============================================================================== --- user/ae/inet6/gnu/lib/libgcc/Makefile Tue Feb 4 09:11:50 2014 (r261479) +++ user/ae/inet6/gnu/lib/libgcc/Makefile Tue Feb 4 09:30:42 2014 (r261480) @@ -34,9 +34,9 @@ OBJS= # added to below in various ways #--------------------------------------------------------------------------- # -# When upgrading GCC, get the following defintions straight from Makefile.in -# # Library members defined in libgcc2.c. +# When upgrading GCC, obtain the following list from mklibgcc.in +# LIB2FUNCS= _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 \ _cmpdi2 _ucmpdi2 \ _enable_execute_stack _trampoline __main _absvsi2 _absvdi2 _addvsi3 \ @@ -44,7 +44,7 @@ LIB2FUNCS= _muldi3 _negdi2 _lshrdi3 _ash _ffssi2 _ffsdi2 _clz _clzsi2 _clzdi2 _ctzsi2 _ctzdi2 _popcount_tab \ _popcountsi2 _popcountdi2 _paritysi2 _paritydi2 _powisf2 _powidf2 \ _powixf2 _powitf2 _mulsc3 _muldc3 _mulxc3 _multc3 _divsc3 _divdc3 \ - _divxc3 _divtc3 + _divxc3 _divtc3 _bswapsi2 _bswapdi2 .if ${COMPILER_TYPE} != "clang" || ${TARGET_CPUARCH} != "arm" LIB2FUNCS+= _clear_cache .endif @@ -145,7 +145,6 @@ LIB1ASMFUNCS = __divxf3 __divdf3 __divsf __divsi3 __modsi3 __udivsi3 __umodsi3 __save_stack_nonlocal \ __nonlocal_goto __restore_stack_nonlocal __trampoline \ _fixtfdi _fixunstfdi _floatditf -LIB2FUNCS += _bswapsi2 _bswapdi2 LIB2ADDEH = unwind-ia64.c unwind-sjlj.c unwind-c.c .endif Modified: user/ae/inet6/sys/amd64/vmm/intel/vmx.c ============================================================================== --- user/ae/inet6/sys/amd64/vmm/intel/vmx.c Tue Feb 4 09:11:50 2014 (r261479) +++ user/ae/inet6/sys/amd64/vmm/intel/vmx.c Tue Feb 4 09:30:42 2014 (r261480) @@ -147,21 +147,6 @@ SYSCTL_INT(_hw_vmm_vmx, OID_AUTO, initia &vmx_initialized, 0, "Intel VMX initialized"); /* - * Virtual NMI blocking conditions. - * - * Some processor implementations also require NMI to be blocked if - * the STI_BLOCKING bit is set. It is possible to detect this at runtime - * based on the (exit_reason,exit_qual) tuple being set to - * (EXIT_REASON_INVAL_VMCS, EXIT_QUAL_NMI_WHILE_STI_BLOCKING). - * - * We take the easy way out and also include STI_BLOCKING as one of the - * gating items for vNMI injection. - */ -static uint64_t nmi_blocking_bits = VMCS_INTERRUPTIBILITY_MOVSS_BLOCKING | - VMCS_INTERRUPTIBILITY_NMI_BLOCKING | - VMCS_INTERRUPTIBILITY_STI_BLOCKING; - -/* * Optional capabilities */ static int cap_halt_exit; @@ -1020,117 +1005,145 @@ static void __inline vmx_set_int_window_exiting(struct vmx *vmx, int vcpu) { - vmx->cap[vcpu].proc_ctls |= PROCBASED_INT_WINDOW_EXITING; - vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + if ((vmx->cap[vcpu].proc_ctls & PROCBASED_INT_WINDOW_EXITING) == 0) { + vmx->cap[vcpu].proc_ctls |= PROCBASED_INT_WINDOW_EXITING; + vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + VCPU_CTR0(vmx->vm, vcpu, "Enabling interrupt window exiting"); + } } static void __inline vmx_clear_int_window_exiting(struct vmx *vmx, int vcpu) { + KASSERT((vmx->cap[vcpu].proc_ctls & PROCBASED_INT_WINDOW_EXITING) != 0, + ("intr_window_exiting not set: %#x", vmx->cap[vcpu].proc_ctls)); vmx->cap[vcpu].proc_ctls &= ~PROCBASED_INT_WINDOW_EXITING; vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + VCPU_CTR0(vmx->vm, vcpu, "Disabling interrupt window exiting"); } static void __inline vmx_set_nmi_window_exiting(struct vmx *vmx, int vcpu) { - vmx->cap[vcpu].proc_ctls |= PROCBASED_NMI_WINDOW_EXITING; - vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + if ((vmx->cap[vcpu].proc_ctls & PROCBASED_NMI_WINDOW_EXITING) == 0) { + vmx->cap[vcpu].proc_ctls |= PROCBASED_NMI_WINDOW_EXITING; + vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + VCPU_CTR0(vmx->vm, vcpu, "Enabling NMI window exiting"); + } } static void __inline vmx_clear_nmi_window_exiting(struct vmx *vmx, int vcpu) { + KASSERT((vmx->cap[vcpu].proc_ctls & PROCBASED_NMI_WINDOW_EXITING) != 0, + ("nmi_window_exiting not set %#x", vmx->cap[vcpu].proc_ctls)); vmx->cap[vcpu].proc_ctls &= ~PROCBASED_NMI_WINDOW_EXITING; vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + VCPU_CTR0(vmx->vm, vcpu, "Disabling NMI window exiting"); } -static int +#define NMI_BLOCKING (VMCS_INTERRUPTIBILITY_NMI_BLOCKING | \ + VMCS_INTERRUPTIBILITY_MOVSS_BLOCKING) +#define HWINTR_BLOCKING (VMCS_INTERRUPTIBILITY_STI_BLOCKING | \ + VMCS_INTERRUPTIBILITY_MOVSS_BLOCKING) + +static void vmx_inject_nmi(struct vmx *vmx, int vcpu) { - uint64_t info, interruptibility; + uint32_t gi, info; - /* Bail out if no NMI requested */ - if (!vm_nmi_pending(vmx->vm, vcpu)) - return (0); + gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); + KASSERT((gi & NMI_BLOCKING) == 0, ("vmx_inject_nmi: invalid guest " + "interruptibility-state %#x", gi)); - interruptibility = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); - if (interruptibility & nmi_blocking_bits) - goto nmiblocked; + info = vmcs_read(VMCS_ENTRY_INTR_INFO); + KASSERT((info & VMCS_INTR_VALID) == 0, ("vmx_inject_nmi: invalid " + "VM-entry interruption information %#x", info)); /* * Inject the virtual NMI. The vector must be the NMI IDT entry * or the VMCS entry check will fail. */ - info = VMCS_INTR_T_NMI | VMCS_INTR_VALID; - info |= IDT_NMI; + info = IDT_NMI | VMCS_INTR_T_NMI | VMCS_INTR_VALID; vmcs_write(VMCS_ENTRY_INTR_INFO, info); VCPU_CTR0(vmx->vm, vcpu, "Injecting vNMI"); /* Clear the request */ vm_nmi_clear(vmx->vm, vcpu); - return (1); - -nmiblocked: - /* - * Set the NMI Window Exiting execution control so we can inject - * the virtual NMI as soon as blocking condition goes away. - */ - vmx_set_nmi_window_exiting(vmx, vcpu); - - VCPU_CTR0(vmx->vm, vcpu, "Enabling NMI window exiting"); - return (1); } static void vmx_inject_interrupts(struct vmx *vmx, int vcpu, struct vlapic *vlapic) { - int vector; - uint64_t info, rflags, interruptibility; - - const int HWINTR_BLOCKED = VMCS_INTERRUPTIBILITY_STI_BLOCKING | - VMCS_INTERRUPTIBILITY_MOVSS_BLOCKING; + int vector, need_nmi_exiting; + uint64_t rflags; + uint32_t gi, info; - /* - * If there is already an interrupt pending then just return. - * - * This could happen if an interrupt was injected on a prior - * VM entry but the actual entry into guest mode was aborted - * because of a pending AST. - */ - info = vmcs_read(VMCS_ENTRY_INTR_INFO); - if (info & VMCS_INTR_VALID) - return; + if (vm_nmi_pending(vmx->vm, vcpu)) { + /* + * If there are no conditions blocking NMI injection then + * inject it directly here otherwise enable "NMI window + * exiting" to inject it as soon as we can. + * + * We also check for STI_BLOCKING because some implementations + * don't allow NMI injection in this case. If we are running + * on a processor that doesn't have this restriction it will + * immediately exit and the NMI will be injected in the + * "NMI window exiting" handler. + */ + need_nmi_exiting = 1; + gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); + if ((gi & (HWINTR_BLOCKING | NMI_BLOCKING)) == 0) { + info = vmcs_read(VMCS_ENTRY_INTR_INFO); + if ((info & VMCS_INTR_VALID) == 0) { + vmx_inject_nmi(vmx, vcpu); + need_nmi_exiting = 0; + } else { + VCPU_CTR1(vmx->vm, vcpu, "Cannot inject NMI " + "due to VM-entry intr info %#x", info); + } + } else { + VCPU_CTR1(vmx->vm, vcpu, "Cannot inject NMI due to " + "Guest Interruptibility-state %#x", gi); + } - /* - * NMI injection has priority so deal with those first - */ - if (vmx_inject_nmi(vmx, vcpu)) - return; + if (need_nmi_exiting) + vmx_set_nmi_window_exiting(vmx, vcpu); + } if (virtual_interrupt_delivery) { vmx_inject_pir(vlapic); return; } + /* + * If there is already an interrupt pending then just return. This + * could happen for multiple reasons: + * - A vectoring VM-entry was aborted due to astpending or rendezvous. + * - A VM-exit happened during event injection. + * - A NMI was injected above or after "NMI window exiting" VM-exit. + */ + info = vmcs_read(VMCS_ENTRY_INTR_INFO); + if (info & VMCS_INTR_VALID) + return; + /* Ask the local apic for a vector to inject */ if (!vlapic_pending_intr(vlapic, &vector)) return; - if (vector < 32 || vector > 255) - panic("vmx_inject_interrupts: invalid vector %d\n", vector); + KASSERT(vector >= 32 && vector <= 255, ("invalid vector %d", vector)); /* Check RFLAGS.IF and the interruptibility state of the guest */ rflags = vmcs_read(VMCS_GUEST_RFLAGS); if ((rflags & PSL_I) == 0) goto cantinject; - interruptibility = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); - if (interruptibility & HWINTR_BLOCKED) + gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); + if (gi & HWINTR_BLOCKING) goto cantinject; /* Inject the interrupt */ @@ -1151,8 +1164,6 @@ cantinject: * the interrupt as soon as blocking condition goes away. */ vmx_set_int_window_exiting(vmx, vcpu); - - VCPU_CTR0(vmx->vm, vcpu, "Enabling interrupt window exiting"); } /* @@ -1587,7 +1598,6 @@ vmx_exit_process(struct vmx *vmx, int vc case EXIT_REASON_INTR_WINDOW: vmm_stat_incr(vmx->vm, vcpu, VMEXIT_INTR_WINDOW, 1); vmx_clear_int_window_exiting(vmx, vcpu); - VCPU_CTR0(vmx->vm, vcpu, "Disabling interrupt window exiting"); return (1); case EXIT_REASON_EXT_INTR: /* @@ -1613,9 +1623,10 @@ vmx_exit_process(struct vmx *vmx, int vc return (1); case EXIT_REASON_NMI_WINDOW: /* Exit to allow the pending virtual NMI to be injected */ - vmm_stat_incr(vmx->vm, vcpu, VMEXIT_NMI_WINDOW, 1); + if (vm_nmi_pending(vmx->vm, vcpu)) + vmx_inject_nmi(vmx, vcpu); vmx_clear_nmi_window_exiting(vmx, vcpu); - VCPU_CTR0(vmx->vm, vcpu, "Disabling NMI window exiting"); + vmm_stat_incr(vmx->vm, vcpu, VMEXIT_NMI_WINDOW, 1); return (1); case EXIT_REASON_INOUT: vmm_stat_incr(vmx->vm, vcpu, VMEXIT_INOUT, 1); Modified: user/ae/inet6/sys/ia64/conf/GENERIC ============================================================================== --- user/ae/inet6/sys/ia64/conf/GENERIC Tue Feb 4 09:11:50 2014 (r261479) +++ user/ae/inet6/sys/ia64/conf/GENERIC Tue Feb 4 09:30:42 2014 (r261480) @@ -192,7 +192,9 @@ options AH_SUPPORT_AR5416 # Various (pseudo) devices device ether # Ethernet support device faith # IPv6-to-IPv4 relaying (translation) +device firmware # firmware assist module device gif # IPv6 and IPv4 tunneling +device kbdmux # keyboard multiplexer device loop # Network loopback device md # Memory "disks" device puc # Multi I/O cards and multi-channel UARTs @@ -200,7 +202,8 @@ device random # Entropy device device tun # Packet tunnel. device uart # Serial port (UART) device vlan # 802.1Q VLAN support -device firmware # firmware assist module +device vt # Virtual terminals +device vt_vga # VGA terminal device # The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! Modified: user/ae/inet6/sys/net/ieee8023ad_lacp.c ============================================================================== --- user/ae/inet6/sys/net/ieee8023ad_lacp.c Tue Feb 4 09:11:50 2014 (r261479) +++ user/ae/inet6/sys/net/ieee8023ad_lacp.c Tue Feb 4 09:30:42 2014 (r261480) @@ -522,11 +522,7 @@ lacp_port_create(struct lagg_port *lgp) boolean_t active = TRUE; /* XXX should be configurable */ boolean_t fast = FALSE; /* XXX should be configurable */ - bzero((char *)&sdl, sizeof(sdl)); - sdl.sdl_len = sizeof(sdl); - sdl.sdl_family = AF_LINK; - sdl.sdl_index = ifp->if_index; - sdl.sdl_type = IFT_ETHER; + link_init_sdl(ifp, (struct sockaddr *)&sdl, IFT_ETHER); sdl.sdl_alen = ETHER_ADDR_LEN; bcopy(ðermulticastaddr_slowprotocols, Modified: user/ae/inet6/sys/net/if.c ============================================================================== --- user/ae/inet6/sys/net/if.c Tue Feb 4 09:11:50 2014 (r261479) +++ user/ae/inet6/sys/net/if.c Tue Feb 4 09:30:42 2014 (r261480) @@ -1902,6 +1902,38 @@ link_rtrequest(int cmd, struct rtentry * } } +struct sockaddr_dl * +link_alloc_sdl(size_t size, int flags) +{ + + return (malloc(size, M_TEMP, flags)); +} + +void +link_free_sdl(struct sockaddr *sa) +{ + free(sa, M_TEMP); +} + +/* + * Fills in given sdl with interface basic info. + * Returns pointer to filled sdl. + */ +struct sockaddr_dl * +link_init_sdl(struct ifnet *ifp, struct sockaddr *paddr, u_char iftype) +{ + struct sockaddr_dl *sdl; + + sdl = (struct sockaddr_dl *)paddr; + memset(sdl, 0, sizeof(struct sockaddr_dl)); + sdl->sdl_len = sizeof(struct sockaddr_dl); + sdl->sdl_family = AF_LINK; + sdl->sdl_index = ifp->if_index; + sdl->sdl_type = iftype; + + return (sdl); +} + /* * Mark an interface down and notify protocols of * the transition. @@ -2952,6 +2984,7 @@ if_addmulti(struct ifnet *ifp, struct so { struct ifmultiaddr *ifma, *ll_ifma; struct sockaddr *llsa; + struct sockaddr_dl sdl; int error; /* @@ -2971,12 +3004,18 @@ if_addmulti(struct ifnet *ifp, struct so /* * The address isn't already present; resolve the protocol address * into a link layer address, and then look that up, bump its - * refcount or allocate an ifma for that also. If 'llsa' was - * returned, we will need to free it later. + * refcount or allocate an ifma for that also. + * Most link layer resolving functions returns address data which + * fits inside default sockaddr_dl structure. However callback + * can allocate another sockaddr structure, in that case we need to + * free it later. */ llsa = NULL; ll_ifma = NULL; if (ifp->if_resolvemulti != NULL) { + /* Provide called function with buffer size information */ + sdl.sdl_len = sizeof(sdl); + llsa = (struct sockaddr *)&sdl; error = ifp->if_resolvemulti(ifp, &llsa, sa); if (error) goto unlock_out; @@ -3040,14 +3079,14 @@ if_addmulti(struct ifnet *ifp, struct so (void) (*ifp->if_ioctl)(ifp, SIOCADDMULTI, 0); } - if (llsa != NULL) - free(llsa, M_IFMADDR); + if ((llsa != NULL) && (llsa != (struct sockaddr *)&sdl)) + link_free_sdl(llsa); return (0); free_llsa_out: - if (llsa != NULL) - free(llsa, M_IFMADDR); + if ((llsa != NULL) && (llsa != (struct sockaddr *)&sdl)) + link_free_sdl(llsa); unlock_out: IF_ADDR_WUNLOCK(ifp); Modified: user/ae/inet6/sys/net/if_arcsubr.c ============================================================================== --- user/ae/inet6/sys/net/if_arcsubr.c Tue Feb 4 09:11:50 2014 (r261479) +++ user/ae/inet6/sys/net/if_arcsubr.c Tue Feb 4 09:30:42 2014 (r261480) @@ -786,14 +786,7 @@ arc_resolvemulti(struct ifnet *ifp, stru sin = (struct sockaddr_in *)sa; if (!IN_MULTICAST(ntohl(sin->sin_addr.s_addr))) return EADDRNOTAVAIL; - sdl = malloc(sizeof *sdl, M_IFMADDR, - M_NOWAIT | M_ZERO); - if (sdl == NULL) - return ENOMEM; - sdl->sdl_len = sizeof *sdl; - sdl->sdl_family = AF_LINK; - sdl->sdl_index = ifp->if_index; - sdl->sdl_type = IFT_ARCNET; + sdl = link_init_sdl(ifp, *llsa, IFT_ETHER); sdl->sdl_alen = ARC_ADDR_LEN; *LLADDR(sdl) = 0; *llsa = (struct sockaddr *)sdl; @@ -814,14 +807,7 @@ arc_resolvemulti(struct ifnet *ifp, stru } if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) return EADDRNOTAVAIL; - sdl = malloc(sizeof *sdl, M_IFMADDR, - M_NOWAIT | M_ZERO); - if (sdl == NULL) - return ENOMEM; - sdl->sdl_len = sizeof *sdl; - sdl->sdl_family = AF_LINK; - sdl->sdl_index = ifp->if_index; - sdl->sdl_type = IFT_ARCNET; + sdl = link_init_sdl(ifp, *llsa, IFT_ETHER); sdl->sdl_alen = ARC_ADDR_LEN; *LLADDR(sdl) = 0; *llsa = (struct sockaddr *)sdl; Modified: user/ae/inet6/sys/net/if_dl.h ============================================================================== --- user/ae/inet6/sys/net/if_dl.h Tue Feb 4 09:11:50 2014 (r261479) +++ user/ae/inet6/sys/net/if_dl.h Tue Feb 4 09:30:42 2014 (r261480) @@ -69,6 +69,12 @@ struct sockaddr_dl { #define LLADDR(s) ((caddr_t)((s)->sdl_data + (s)->sdl_nlen)) #define LLINDEX(s) ((s)->sdl_index) + +struct ifnet; +struct sockaddr_dl *link_alloc_sdl(size_t, int); +void link_free_sdl(struct sockaddr *sa); +struct sockaddr_dl *link_init_sdl(struct ifnet *, struct sockaddr *, u_char); + #ifndef _KERNEL #include Modified: user/ae/inet6/sys/net/if_ethersubr.c ============================================================================== --- user/ae/inet6/sys/net/if_ethersubr.c Tue Feb 4 09:11:50 2014 (r261479) +++ user/ae/inet6/sys/net/if_ethersubr.c Tue Feb 4 09:30:42 2014 (r261480) @@ -1171,14 +1171,7 @@ ether_resolvemulti(struct ifnet *ifp, st sin = (struct sockaddr_in *)sa; if (!IN_MULTICAST(ntohl(sin->sin_addr.s_addr))) return EADDRNOTAVAIL; - sdl = malloc(sizeof *sdl, M_IFMADDR, - M_NOWAIT|M_ZERO); - if (sdl == NULL) - return ENOMEM; - sdl->sdl_len = sizeof *sdl; - sdl->sdl_family = AF_LINK; - sdl->sdl_index = ifp->if_index; - sdl->sdl_type = IFT_ETHER; + sdl = link_init_sdl(ifp, *llsa, IFT_ETHER); sdl->sdl_alen = ETHER_ADDR_LEN; e_addr = LLADDR(sdl); ETHER_MAP_IP_MULTICAST(&sin->sin_addr, e_addr); @@ -1200,14 +1193,7 @@ ether_resolvemulti(struct ifnet *ifp, st } if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) return EADDRNOTAVAIL; - sdl = malloc(sizeof *sdl, M_IFMADDR, - M_NOWAIT|M_ZERO); - if (sdl == NULL) - return (ENOMEM); - sdl->sdl_len = sizeof *sdl; - sdl->sdl_family = AF_LINK; - sdl->sdl_index = ifp->if_index; - sdl->sdl_type = IFT_ETHER; + sdl = link_init_sdl(ifp, *llsa, IFT_ETHER); sdl->sdl_alen = ETHER_ADDR_LEN; e_addr = LLADDR(sdl); ETHER_MAP_IPV6_MULTICAST(&sin6->sin6_addr, e_addr); Modified: user/ae/inet6/sys/net/if_fddisubr.c ============================================================================== --- user/ae/inet6/sys/net/if_fddisubr.c Tue Feb 4 09:11:50 2014 (r261479) +++ user/ae/inet6/sys/net/if_fddisubr.c Tue Feb 4 09:30:42 2014 (r261480) @@ -729,14 +729,7 @@ fddi_resolvemulti(ifp, llsa, sa) sin = (struct sockaddr_in *)sa; if (!IN_MULTICAST(ntohl(sin->sin_addr.s_addr))) return (EADDRNOTAVAIL); - sdl = malloc(sizeof *sdl, M_IFMADDR, - M_NOWAIT | M_ZERO); - if (sdl == NULL) - return (ENOMEM); - sdl->sdl_len = sizeof *sdl; - sdl->sdl_family = AF_LINK; - sdl->sdl_index = ifp->if_index; - sdl->sdl_type = IFT_FDDI; + sdl = link_init_sdl(ifp, *llsa, IFT_FDDI); sdl->sdl_nlen = 0; sdl->sdl_alen = FDDI_ADDR_LEN; sdl->sdl_slen = 0; @@ -760,14 +753,7 @@ fddi_resolvemulti(ifp, llsa, sa) } if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) return (EADDRNOTAVAIL); - sdl = malloc(sizeof *sdl, M_IFMADDR, - M_NOWAIT | M_ZERO); - if (sdl == NULL) - return (ENOMEM); - sdl->sdl_len = sizeof *sdl; - sdl->sdl_family = AF_LINK; - sdl->sdl_index = ifp->if_index; - sdl->sdl_type = IFT_FDDI; + sdl = link_init_sdl(ifp, *llsa, IFT_FDDI); sdl->sdl_nlen = 0; sdl->sdl_alen = FDDI_ADDR_LEN; sdl->sdl_slen = 0; Modified: user/ae/inet6/sys/net/if_iso88025subr.c ============================================================================== --- user/ae/inet6/sys/net/if_iso88025subr.c Tue Feb 4 09:11:50 2014 (r261479) +++ user/ae/inet6/sys/net/if_iso88025subr.c Tue Feb 4 09:30:42 2014 (r261480) @@ -721,14 +721,7 @@ iso88025_resolvemulti (ifp, llsa, sa) if (!IN_MULTICAST(ntohl(sin->sin_addr.s_addr))) { return (EADDRNOTAVAIL); } - sdl = malloc(sizeof *sdl, M_IFMADDR, - M_NOWAIT|M_ZERO); - if (sdl == NULL) - return (ENOMEM); - sdl->sdl_len = sizeof *sdl; - sdl->sdl_family = AF_LINK; - sdl->sdl_index = ifp->if_index; - sdl->sdl_type = IFT_ISO88025; + sdl = link_init_sdl(ifp, *llsa, IFT_ISO88025); sdl->sdl_alen = ISO88025_ADDR_LEN; e_addr = LLADDR(sdl); ETHER_MAP_IP_MULTICAST(&sin->sin_addr, e_addr); @@ -751,14 +744,7 @@ iso88025_resolvemulti (ifp, llsa, sa) if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) { return (EADDRNOTAVAIL); } - sdl = malloc(sizeof *sdl, M_IFMADDR, - M_NOWAIT|M_ZERO); - if (sdl == NULL) - return (ENOMEM); - sdl->sdl_len = sizeof *sdl; - sdl->sdl_family = AF_LINK; - sdl->sdl_index = ifp->if_index; - sdl->sdl_type = IFT_ISO88025; + sdl = link_init_sdl(ifp, *llsa, IFT_ISO88025); sdl->sdl_alen = ISO88025_ADDR_LEN; e_addr = LLADDR(sdl); ETHER_MAP_IPV6_MULTICAST(&sin6->sin6_addr, e_addr); Modified: user/ae/inet6/sys/net/if_lagg.c ============================================================================== --- user/ae/inet6/sys/net/if_lagg.c Tue Feb 4 09:11:50 2014 (r261479) +++ user/ae/inet6/sys/net/if_lagg.c Tue Feb 4 09:30:42 2014 (r261480) @@ -1214,12 +1214,8 @@ lagg_ether_cmdmulti(struct lagg_port *lp LAGG_WLOCK_ASSERT(sc); - bzero((char *)&sdl, sizeof(sdl)); - sdl.sdl_len = sizeof(sdl); - sdl.sdl_family = AF_LINK; - sdl.sdl_type = IFT_ETHER; + link_init_sdl(ifp, (struct sockaddr *)&sdl, IFT_ETHER); sdl.sdl_alen = ETHER_ADDR_LEN; - sdl.sdl_index = ifp->if_index; if (set) { TAILQ_FOREACH(ifma, &scifp->if_multiaddrs, ifma_link) { Modified: user/ae/inet6/sys/netinet/ip_carp.c ============================================================================== --- user/ae/inet6/sys/netinet/ip_carp.c Tue Feb 4 09:11:50 2014 (r261479) +++ user/ae/inet6/sys/netinet/ip_carp.c Tue Feb 4 09:30:42 2014 (r261480) @@ -956,7 +956,7 @@ carp_ifa_addroute(struct ifaddr *ifa) case AF_INET6: ifa_add_loopback_route(ifa, (struct sockaddr *)&ifatoia6(ifa)->ia_addr); - in6_ifaddloop(ifa); + nd6_add_ifa_lle(ifatoia6(ifa)); break; #endif } @@ -987,7 +987,7 @@ carp_ifa_delroute(struct ifaddr *ifa) case AF_INET6: ifa_del_loopback_route(ifa, (struct sockaddr *)&ifatoia6(ifa)->ia_addr); - in6_ifremloop(ifa); + nd6_rem_ifa_lle(ifatoia6(ifa)); break; #endif } Modified: user/ae/inet6/sys/netinet/tcp_syncache.c ============================================================================== --- user/ae/inet6/sys/netinet/tcp_syncache.c Tue Feb 4 09:11:50 2014 (r261479) +++ user/ae/inet6/sys/netinet/tcp_syncache.c Tue Feb 4 09:30:42 2014 (r261480) @@ -724,6 +724,16 @@ syncache_socket(struct syncache *sc, str #endif /* + * If there's an mbuf and it has a flowid, then let's initialise the + * inp with that particular flowid. + */ + if (m != NULL && m->m_flags & M_FLOWID) { + inp->inp_flags |= INP_HW_FLOWID; + inp->inp_flags &= ~INP_SW_FLOWID; + inp->inp_flowid = m->m_pkthdr.flowid; + } + + /* * Install in the reservation hash table for now, but don't yet * install a connection group since the full 4-tuple isn't yet * configured. Modified: user/ae/inet6/sys/netinet6/in6.c ============================================================================== --- user/ae/inet6/sys/netinet6/in6.c Tue Feb 4 09:11:50 2014 (r261479) +++ user/ae/inet6/sys/netinet6/in6.c Tue Feb 4 09:30:42 2014 (r261480) @@ -133,8 +133,8 @@ const struct in6_addr in6mask128 = IN6MA const struct sockaddr_in6 sa6_any = { sizeof(sa6_any), AF_INET6, 0, 0, IN6ADDR_ANY_INIT, 0 }; -static int in6_ifinit(struct ifnet *, struct in6_ifaddr *, - struct sockaddr_in6 *, int); +static int in6_notify_ifa(struct ifnet *, struct in6_ifaddr *, + struct in6_aliasreq *, int); static void in6_unlink_ifa(struct in6_ifaddr *, struct ifnet *); int (*faithprefix_p)(struct in6_addr *); @@ -145,44 +145,26 @@ static struct in6_ifaddr *in6_alloc_ifa( struct in6_aliasreq *, int flags); static int in6_update_ifa_internal(struct ifnet *, struct in6_aliasreq *, struct in6_ifaddr *, int, int); -static int in6_setup_ifa(struct ifnet *, struct in6_aliasreq *, +static int in6_broadcast_ifa(struct ifnet *, struct in6_aliasreq *, struct in6_ifaddr *, int); #define ifa2ia6(ifa) ((struct in6_ifaddr *)(ifa)) #define ia62ifa(ia6) (&((ia6)->ia_ifa)) + void -in6_ifaddloop(struct ifaddr *ifa) +in6_newaddrmsg(struct in6_ifaddr *ia, int cmd) { struct sockaddr_dl gateway; struct sockaddr_in6 mask, addr; struct rtentry rt; - struct in6_ifaddr *ia; - struct ifnet *ifp; - struct llentry *ln; - ia = ifa2ia6(ifa); - ifp = ifa->ifa_ifp; - IF_AFDATA_LOCK(ifp); - ifa->ifa_rtrequest = nd6_rtrequest; - ln = lla_lookup(LLTABLE6(ifp), (LLE_CREATE | LLE_IFADDR | - LLE_EXCLUSIVE), (struct sockaddr *)&ia->ia_addr); - IF_AFDATA_UNLOCK(ifp); - if (ln != NULL) { - ln->la_expire = 0; /* for IPv6 this means permanent */ - ln->ln_state = ND6_LLINFO_REACHABLE; - /* - * initialize for rtmsg generation - */ - bzero(&gateway, sizeof(gateway)); - gateway.sdl_len = sizeof(gateway); - gateway.sdl_family = AF_LINK; - gateway.sdl_nlen = 0; - gateway.sdl_alen = 6; - memcpy(gateway.sdl_data, &ln->ll_addr.mac_aligned, - sizeof(ln->ll_addr)); - LLE_WUNLOCK(ln); - } + /* + * initialize for rtmsg generation + */ + bzero(&gateway, sizeof(gateway)); + gateway.sdl_len = sizeof(gateway); + gateway.sdl_family = AF_LINK; bzero(&rt, sizeof(rt)); rt.rt_gateway = (struct sockaddr *)&gateway; @@ -190,42 +172,11 @@ in6_ifaddloop(struct ifaddr *ifa) memcpy(&addr, &ia->ia_addr, sizeof(ia->ia_addr)); rt_mask(&rt) = (struct sockaddr *)&mask; rt_key(&rt) = (struct sockaddr *)&addr; - rt.rt_flags = RTF_UP | RTF_HOST | RTF_STATIC; + rt.rt_flags = RTF_HOST | RTF_STATIC; + if (cmd == RTM_ADD) + rt.rt_flags |= RTF_UP; /* Announce arrival of local address to all FIBs. */ - rt_newaddrmsg(RTM_ADD, ifa, 0, &rt); -} - -void -in6_ifremloop(struct ifaddr *ifa) -{ - struct sockaddr_dl gateway; - struct sockaddr_in6 mask, addr; - struct rtentry rt0; - struct in6_ifaddr *ia; - struct ifnet *ifp; - - ia = ifa2ia6(ifa); - ifp = ifa->ifa_ifp; - memcpy(&addr, &ia->ia_addr, sizeof(ia->ia_addr)); - memcpy(&mask, &ia->ia_prefixmask, sizeof(ia->ia_prefixmask)); - lltable_prefix_free(AF_INET6, (struct sockaddr *)&addr, - (struct sockaddr *)&mask, LLE_STATIC); - - /* - * initialize for rtmsg generation - */ - bzero(&gateway, sizeof(gateway)); - gateway.sdl_len = sizeof(gateway); - gateway.sdl_family = AF_LINK; - gateway.sdl_nlen = 0; - gateway.sdl_alen = ifp->if_addrlen; - bzero(&rt0, sizeof(rt0)); - rt0.rt_gateway = (struct sockaddr *)&gateway; - rt_mask(&rt0) = (struct sockaddr *)&mask; - rt_key(&rt0) = (struct sockaddr *)&addr; - rt0.rt_flags = RTF_HOST | RTF_STATIC; - /* Announce removal of local address to all FIBs. */ - rt_newaddrmsg(RTM_DELETE, ifa, 0, &rt0); + rt_newaddrmsg(cmd, &ia->ia_ifa, 0, &rt); } int @@ -962,13 +913,13 @@ in6_update_ifa(struct ifnet *ifp, struct } if (hostIsNew) - error = in6_setup_ifa(ifp, ifra, ia, flags); + error = in6_broadcast_ifa(ifp, ifra, ia, flags); return (error); } /* - * Fill in basic IPv6 address request info + * Fill in basic IPv6 address request info. */ void in6_prepare_ifra(struct in6_aliasreq *ifra, const struct in6_addr *addr, @@ -992,9 +943,9 @@ static int in6_validate_ifra(struct ifnet *ifp, struct in6_aliasreq *ifra, struct in6_ifaddr *ia, int flags) { - int plen = -1; struct sockaddr_in6 dst6; struct in6_addrlifetime *lt; + int plen; char ip6buf[INET6_ADDRSTRLEN]; /* Validate parameters */ @@ -1009,6 +960,19 @@ in6_validate_ifra(struct ifnet *ifp, str ifra->ifra_dstaddr.sin6_family != AF_INET6 && ifra->ifra_dstaddr.sin6_family != AF_UNSPEC) return (EAFNOSUPPORT); + + /* + * Validate address + */ + if (ifra->ifra_addr.sin6_len != sizeof(struct sockaddr_in6) || + ifra->ifra_addr.sin6_family != AF_INET6) + return (EINVAL); + /* + * Check and automatically fill scope zone index. + */ + plen = sa6_checkzone_ifp(ifp, &ifra->ifra_addr); + if (plen != 0) + return (plen); /* * validate ifra_prefixmask. don't check sin6_family, netmask * does not carry fields other than sin6_len. @@ -1126,12 +1090,11 @@ in6_alloc_ifa(struct ifnet *ifp, struct LIST_INIT(&ia->ia6_memberships); /* Initialize the address and masks, and put time stamp */ ia->ia_ifa.ifa_addr = (struct sockaddr *)&ia->ia_addr; - ia->ia_addr.sin6_family = AF_INET6; - ia->ia_addr.sin6_len = sizeof(ia->ia_addr); + ia->ia_addr = ifra->ifra_addr; ia->ia6_createtime = time_uptime; if ((ifp->if_flags & (IFF_POINTOPOINT | IFF_LOOPBACK)) != 0) { /* - * XXX: some functions expect that ifa_dstaddr is not + * Some functions expect that ifa_dstaddr is not * NULL for p2p interfaces. */ ia->ia_ifa.ifa_dstaddr = @@ -1139,7 +1102,15 @@ in6_alloc_ifa(struct ifnet *ifp, struct } else { ia->ia_ifa.ifa_dstaddr = NULL; } + + /* set prefix mask if any */ ia->ia_ifa.ifa_netmask = (struct sockaddr *)&ia->ia_prefixmask; + if (ifra->ifra_prefixmask.sin6_len != 0) { + ia->ia_prefixmask.sin6_family = AF_INET6; + ia->ia_prefixmask.sin6_len = ifra->ifra_prefixmask.sin6_len; + ia->ia_prefixmask.sin6_addr = ifra->ifra_prefixmask.sin6_addr; + } + ia->ia_ifp = ifp; ifa_ref(&ia->ia_ifa); /* if_addrhead */ IF_ADDR_WLOCK(ifp); @@ -1149,30 +1120,28 @@ in6_alloc_ifa(struct ifnet *ifp, struct ifa_ref(&ia->ia_ifa); /* in6_ifaddrhead */ IN6_IFADDR_WLOCK(); TAILQ_INSERT_TAIL(&V_in6_ifaddrhead, ia, ia_link); - LIST_INSERT_HEAD(IN6ADDR_HASH(&ifra->ifra_addr.sin6_addr), - ia, ia6_hash); + LIST_INSERT_HEAD(IN6ADDR_HASH(&ia->ia_addr.sin6_addr), ia, ia6_hash); IN6_IFADDR_WUNLOCK(); return (ia); } +/* + * Update/configure interface address parameters: + * + * 1) Update lifetime + * 2) Update interface metric ad flags + * 3) Notify other subsystems + */ static int in6_update_ifa_internal(struct ifnet *ifp, struct in6_aliasreq *ifra, struct in6_ifaddr *ia, int hostIsNew, int flags) { - struct sockaddr_in6 *pdst; int error; - char ip6buf[INET6_ADDRSTRLEN]; /* update timestamp */ ia->ia6_updatetime = time_uptime; - /* set prefix mask */ - if (ifra->ifra_prefixmask.sin6_len != 0) { - ia->ia_prefixmask = ifra->ifra_prefixmask; - ia->ia_prefixmask.sin6_family = AF_INET6; - } - /* * Set lifetimes. We do not refer to ia6t_expire and ia6t_preferred * to see if the address is deprecated or invalidated, but initialize @@ -1199,6 +1168,9 @@ in6_update_ifa_internal(struct ifnet *if ia->ia6_lifetime.ia6t_preferred = time_uptime; } + /* Update metric */ + ia->ia_ifa.ifa_metric = ifp->if_metric; + /* * configure address flags. */ @@ -1217,53 +1189,40 @@ in6_update_ifa_internal(struct ifnet *if if (ND_IFINFO(ifp)->flags & ND6_IFF_IFDISABLED) ia->ia6_flags |= IN6_IFF_TENTATIVE; - /* - * If a new destination address is specified, scrub the old one and - * install the new destination. Note that the interface must be - * p2p or loopback (see the check above.) - */ - pdst = &ifra->ifra_dstaddr; - if (pdst->sin6_family == AF_INET6 && - !IN6_ARE_ADDR_EQUAL(&pdst->sin6_addr, &ia->ia_dstaddr.sin6_addr)) { - if ((ia->ia_flags & IFA_ROUTE) != 0 && - (rtinit(&(ia->ia_ifa), (int)RTM_DELETE, RTF_HOST) != 0)) { - nd6log((LOG_ERR, "in6_update_ifa_internal: failed to " - "remove a route to the old destination: %s\n", - ip6_sprintf(ip6buf, &ia->ia_addr.sin6_addr))); - /* proceed anyway... */ - } else - ia->ia_flags &= ~IFA_ROUTE; - ia->ia_dstaddr = *pdst; - } - - /* reset the interface and routing table appropriately. */ - if ((error = in6_ifinit(ifp, ia, &ifra->ifra_addr, hostIsNew)) != 0) { - /* - * XXX: if a change of an existing address failed, keep the entry - * anyway. - */ - } + /* notify other subsystems */ + error = in6_notify_ifa(ifp, ia, ifra, hostIsNew); return (error); } +/* + * Do link-level ifa job: + * 1) Add lle entry for added address + * 2) Notifies routing socket users about new address + * 3) join appropriate multicast group + * 4) start DAD if enabled + */ static int -in6_setup_ifa(struct ifnet *ifp, struct in6_aliasreq *ifra, +in6_broadcast_ifa(struct ifnet *ifp, struct in6_aliasreq *ifra, struct in6_ifaddr *ia, int flags) { struct in6_multi *in6m_sol; int error = 0; /* Add local address to lltable, if necessary (ex. on p2p link). */ - in6_ifaddloop(&(ia->ia_ifa)); + if ((error = nd6_add_ifa_lle(ia)) != 0) { + in6_purgeaddr(&ia->ia_ifa); + ifa_free(&ia->ia_ifa); + return (error); + } /* Join necessary multicast groups. */ in6m_sol = NULL; if ((ifp->if_flags & IFF_MULTICAST) != 0) { error = in6_update_ifa_join_mc(ifp, ifra, ia, flags, &in6m_sol); if (error != 0) { - ifa_free(&ia->ia_ifa); in6_purgeaddr(&ia->ia_ifa); + ifa_free(&ia->ia_ifa); return (error); } } @@ -1370,7 +1329,7 @@ in6_purgeaddr(struct ifaddr *ifa) nd6_dad_stop(ifa); /* Remove local address entry from lltable. */ - in6_ifremloop(ifa); + nd6_rem_ifa_lle(ia); /* Leave multicast groups. */ error = in6_purgeaddr_mc(ifp, ia, ifa0); @@ -1435,46 +1394,60 @@ in6_unlink_ifa(struct in6_ifaddr *ia, st } /* - * Initialize an interface's IPv6 address and routing table entry. + * Notifies other other subsystems about address change/arrival: + * 1) Notifies device handler on first IPv6 address assignment + * 2) Handle routing table changes for P2P links and route + * 3) Handle routing table changes for address host route */ static int -in6_ifinit(struct ifnet *ifp, struct in6_ifaddr *ia, - struct sockaddr_in6 *sin6, int newhost) +in6_notify_ifa(struct ifnet *ifp, struct in6_ifaddr *ia, + struct in6_aliasreq *ifra, int hostIsNew) { int error = 0, plen, ifacount = 0; struct ifaddr *ifa; + struct sockaddr_in6 *pdst; + char ip6buf[INET6_ADDRSTRLEN]; /* * Give the interface a chance to initialize * if this is its first address, - * and to validate the address if necessary. */ - IF_ADDR_RLOCK(ifp); - TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { - if (ifa->ifa_addr->sa_family != AF_INET6) - continue; - ifacount++; + if (hostIsNew != 0) { + IF_ADDR_RLOCK(ifp); + TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { + if (ifa->ifa_addr->sa_family != AF_INET6) + continue; + ifacount++; + } + IF_ADDR_RUNLOCK(ifp); } - IF_ADDR_RUNLOCK(ifp); - ia->ia_addr = *sin6; - /* - * Initialize sin6_scope_id using specified ifnet. - */ - ia->ia_addr.sin6_scope_id = in6_getscopezone(ifp, - in6_addrscope(&sin6->sin6_addr)); if (ifacount <= 1 && ifp->if_ioctl) { error = (*ifp->if_ioctl)(ifp, SIOCSIFADDR, (caddr_t)ia); if (error) return (error); } - ia->ia_ifa.ifa_metric = ifp->if_metric; - - /* we could do in(6)_socktrim here, but just omit it at this moment. */ + /* + * If a new destination address is specified, scrub the old one and + * install the new destination. Note that the interface must be + * p2p or loopback. + */ + pdst = &ifra->ifra_dstaddr; + if (pdst->sin6_family == AF_INET6 && + !IN6_ARE_ADDR_EQUAL(&pdst->sin6_addr, &ia->ia_dstaddr.sin6_addr)) { + if ((ia->ia_flags & IFA_ROUTE) != 0 && + (rtinit(&(ia->ia_ifa), (int)RTM_DELETE, RTF_HOST) != 0)) { + nd6log((LOG_ERR, "in6_update_ifa_internal: failed to " *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Tue Feb 4 09:47:24 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4706D683; Tue, 4 Feb 2014 09:47:24 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 2C75C17CA; Tue, 4 Feb 2014 09:47:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s149lOT6083585; Tue, 4 Feb 2014 09:47:24 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s149lHwY083546; Tue, 4 Feb 2014 09:47:17 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201402040947.s149lHwY083546@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Tue, 4 Feb 2014 09:47:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261481 - in user/ae/inet6: . bin/pax bin/sh bin/sh/tests/builtins bin/sh/tests/parser cddl/contrib/opensolaris/lib/libdtrace/common cddl/contrib/opensolaris/tools/ctf/cvt contrib/binut... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Feb 2014 09:47:24 -0000 Author: ae Date: Tue Feb 4 09:47:14 2014 New Revision: 261481 URL: http://svnweb.freebsd.org/changeset/base/261481 Log: Merge from head/ up to r261480. Added: user/ae/inet6/bin/sh/tests/parser/alias11.0 - copied unchanged from r261480, head/bin/sh/tests/parser/alias11.0 user/ae/inet6/bin/sh/tests/parser/alias12.0 - copied unchanged from r261480, head/bin/sh/tests/parser/alias12.0 user/ae/inet6/bin/sh/tests/parser/alias13.0 - copied unchanged from r261480, head/bin/sh/tests/parser/alias13.0 user/ae/inet6/bin/sh/tests/parser/alias14.0 - copied unchanged from r261480, head/bin/sh/tests/parser/alias14.0 user/ae/inet6/bin/sh/tests/parser/alias15.0 - copied unchanged from r261480, head/bin/sh/tests/parser/alias15.0 user/ae/inet6/bin/sh/tests/parser/alias15.0.stdout - copied unchanged from r261480, head/bin/sh/tests/parser/alias15.0.stdout user/ae/inet6/contrib/elftoolchain/ - copied from r261480, head/contrib/elftoolchain/ user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h - copied unchanged from r261480, head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h - copied unchanged from r261480, head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/public_namespace.h - copied unchanged from r261480, head/contrib/jemalloc/include/jemalloc/internal/public_namespace.h user/ae/inet6/contrib/libc++/include/experimental/ - copied from r261480, head/contrib/libc++/include/experimental/ user/ae/inet6/contrib/libc++/include/shared_mutex - copied unchanged from r261480, head/contrib/libc++/include/shared_mutex user/ae/inet6/contrib/libc++/src/optional.cpp - copied unchanged from r261480, head/contrib/libc++/src/optional.cpp user/ae/inet6/contrib/libc++/src/shared_mutex.cpp - copied unchanged from r261480, head/contrib/libc++/src/shared_mutex.cpp user/ae/inet6/contrib/mdocml/NEWS - copied unchanged from r261480, head/contrib/mdocml/NEWS user/ae/inet6/contrib/mdocml/TODO - copied unchanged from r261480, head/contrib/mdocml/TODO user/ae/inet6/contrib/sendmail/libsm/inet6_ntop.c - copied unchanged from r261480, head/contrib/sendmail/libsm/inet6_ntop.c user/ae/inet6/contrib/sendmail/libsm/t-inet6_ntop.c - copied unchanged from r261480, head/contrib/sendmail/libsm/t-inet6_ntop.c user/ae/inet6/crypto/openssh/PROTOCOL.chacha20poly1305 - copied unchanged from r261480, head/crypto/openssh/PROTOCOL.chacha20poly1305 user/ae/inet6/crypto/openssh/PROTOCOL.key - copied unchanged from r261480, head/crypto/openssh/PROTOCOL.key user/ae/inet6/crypto/openssh/blocks.c - copied unchanged from r261480, head/crypto/openssh/blocks.c user/ae/inet6/crypto/openssh/chacha.c - copied unchanged from r261480, head/crypto/openssh/chacha.c user/ae/inet6/crypto/openssh/chacha.h - copied unchanged from r261480, head/crypto/openssh/chacha.h user/ae/inet6/crypto/openssh/cipher-chachapoly.c - copied unchanged from r261480, head/crypto/openssh/cipher-chachapoly.c user/ae/inet6/crypto/openssh/cipher-chachapoly.h - copied unchanged from r261480, head/crypto/openssh/cipher-chachapoly.h user/ae/inet6/crypto/openssh/crypto_api.h - copied unchanged from r261480, head/crypto/openssh/crypto_api.h user/ae/inet6/crypto/openssh/digest.c - copied unchanged from r261480, head/crypto/openssh/digest.c user/ae/inet6/crypto/openssh/digest.h - copied unchanged from r261480, head/crypto/openssh/digest.h user/ae/inet6/crypto/openssh/ed25519.c - copied unchanged from r261480, head/crypto/openssh/ed25519.c user/ae/inet6/crypto/openssh/fe25519.c - copied unchanged from r261480, head/crypto/openssh/fe25519.c user/ae/inet6/crypto/openssh/fe25519.h - copied unchanged from r261480, head/crypto/openssh/fe25519.h user/ae/inet6/crypto/openssh/ge25519.c - copied unchanged from r261480, head/crypto/openssh/ge25519.c user/ae/inet6/crypto/openssh/ge25519.h - copied unchanged from r261480, head/crypto/openssh/ge25519.h user/ae/inet6/crypto/openssh/ge25519_base.data - copied unchanged from r261480, head/crypto/openssh/ge25519_base.data user/ae/inet6/crypto/openssh/hash.c - copied unchanged from r261480, head/crypto/openssh/hash.c user/ae/inet6/crypto/openssh/kexc25519.c - copied unchanged from r261480, head/crypto/openssh/kexc25519.c user/ae/inet6/crypto/openssh/kexc25519c.c - copied unchanged from r261480, head/crypto/openssh/kexc25519c.c user/ae/inet6/crypto/openssh/kexc25519s.c - copied unchanged from r261480, head/crypto/openssh/kexc25519s.c user/ae/inet6/crypto/openssh/openbsd-compat/arc4random.c - copied unchanged from r261480, head/crypto/openssh/openbsd-compat/arc4random.c user/ae/inet6/crypto/openssh/openbsd-compat/bcrypt_pbkdf.c - copied unchanged from r261480, head/crypto/openssh/openbsd-compat/bcrypt_pbkdf.c user/ae/inet6/crypto/openssh/openbsd-compat/blf.h - copied unchanged from r261480, head/crypto/openssh/openbsd-compat/blf.h user/ae/inet6/crypto/openssh/openbsd-compat/blowfish.c - copied unchanged from r261480, head/crypto/openssh/openbsd-compat/blowfish.c user/ae/inet6/crypto/openssh/openbsd-compat/chacha_private.h - copied unchanged from r261480, head/crypto/openssh/openbsd-compat/chacha_private.h user/ae/inet6/crypto/openssh/poly1305.c - copied unchanged from r261480, head/crypto/openssh/poly1305.c user/ae/inet6/crypto/openssh/poly1305.h - copied unchanged from r261480, head/crypto/openssh/poly1305.h user/ae/inet6/crypto/openssh/regress/setuid-allowed.c - copied unchanged from r261480, head/crypto/openssh/regress/setuid-allowed.c user/ae/inet6/crypto/openssh/regress/sftp-perm.sh - copied unchanged from r261480, head/crypto/openssh/regress/sftp-perm.sh user/ae/inet6/crypto/openssh/sandbox-capsicum.c - copied unchanged from r261480, head/crypto/openssh/sandbox-capsicum.c user/ae/inet6/crypto/openssh/sc25519.c - copied unchanged from r261480, head/crypto/openssh/sc25519.c user/ae/inet6/crypto/openssh/sc25519.h - copied unchanged from r261480, head/crypto/openssh/sc25519.h user/ae/inet6/crypto/openssh/smult_curve25519_ref.c - copied unchanged from r261480, head/crypto/openssh/smult_curve25519_ref.c user/ae/inet6/crypto/openssh/ssh-ed25519.c - copied unchanged from r261480, head/crypto/openssh/ssh-ed25519.c user/ae/inet6/crypto/openssh/verify.c - copied unchanged from r261480, head/crypto/openssh/verify.c user/ae/inet6/sys/amd64/conf/VT - copied unchanged from r261480, head/sys/amd64/conf/VT user/ae/inet6/sys/arm/at91/at91_smc.c - copied unchanged from r261480, head/sys/arm/at91/at91_smc.c user/ae/inet6/sys/arm/at91/at91_smc.h - copied unchanged from r261480, head/sys/arm/at91/at91_smc.h user/ae/inet6/sys/arm/conf/COLIBRI-VF50 - copied unchanged from r261480, head/sys/arm/conf/COLIBRI-VF50 user/ae/inet6/sys/arm/conf/VYBRID.common - copied unchanged from r261480, head/sys/arm/conf/VYBRID.common user/ae/inet6/sys/arm/freescale/vybrid/vf_dcu4.c - copied unchanged from r261480, head/sys/arm/freescale/vybrid/vf_dcu4.c user/ae/inet6/sys/arm/freescale/vybrid/vf_tcon.c - copied unchanged from r261480, head/sys/arm/freescale/vybrid/vf_tcon.c user/ae/inet6/sys/boot/fdt/dts/vybrid-colibri-vf50.dts - copied unchanged from r261480, head/sys/boot/fdt/dts/vybrid-colibri-vf50.dts user/ae/inet6/sys/dev/hwpmc/hwpmc_ppc970.c - copied unchanged from r261480, head/sys/dev/hwpmc/hwpmc_ppc970.c user/ae/inet6/sys/dev/iicbus/adt746x.c - copied unchanged from r261480, head/sys/dev/iicbus/adt746x.c user/ae/inet6/sys/dev/nand/nfc_at91.h - copied unchanged from r261480, head/sys/dev/nand/nfc_at91.h user/ae/inet6/sys/dev/usb/input/wsp.c - copied unchanged from r261480, head/sys/dev/usb/input/wsp.c user/ae/inet6/sys/i386/conf/VT - copied unchanged from r261480, head/sys/i386/conf/VT user/ae/inet6/sys/mips/beri/beri_simplebus.c - copied unchanged from r261480, head/sys/mips/beri/beri_simplebus.c - copied unchanged from r261480, head/sys/mips/beri/fdt_ic_if.m user/ae/inet6/sys/modules/usb/wsp/ - copied from r261480, head/sys/modules/usb/wsp/ user/ae/inet6/sys/x86/include/apicvar.h - copied unchanged from r261480, head/sys/x86/include/apicvar.h user/ae/inet6/tests/sys/ - copied from r261480, head/tests/sys/ user/ae/inet6/tools/build/options/WITHOUT_FMTREE - copied unchanged from r261480, head/tools/build/options/WITHOUT_FMTREE user/ae/inet6/tools/build/options/WITHOUT_NCURSESW - copied unchanged from r261480, head/tools/build/options/WITHOUT_NCURSESW user/ae/inet6/usr.sbin/bhyve/ioapic.c - copied unchanged from r261480, head/usr.sbin/bhyve/ioapic.c user/ae/inet6/usr.sbin/bhyve/ioapic.h - copied unchanged from r261480, head/usr.sbin/bhyve/ioapic.h user/ae/inet6/usr.sbin/nmtree/mtree.5 - copied unchanged from r261480, head/usr.sbin/nmtree/mtree.5 Directory Properties: user/ae/inet6/sys/mips/beri/fdt_ic_if.m (props changed) Deleted: user/ae/inet6/contrib/jemalloc/include/jemalloc/jemalloc_defs.h user/ae/inet6/crypto/openssh/openbsd-compat/bsd-arc4random.c user/ae/inet6/lib/libdwarf/_libdwarf.h user/ae/inet6/lib/libdwarf/dwarf.h user/ae/inet6/lib/libdwarf/dwarf_abbrev.c user/ae/inet6/lib/libdwarf/dwarf_attr.c user/ae/inet6/lib/libdwarf/dwarf_attrval.c user/ae/inet6/lib/libdwarf/dwarf_cu.c user/ae/inet6/lib/libdwarf/dwarf_dealloc.c user/ae/inet6/lib/libdwarf/dwarf_die.c user/ae/inet6/lib/libdwarf/dwarf_dump.c user/ae/inet6/lib/libdwarf/dwarf_errmsg.c user/ae/inet6/lib/libdwarf/dwarf_errno.c user/ae/inet6/lib/libdwarf/dwarf_finish.c user/ae/inet6/lib/libdwarf/dwarf_form.c user/ae/inet6/lib/libdwarf/dwarf_func.c user/ae/inet6/lib/libdwarf/dwarf_init.c user/ae/inet6/lib/libdwarf/dwarf_loc.c user/ae/inet6/lib/libdwarf/libdwarf.h user/ae/inet6/lib/libelf/README user/ae/inet6/lib/libelf/Version.map user/ae/inet6/lib/libelf/_libelf.h user/ae/inet6/lib/libelf/elf.3 user/ae/inet6/lib/libelf/elf_begin.3 user/ae/inet6/lib/libelf/elf_begin.c user/ae/inet6/lib/libelf/elf_cntl.3 user/ae/inet6/lib/libelf/elf_cntl.c user/ae/inet6/lib/libelf/elf_data.c user/ae/inet6/lib/libelf/elf_end.3 user/ae/inet6/lib/libelf/elf_end.c user/ae/inet6/lib/libelf/elf_errmsg.3 user/ae/inet6/lib/libelf/elf_errmsg.c user/ae/inet6/lib/libelf/elf_errno.c user/ae/inet6/lib/libelf/elf_fill.3 user/ae/inet6/lib/libelf/elf_fill.c user/ae/inet6/lib/libelf/elf_flag.c user/ae/inet6/lib/libelf/elf_flagdata.3 user/ae/inet6/lib/libelf/elf_getarhdr.3 user/ae/inet6/lib/libelf/elf_getarhdr.c user/ae/inet6/lib/libelf/elf_getarsym.3 user/ae/inet6/lib/libelf/elf_getarsym.c user/ae/inet6/lib/libelf/elf_getbase.3 user/ae/inet6/lib/libelf/elf_getbase.c user/ae/inet6/lib/libelf/elf_getdata.3 user/ae/inet6/lib/libelf/elf_getident.3 user/ae/inet6/lib/libelf/elf_getident.c user/ae/inet6/lib/libelf/elf_getphdrnum.3 user/ae/inet6/lib/libelf/elf_getphnum.3 user/ae/inet6/lib/libelf/elf_getscn.3 user/ae/inet6/lib/libelf/elf_getshdrnum.3 user/ae/inet6/lib/libelf/elf_getshdrstrndx.3 user/ae/inet6/lib/libelf/elf_getshnum.3 user/ae/inet6/lib/libelf/elf_getshstrndx.3 user/ae/inet6/lib/libelf/elf_hash.3 user/ae/inet6/lib/libelf/elf_hash.c user/ae/inet6/lib/libelf/elf_kind.3 user/ae/inet6/lib/libelf/elf_kind.c user/ae/inet6/lib/libelf/elf_memory.3 user/ae/inet6/lib/libelf/elf_memory.c user/ae/inet6/lib/libelf/elf_next.3 user/ae/inet6/lib/libelf/elf_next.c user/ae/inet6/lib/libelf/elf_phnum.c user/ae/inet6/lib/libelf/elf_rand.3 user/ae/inet6/lib/libelf/elf_rand.c user/ae/inet6/lib/libelf/elf_rawfile.3 user/ae/inet6/lib/libelf/elf_rawfile.c user/ae/inet6/lib/libelf/elf_scn.c user/ae/inet6/lib/libelf/elf_shnum.c user/ae/inet6/lib/libelf/elf_shstrndx.c user/ae/inet6/lib/libelf/elf_strptr.3 user/ae/inet6/lib/libelf/elf_strptr.c user/ae/inet6/lib/libelf/elf_types.m4 user/ae/inet6/lib/libelf/elf_update.3 user/ae/inet6/lib/libelf/elf_update.c user/ae/inet6/lib/libelf/elf_version.3 user/ae/inet6/lib/libelf/elf_version.c user/ae/inet6/lib/libelf/gelf.3 user/ae/inet6/lib/libelf/gelf.h user/ae/inet6/lib/libelf/gelf_cap.c user/ae/inet6/lib/libelf/gelf_checksum.3 user/ae/inet6/lib/libelf/gelf_checksum.c user/ae/inet6/lib/libelf/gelf_dyn.c user/ae/inet6/lib/libelf/gelf_ehdr.c user/ae/inet6/lib/libelf/gelf_fsize.3 user/ae/inet6/lib/libelf/gelf_fsize.c user/ae/inet6/lib/libelf/gelf_getcap.3 user/ae/inet6/lib/libelf/gelf_getclass.3 user/ae/inet6/lib/libelf/gelf_getclass.c user/ae/inet6/lib/libelf/gelf_getdyn.3 user/ae/inet6/lib/libelf/gelf_getehdr.3 user/ae/inet6/lib/libelf/gelf_getmove.3 user/ae/inet6/lib/libelf/gelf_getphdr.3 user/ae/inet6/lib/libelf/gelf_getrel.3 user/ae/inet6/lib/libelf/gelf_getrela.3 user/ae/inet6/lib/libelf/gelf_getshdr.3 user/ae/inet6/lib/libelf/gelf_getsym.3 user/ae/inet6/lib/libelf/gelf_getsyminfo.3 user/ae/inet6/lib/libelf/gelf_getsymshndx.3 user/ae/inet6/lib/libelf/gelf_move.c user/ae/inet6/lib/libelf/gelf_newehdr.3 user/ae/inet6/lib/libelf/gelf_newphdr.3 user/ae/inet6/lib/libelf/gelf_phdr.c user/ae/inet6/lib/libelf/gelf_rel.c user/ae/inet6/lib/libelf/gelf_rela.c user/ae/inet6/lib/libelf/gelf_shdr.c user/ae/inet6/lib/libelf/gelf_sym.c user/ae/inet6/lib/libelf/gelf_syminfo.c user/ae/inet6/lib/libelf/gelf_symshndx.c user/ae/inet6/lib/libelf/gelf_update_ehdr.3 user/ae/inet6/lib/libelf/gelf_xlate.c user/ae/inet6/lib/libelf/gelf_xlatetof.3 user/ae/inet6/lib/libelf/libelf.c user/ae/inet6/lib/libelf/libelf.h user/ae/inet6/lib/libelf/libelf_align.c user/ae/inet6/lib/libelf/libelf_allocate.c user/ae/inet6/lib/libelf/libelf_ar.c user/ae/inet6/lib/libelf/libelf_ar_util.c user/ae/inet6/lib/libelf/libelf_checksum.c user/ae/inet6/lib/libelf/libelf_convert.m4 user/ae/inet6/lib/libelf/libelf_data.c user/ae/inet6/lib/libelf/libelf_ehdr.c user/ae/inet6/lib/libelf/libelf_extended.c user/ae/inet6/lib/libelf/libelf_fsize.m4 user/ae/inet6/lib/libelf/libelf_msize.m4 user/ae/inet6/lib/libelf/libelf_phdr.c user/ae/inet6/lib/libelf/libelf_shdr.c user/ae/inet6/lib/libelf/libelf_xlate.c user/ae/inet6/sys/amd64/include/apicvar.h user/ae/inet6/sys/dev/fdt/fdt_ic_if.m user/ae/inet6/sys/i386/include/apicvar.h user/ae/inet6/sys/pc98/include/apicvar.h user/ae/inet6/tools/build/options/WITHOUT_ATF user/ae/inet6/tools/build/options/WITHOUT_NMTREE user/ae/inet6/tools/regression/sockets/unix_seqpacket/ user/ae/inet6/tools/regression/sockets/unix_seqpacket_exercise/ user/ae/inet6/usr.sbin/bhyve/legacy_irq.c user/ae/inet6/usr.sbin/bhyve/legacy_irq.h user/ae/inet6/usr.sbin/mtree/mtree.5 Modified: user/ae/inet6/Makefile.inc1 user/ae/inet6/ObsoleteFiles.inc user/ae/inet6/UPDATING user/ae/inet6/bin/pax/options.c user/ae/inet6/bin/sh/alias.c user/ae/inet6/bin/sh/input.c user/ae/inet6/bin/sh/parser.c user/ae/inet6/bin/sh/parser.h user/ae/inet6/bin/sh/sh.1 user/ae/inet6/bin/sh/tests/builtins/command3.0.stdout user/ae/inet6/bin/sh/tests/builtins/command5.0.stdout user/ae/inet6/bin/sh/tests/builtins/command6.0.stdout user/ae/inet6/bin/sh/tests/parser/Makefile user/ae/inet6/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c user/ae/inet6/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c user/ae/inet6/contrib/binutils/gas/config/tc-i386.c user/ae/inet6/contrib/binutils/gas/config/tc-ppc.c user/ae/inet6/contrib/binutils/opcodes/i386-dis.c user/ae/inet6/contrib/binutils/opcodes/i386-opc.h user/ae/inet6/contrib/binutils/opcodes/i386-tbl.h user/ae/inet6/contrib/bmake/ChangeLog user/ae/inet6/contrib/bmake/Makefile user/ae/inet6/contrib/bmake/Makefile.config.in user/ae/inet6/contrib/bmake/bmake.1 user/ae/inet6/contrib/bmake/bmake.cat1 user/ae/inet6/contrib/bmake/boot-strap user/ae/inet6/contrib/bmake/compat.c user/ae/inet6/contrib/bmake/configure user/ae/inet6/contrib/bmake/configure.in user/ae/inet6/contrib/bmake/hash.c user/ae/inet6/contrib/bmake/lst.lib/lstMember.c user/ae/inet6/contrib/bmake/main.c user/ae/inet6/contrib/bmake/make-bootstrap.sh.in user/ae/inet6/contrib/bmake/make.1 user/ae/inet6/contrib/bmake/make.h user/ae/inet6/contrib/bmake/meta.c user/ae/inet6/contrib/bmake/mk/ChangeLog user/ae/inet6/contrib/bmake/mk/dirdeps.mk user/ae/inet6/contrib/bmake/mk/install-mk user/ae/inet6/contrib/bmake/mk/meta2deps.py user/ae/inet6/contrib/bmake/parse.c user/ae/inet6/contrib/bmake/util.c user/ae/inet6/contrib/bsnmp/lib/asn1.c user/ae/inet6/contrib/dtc/Documentation/manual.txt user/ae/inet6/contrib/dtc/Makefile user/ae/inet6/contrib/dtc/checks.c user/ae/inet6/contrib/dtc/data.c user/ae/inet6/contrib/dtc/dtc-lexer.l user/ae/inet6/contrib/dtc/dtc-parser.y user/ae/inet6/contrib/dtc/dtc.c user/ae/inet6/contrib/dtc/dtc.h user/ae/inet6/contrib/dtc/fdtdump.c user/ae/inet6/contrib/dtc/fdtget.c user/ae/inet6/contrib/dtc/fdtput.c user/ae/inet6/contrib/dtc/flattree.c user/ae/inet6/contrib/dtc/libfdt/Makefile.libfdt user/ae/inet6/contrib/dtc/libfdt/fdt.c user/ae/inet6/contrib/dtc/libfdt/fdt.h user/ae/inet6/contrib/dtc/libfdt/fdt_ro.c user/ae/inet6/contrib/dtc/libfdt/fdt_rw.c user/ae/inet6/contrib/dtc/libfdt/fdt_sw.c user/ae/inet6/contrib/dtc/libfdt/fdt_wip.c user/ae/inet6/contrib/dtc/libfdt/libfdt.h user/ae/inet6/contrib/dtc/libfdt/libfdt_env.h user/ae/inet6/contrib/dtc/libfdt/version.lds user/ae/inet6/contrib/dtc/livetree.c user/ae/inet6/contrib/dtc/srcpos.c user/ae/inet6/contrib/dtc/srcpos.h user/ae/inet6/contrib/dtc/treesource.c user/ae/inet6/contrib/dtc/util.c user/ae/inet6/contrib/dtc/util.h user/ae/inet6/contrib/gcc/c.opt user/ae/inet6/contrib/gcc/cp/decl.c user/ae/inet6/contrib/gcc/doc/invoke.texi user/ae/inet6/contrib/groff/tmac/doc-common user/ae/inet6/contrib/groff/tmac/doc-syms user/ae/inet6/contrib/groff/tmac/doc.tmac user/ae/inet6/contrib/groff/tmac/groff_mdoc.man user/ae/inet6/contrib/jemalloc/COPYING user/ae/inet6/contrib/jemalloc/ChangeLog user/ae/inet6/contrib/jemalloc/FREEBSD-Xlist user/ae/inet6/contrib/jemalloc/FREEBSD-diffs user/ae/inet6/contrib/jemalloc/FREEBSD-upgrade user/ae/inet6/contrib/jemalloc/VERSION user/ae/inet6/contrib/jemalloc/doc/jemalloc.3 user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/arena.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/chunk_dss.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/ckh.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/hash.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/huge.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/private_namespace.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/prng.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/prof.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/ql.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/qr.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/rb.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/rtree.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/tcache.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/tsd.h user/ae/inet6/contrib/jemalloc/include/jemalloc/internal/util.h user/ae/inet6/contrib/jemalloc/include/jemalloc/jemalloc.h user/ae/inet6/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h user/ae/inet6/contrib/jemalloc/src/arena.c user/ae/inet6/contrib/jemalloc/src/bitmap.c user/ae/inet6/contrib/jemalloc/src/chunk.c user/ae/inet6/contrib/jemalloc/src/chunk_dss.c user/ae/inet6/contrib/jemalloc/src/chunk_mmap.c user/ae/inet6/contrib/jemalloc/src/ckh.c user/ae/inet6/contrib/jemalloc/src/ctl.c user/ae/inet6/contrib/jemalloc/src/huge.c user/ae/inet6/contrib/jemalloc/src/jemalloc.c user/ae/inet6/contrib/jemalloc/src/mutex.c user/ae/inet6/contrib/jemalloc/src/prof.c user/ae/inet6/contrib/jemalloc/src/quarantine.c user/ae/inet6/contrib/jemalloc/src/rtree.c user/ae/inet6/contrib/jemalloc/src/stats.c user/ae/inet6/contrib/jemalloc/src/tcache.c user/ae/inet6/contrib/jemalloc/src/tsd.c user/ae/inet6/contrib/jemalloc/src/util.c user/ae/inet6/contrib/libc++/CREDITS.TXT user/ae/inet6/contrib/libc++/include/__bit_reference user/ae/inet6/contrib/libc++/include/__config user/ae/inet6/contrib/libc++/include/__debug user/ae/inet6/contrib/libc++/include/__functional_03 user/ae/inet6/contrib/libc++/include/__functional_base user/ae/inet6/contrib/libc++/include/__functional_base_03 user/ae/inet6/contrib/libc++/include/__hash_table user/ae/inet6/contrib/libc++/include/__locale user/ae/inet6/contrib/libc++/include/__mutex_base user/ae/inet6/contrib/libc++/include/__split_buffer user/ae/inet6/contrib/libc++/include/__std_stream user/ae/inet6/contrib/libc++/include/__tree user/ae/inet6/contrib/libc++/include/__tuple user/ae/inet6/contrib/libc++/include/__tuple_03 user/ae/inet6/contrib/libc++/include/__undef_min_max user/ae/inet6/contrib/libc++/include/algorithm user/ae/inet6/contrib/libc++/include/array user/ae/inet6/contrib/libc++/include/bitset user/ae/inet6/contrib/libc++/include/cctype user/ae/inet6/contrib/libc++/include/chrono user/ae/inet6/contrib/libc++/include/cmath user/ae/inet6/contrib/libc++/include/codecvt user/ae/inet6/contrib/libc++/include/complex user/ae/inet6/contrib/libc++/include/cstddef user/ae/inet6/contrib/libc++/include/cstdio user/ae/inet6/contrib/libc++/include/cstdlib user/ae/inet6/contrib/libc++/include/cstring user/ae/inet6/contrib/libc++/include/cwchar user/ae/inet6/contrib/libc++/include/deque user/ae/inet6/contrib/libc++/include/exception user/ae/inet6/contrib/libc++/include/ext/__hash user/ae/inet6/contrib/libc++/include/ext/hash_map user/ae/inet6/contrib/libc++/include/ext/hash_set user/ae/inet6/contrib/libc++/include/forward_list user/ae/inet6/contrib/libc++/include/fstream user/ae/inet6/contrib/libc++/include/functional user/ae/inet6/contrib/libc++/include/future user/ae/inet6/contrib/libc++/include/initializer_list user/ae/inet6/contrib/libc++/include/iomanip user/ae/inet6/contrib/libc++/include/ios user/ae/inet6/contrib/libc++/include/iosfwd user/ae/inet6/contrib/libc++/include/istream user/ae/inet6/contrib/libc++/include/iterator user/ae/inet6/contrib/libc++/include/limits user/ae/inet6/contrib/libc++/include/list user/ae/inet6/contrib/libc++/include/locale user/ae/inet6/contrib/libc++/include/map user/ae/inet6/contrib/libc++/include/memory user/ae/inet6/contrib/libc++/include/mutex user/ae/inet6/contrib/libc++/include/new user/ae/inet6/contrib/libc++/include/numeric user/ae/inet6/contrib/libc++/include/ostream user/ae/inet6/contrib/libc++/include/queue user/ae/inet6/contrib/libc++/include/random user/ae/inet6/contrib/libc++/include/ratio user/ae/inet6/contrib/libc++/include/regex user/ae/inet6/contrib/libc++/include/scoped_allocator user/ae/inet6/contrib/libc++/include/set user/ae/inet6/contrib/libc++/include/sstream user/ae/inet6/contrib/libc++/include/stack user/ae/inet6/contrib/libc++/include/streambuf user/ae/inet6/contrib/libc++/include/string user/ae/inet6/contrib/libc++/include/system_error user/ae/inet6/contrib/libc++/include/thread user/ae/inet6/contrib/libc++/include/tuple user/ae/inet6/contrib/libc++/include/type_traits user/ae/inet6/contrib/libc++/include/typeindex user/ae/inet6/contrib/libc++/include/unordered_map user/ae/inet6/contrib/libc++/include/unordered_set user/ae/inet6/contrib/libc++/include/utility user/ae/inet6/contrib/libc++/include/valarray user/ae/inet6/contrib/libc++/include/vector user/ae/inet6/contrib/libc++/src/algorithm.cpp user/ae/inet6/contrib/libc++/src/debug.cpp user/ae/inet6/contrib/libc++/src/exception.cpp user/ae/inet6/contrib/libc++/src/future.cpp user/ae/inet6/contrib/libc++/src/ios.cpp user/ae/inet6/contrib/libc++/src/iostream.cpp user/ae/inet6/contrib/libc++/src/locale.cpp user/ae/inet6/contrib/libc++/src/mutex.cpp user/ae/inet6/contrib/libc++/src/new.cpp user/ae/inet6/contrib/libc++/src/random.cpp user/ae/inet6/contrib/libc++/src/stdexcept.cpp user/ae/inet6/contrib/libc++/src/string.cpp user/ae/inet6/contrib/libc++/src/strstream.cpp user/ae/inet6/contrib/libc++/src/system_error.cpp user/ae/inet6/contrib/libc++/src/thread.cpp user/ae/inet6/contrib/libc++/src/typeinfo.cpp user/ae/inet6/contrib/libc++/src/valarray.cpp user/ae/inet6/contrib/libc-vis/vis.3 user/ae/inet6/contrib/libyaml/src/api.c user/ae/inet6/contrib/libyaml/src/scanner.c user/ae/inet6/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp user/ae/inet6/contrib/mdocml/arch.in user/ae/inet6/contrib/mdocml/chars.c user/ae/inet6/contrib/mdocml/chars.in user/ae/inet6/contrib/mdocml/config.h user/ae/inet6/contrib/mdocml/eqn.7 user/ae/inet6/contrib/mdocml/html.c user/ae/inet6/contrib/mdocml/html.h user/ae/inet6/contrib/mdocml/lib.in user/ae/inet6/contrib/mdocml/libman.h user/ae/inet6/contrib/mdocml/libmandoc.h user/ae/inet6/contrib/mdocml/libmdoc.h user/ae/inet6/contrib/mdocml/libroff.h user/ae/inet6/contrib/mdocml/main.c user/ae/inet6/contrib/mdocml/man.7 user/ae/inet6/contrib/mdocml/man.c user/ae/inet6/contrib/mdocml/man.h user/ae/inet6/contrib/mdocml/man_html.c user/ae/inet6/contrib/mdocml/man_macro.c user/ae/inet6/contrib/mdocml/man_term.c user/ae/inet6/contrib/mdocml/man_validate.c user/ae/inet6/contrib/mdocml/mandoc.1 user/ae/inet6/contrib/mdocml/mandoc.3 user/ae/inet6/contrib/mdocml/mandoc.c user/ae/inet6/contrib/mdocml/mandoc.h user/ae/inet6/contrib/mdocml/mandoc_char.7 user/ae/inet6/contrib/mdocml/mdoc.7 user/ae/inet6/contrib/mdocml/mdoc.c user/ae/inet6/contrib/mdocml/mdoc.h user/ae/inet6/contrib/mdocml/mdoc_argv.c user/ae/inet6/contrib/mdocml/mdoc_html.c user/ae/inet6/contrib/mdocml/mdoc_macro.c user/ae/inet6/contrib/mdocml/mdoc_man.c user/ae/inet6/contrib/mdocml/mdoc_term.c user/ae/inet6/contrib/mdocml/mdoc_validate.c user/ae/inet6/contrib/mdocml/out.c user/ae/inet6/contrib/mdocml/predefs.in user/ae/inet6/contrib/mdocml/read.c user/ae/inet6/contrib/mdocml/roff.7 user/ae/inet6/contrib/mdocml/roff.c user/ae/inet6/contrib/mdocml/st.in user/ae/inet6/contrib/mdocml/tbl.7 user/ae/inet6/contrib/mdocml/tbl.c user/ae/inet6/contrib/mdocml/tbl_data.c user/ae/inet6/contrib/mdocml/tbl_html.c user/ae/inet6/contrib/mdocml/tbl_layout.c user/ae/inet6/contrib/mdocml/tbl_term.c user/ae/inet6/contrib/mdocml/term.c user/ae/inet6/contrib/mdocml/term.h user/ae/inet6/contrib/mdocml/term_ascii.c user/ae/inet6/contrib/mdocml/tree.c user/ae/inet6/contrib/pf/authpf/authpf.8 user/ae/inet6/contrib/sendmail/FREEBSD-upgrade user/ae/inet6/contrib/sendmail/LICENSE user/ae/inet6/contrib/sendmail/PGPKEYS user/ae/inet6/contrib/sendmail/README user/ae/inet6/contrib/sendmail/RELEASE_NOTES user/ae/inet6/contrib/sendmail/cf/README user/ae/inet6/contrib/sendmail/cf/cf/chez.cs.mc user/ae/inet6/contrib/sendmail/cf/cf/clientproto.mc user/ae/inet6/contrib/sendmail/cf/cf/cs-hpux10.mc user/ae/inet6/contrib/sendmail/cf/cf/cs-hpux9.mc user/ae/inet6/contrib/sendmail/cf/cf/cs-osf1.mc user/ae/inet6/contrib/sendmail/cf/cf/cs-solaris2.mc user/ae/inet6/contrib/sendmail/cf/cf/cs-sunos4.1.mc user/ae/inet6/contrib/sendmail/cf/cf/cs-ultrix4.mc user/ae/inet6/contrib/sendmail/cf/cf/generic-bsd4.4.mc user/ae/inet6/contrib/sendmail/cf/cf/generic-hpux10.mc user/ae/inet6/contrib/sendmail/cf/cf/generic-hpux9.mc user/ae/inet6/contrib/sendmail/cf/cf/generic-linux.mc user/ae/inet6/contrib/sendmail/cf/cf/generic-mpeix.mc user/ae/inet6/contrib/sendmail/cf/cf/generic-nextstep3.3.mc user/ae/inet6/contrib/sendmail/cf/cf/generic-osf1.mc user/ae/inet6/contrib/sendmail/cf/cf/generic-solaris.mc user/ae/inet6/contrib/sendmail/cf/cf/generic-sunos4.1.mc user/ae/inet6/contrib/sendmail/cf/cf/generic-ultrix4.mc user/ae/inet6/contrib/sendmail/cf/cf/huginn.cs.mc user/ae/inet6/contrib/sendmail/cf/cf/knecht.mc user/ae/inet6/contrib/sendmail/cf/cf/mail.cs.mc user/ae/inet6/contrib/sendmail/cf/cf/mail.eecs.mc user/ae/inet6/contrib/sendmail/cf/cf/mailspool.cs.mc user/ae/inet6/contrib/sendmail/cf/cf/python.cs.mc user/ae/inet6/contrib/sendmail/cf/cf/s2k-osf1.mc user/ae/inet6/contrib/sendmail/cf/cf/s2k-ultrix4.mc user/ae/inet6/contrib/sendmail/cf/cf/submit.cf user/ae/inet6/contrib/sendmail/cf/cf/submit.mc user/ae/inet6/contrib/sendmail/cf/cf/tcpproto.mc user/ae/inet6/contrib/sendmail/cf/cf/ucbarpa.mc user/ae/inet6/contrib/sendmail/cf/cf/ucbvax.mc user/ae/inet6/contrib/sendmail/cf/cf/uucpproto.mc user/ae/inet6/contrib/sendmail/cf/cf/vangogh.cs.mc user/ae/inet6/contrib/sendmail/cf/domain/Berkeley.EDU.m4 user/ae/inet6/contrib/sendmail/cf/domain/CS.Berkeley.EDU.m4 user/ae/inet6/contrib/sendmail/cf/domain/EECS.Berkeley.EDU.m4 user/ae/inet6/contrib/sendmail/cf/domain/S2K.Berkeley.EDU.m4 user/ae/inet6/contrib/sendmail/cf/domain/berkeley-only.m4 user/ae/inet6/contrib/sendmail/cf/domain/generic.m4 user/ae/inet6/contrib/sendmail/cf/feature/accept_unqualified_senders.m4 user/ae/inet6/contrib/sendmail/cf/feature/accept_unresolvable_domains.m4 user/ae/inet6/contrib/sendmail/cf/feature/access_db.m4 user/ae/inet6/contrib/sendmail/cf/feature/allmasquerade.m4 user/ae/inet6/contrib/sendmail/cf/feature/always_add_domain.m4 user/ae/inet6/contrib/sendmail/cf/feature/authinfo.m4 user/ae/inet6/contrib/sendmail/cf/feature/badmx.m4 user/ae/inet6/contrib/sendmail/cf/feature/bestmx_is_local.m4 user/ae/inet6/contrib/sendmail/cf/feature/bitdomain.m4 user/ae/inet6/contrib/sendmail/cf/feature/blacklist_recipients.m4 user/ae/inet6/contrib/sendmail/cf/feature/block_bad_helo.m4 user/ae/inet6/contrib/sendmail/cf/feature/compat_check.m4 user/ae/inet6/contrib/sendmail/cf/feature/conncontrol.m4 user/ae/inet6/contrib/sendmail/cf/feature/delay_checks.m4 user/ae/inet6/contrib/sendmail/cf/feature/dnsbl.m4 user/ae/inet6/contrib/sendmail/cf/feature/domaintable.m4 user/ae/inet6/contrib/sendmail/cf/feature/enhdnsbl.m4 user/ae/inet6/contrib/sendmail/cf/feature/generics_entire_domain.m4 user/ae/inet6/contrib/sendmail/cf/feature/genericstable.m4 user/ae/inet6/contrib/sendmail/cf/feature/greet_pause.m4 user/ae/inet6/contrib/sendmail/cf/feature/ldap_routing.m4 user/ae/inet6/contrib/sendmail/cf/feature/limited_masquerade.m4 user/ae/inet6/contrib/sendmail/cf/feature/local_lmtp.m4 user/ae/inet6/contrib/sendmail/cf/feature/local_no_masquerade.m4 user/ae/inet6/contrib/sendmail/cf/feature/local_procmail.m4 user/ae/inet6/contrib/sendmail/cf/feature/lookupdotdomain.m4 user/ae/inet6/contrib/sendmail/cf/feature/loose_relay_check.m4 user/ae/inet6/contrib/sendmail/cf/feature/mailertable.m4 user/ae/inet6/contrib/sendmail/cf/feature/masquerade_entire_domain.m4 user/ae/inet6/contrib/sendmail/cf/feature/masquerade_envelope.m4 user/ae/inet6/contrib/sendmail/cf/feature/msp.m4 user/ae/inet6/contrib/sendmail/cf/feature/mtamark.m4 user/ae/inet6/contrib/sendmail/cf/feature/no_default_msa.m4 user/ae/inet6/contrib/sendmail/cf/feature/nocanonify.m4 user/ae/inet6/contrib/sendmail/cf/feature/notsticky.m4 user/ae/inet6/contrib/sendmail/cf/feature/nouucp.m4 user/ae/inet6/contrib/sendmail/cf/feature/nullclient.m4 user/ae/inet6/contrib/sendmail/cf/feature/preserve_local_plus_detail.m4 user/ae/inet6/contrib/sendmail/cf/feature/preserve_luser_host.m4 user/ae/inet6/contrib/sendmail/cf/feature/promiscuous_relay.m4 user/ae/inet6/contrib/sendmail/cf/feature/queuegroup.m4 user/ae/inet6/contrib/sendmail/cf/feature/ratecontrol.m4 user/ae/inet6/contrib/sendmail/cf/feature/redirect.m4 user/ae/inet6/contrib/sendmail/cf/feature/relay_based_on_MX.m4 user/ae/inet6/contrib/sendmail/cf/feature/relay_entire_domain.m4 user/ae/inet6/contrib/sendmail/cf/feature/relay_hosts_only.m4 user/ae/inet6/contrib/sendmail/cf/feature/relay_local_from.m4 user/ae/inet6/contrib/sendmail/cf/feature/relay_mail_from.m4 user/ae/inet6/contrib/sendmail/cf/feature/require_rdns.m4 user/ae/inet6/contrib/sendmail/cf/feature/smrsh.m4 user/ae/inet6/contrib/sendmail/cf/feature/stickyhost.m4 user/ae/inet6/contrib/sendmail/cf/feature/use_client_ptr.m4 user/ae/inet6/contrib/sendmail/cf/feature/use_ct_file.m4 user/ae/inet6/contrib/sendmail/cf/feature/use_cw_file.m4 user/ae/inet6/contrib/sendmail/cf/feature/uucpdomain.m4 user/ae/inet6/contrib/sendmail/cf/feature/virtuser_entire_domain.m4 user/ae/inet6/contrib/sendmail/cf/feature/virtusertable.m4 user/ae/inet6/contrib/sendmail/cf/hack/cssubdomain.m4 user/ae/inet6/contrib/sendmail/cf/m4/cf.m4 user/ae/inet6/contrib/sendmail/cf/m4/cfhead.m4 user/ae/inet6/contrib/sendmail/cf/m4/proto.m4 user/ae/inet6/contrib/sendmail/cf/m4/version.m4 user/ae/inet6/contrib/sendmail/cf/mailer/cyrus.m4 user/ae/inet6/contrib/sendmail/cf/mailer/cyrusv2.m4 user/ae/inet6/contrib/sendmail/cf/mailer/fax.m4 user/ae/inet6/contrib/sendmail/cf/mailer/local.m4 user/ae/inet6/contrib/sendmail/cf/mailer/mail11.m4 user/ae/inet6/contrib/sendmail/cf/mailer/phquery.m4 user/ae/inet6/contrib/sendmail/cf/mailer/pop.m4 user/ae/inet6/contrib/sendmail/cf/mailer/procmail.m4 user/ae/inet6/contrib/sendmail/cf/mailer/qpage.m4 user/ae/inet6/contrib/sendmail/cf/mailer/smtp.m4 user/ae/inet6/contrib/sendmail/cf/mailer/usenet.m4 user/ae/inet6/contrib/sendmail/cf/mailer/uucp.m4 user/ae/inet6/contrib/sendmail/cf/ostype/a-ux.m4 user/ae/inet6/contrib/sendmail/cf/ostype/aix3.m4 user/ae/inet6/contrib/sendmail/cf/ostype/aix4.m4 user/ae/inet6/contrib/sendmail/cf/ostype/aix5.m4 user/ae/inet6/contrib/sendmail/cf/ostype/altos.m4 user/ae/inet6/contrib/sendmail/cf/ostype/amdahl-uts.m4 user/ae/inet6/contrib/sendmail/cf/ostype/bsd4.3.m4 user/ae/inet6/contrib/sendmail/cf/ostype/bsd4.4.m4 user/ae/inet6/contrib/sendmail/cf/ostype/bsdi.m4 user/ae/inet6/contrib/sendmail/cf/ostype/bsdi1.0.m4 user/ae/inet6/contrib/sendmail/cf/ostype/bsdi2.0.m4 user/ae/inet6/contrib/sendmail/cf/ostype/darwin.m4 user/ae/inet6/contrib/sendmail/cf/ostype/dgux.m4 user/ae/inet6/contrib/sendmail/cf/ostype/domainos.m4 user/ae/inet6/contrib/sendmail/cf/ostype/dragonfly.m4 user/ae/inet6/contrib/sendmail/cf/ostype/dynix3.2.m4 user/ae/inet6/contrib/sendmail/cf/ostype/freebsd4.m4 user/ae/inet6/contrib/sendmail/cf/ostype/freebsd5.m4 user/ae/inet6/contrib/sendmail/cf/ostype/freebsd6.m4 user/ae/inet6/contrib/sendmail/cf/ostype/gnu.m4 user/ae/inet6/contrib/sendmail/cf/ostype/hpux10.m4 user/ae/inet6/contrib/sendmail/cf/ostype/hpux11.m4 user/ae/inet6/contrib/sendmail/cf/ostype/hpux9.m4 user/ae/inet6/contrib/sendmail/cf/ostype/irix4.m4 user/ae/inet6/contrib/sendmail/cf/ostype/irix5.m4 user/ae/inet6/contrib/sendmail/cf/ostype/irix6.m4 user/ae/inet6/contrib/sendmail/cf/ostype/isc4.1.m4 user/ae/inet6/contrib/sendmail/cf/ostype/linux.m4 user/ae/inet6/contrib/sendmail/cf/ostype/maxion.m4 user/ae/inet6/contrib/sendmail/cf/ostype/mklinux.m4 user/ae/inet6/contrib/sendmail/cf/ostype/mpeix.m4 user/ae/inet6/contrib/sendmail/cf/ostype/nextstep.m4 user/ae/inet6/contrib/sendmail/cf/ostype/openbsd.m4 user/ae/inet6/contrib/sendmail/cf/ostype/osf1.m4 user/ae/inet6/contrib/sendmail/cf/ostype/powerux.m4 user/ae/inet6/contrib/sendmail/cf/ostype/ptx2.m4 user/ae/inet6/contrib/sendmail/cf/ostype/qnx.m4 user/ae/inet6/contrib/sendmail/cf/ostype/riscos4.5.m4 user/ae/inet6/contrib/sendmail/cf/ostype/sco-uw-2.1.m4 user/ae/inet6/contrib/sendmail/cf/ostype/sco3.2.m4 user/ae/inet6/contrib/sendmail/cf/ostype/sinix.m4 user/ae/inet6/contrib/sendmail/cf/ostype/solaris11.m4 user/ae/inet6/contrib/sendmail/cf/ostype/solaris2.m4 user/ae/inet6/contrib/sendmail/cf/ostype/solaris2.ml.m4 user/ae/inet6/contrib/sendmail/cf/ostype/solaris2.pre5.m4 user/ae/inet6/contrib/sendmail/cf/ostype/solaris8.m4 user/ae/inet6/contrib/sendmail/cf/ostype/sunos3.5.m4 user/ae/inet6/contrib/sendmail/cf/ostype/sunos4.1.m4 user/ae/inet6/contrib/sendmail/cf/ostype/svr4.m4 user/ae/inet6/contrib/sendmail/cf/ostype/ultrix4.m4 user/ae/inet6/contrib/sendmail/cf/ostype/unicos.m4 user/ae/inet6/contrib/sendmail/cf/ostype/unicosmk.m4 user/ae/inet6/contrib/sendmail/cf/ostype/unicosmp.m4 user/ae/inet6/contrib/sendmail/cf/ostype/unixware7.m4 user/ae/inet6/contrib/sendmail/cf/ostype/unknown.m4 user/ae/inet6/contrib/sendmail/cf/ostype/uxpds.m4 user/ae/inet6/contrib/sendmail/cf/sendmail.schema user/ae/inet6/contrib/sendmail/cf/sh/makeinfo.sh user/ae/inet6/contrib/sendmail/contrib/dnsblaccess.m4 user/ae/inet6/contrib/sendmail/contrib/link_hash.sh user/ae/inet6/contrib/sendmail/contrib/qtool.8 user/ae/inet6/contrib/sendmail/contrib/qtool.pl user/ae/inet6/contrib/sendmail/doc/op/op.me user/ae/inet6/contrib/sendmail/editmap/editmap.8 user/ae/inet6/contrib/sendmail/editmap/editmap.c user/ae/inet6/contrib/sendmail/include/libmilter/mfapi.h user/ae/inet6/contrib/sendmail/include/libmilter/mfdef.h user/ae/inet6/contrib/sendmail/include/libmilter/milter.h user/ae/inet6/contrib/sendmail/include/libsmdb/smdb.h user/ae/inet6/contrib/sendmail/include/sendmail/mailstats.h user/ae/inet6/contrib/sendmail/include/sendmail/pathnames.h user/ae/inet6/contrib/sendmail/include/sendmail/sendmail.h user/ae/inet6/contrib/sendmail/include/sm/assert.h user/ae/inet6/contrib/sendmail/include/sm/bdb.h user/ae/inet6/contrib/sendmail/include/sm/bitops.h user/ae/inet6/contrib/sendmail/include/sm/cdefs.h user/ae/inet6/contrib/sendmail/include/sm/cf.h user/ae/inet6/contrib/sendmail/include/sm/clock.h user/ae/inet6/contrib/sendmail/include/sm/conf.h user/ae/inet6/contrib/sendmail/include/sm/config.h user/ae/inet6/contrib/sendmail/include/sm/debug.h user/ae/inet6/contrib/sendmail/include/sm/errstring.h user/ae/inet6/contrib/sendmail/include/sm/exc.h user/ae/inet6/contrib/sendmail/include/sm/fdset.h user/ae/inet6/contrib/sendmail/include/sm/gen.h user/ae/inet6/contrib/sendmail/include/sm/heap.h user/ae/inet6/contrib/sendmail/include/sm/io.h user/ae/inet6/contrib/sendmail/include/sm/ldap.h user/ae/inet6/contrib/sendmail/include/sm/limits.h user/ae/inet6/contrib/sendmail/include/sm/mbdb.h user/ae/inet6/contrib/sendmail/include/sm/misc.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_aix.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_dragonfly.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_freebsd.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_hp.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_irix.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_linux.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_mpeix.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_next.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_openbsd.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_openunix.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_osf1.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_qnx.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_sunos.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_ultrix.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_unicos.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_unicosmk.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_unicosmp.h user/ae/inet6/contrib/sendmail/include/sm/os/sm_os_unixware.h user/ae/inet6/contrib/sendmail/include/sm/path.h user/ae/inet6/contrib/sendmail/include/sm/rpool.h user/ae/inet6/contrib/sendmail/include/sm/sem.h user/ae/inet6/contrib/sendmail/include/sm/sendmail.h user/ae/inet6/contrib/sendmail/include/sm/setjmp.h user/ae/inet6/contrib/sendmail/include/sm/shm.h user/ae/inet6/contrib/sendmail/include/sm/signal.h user/ae/inet6/contrib/sendmail/include/sm/string.h user/ae/inet6/contrib/sendmail/include/sm/sysexits.h user/ae/inet6/contrib/sendmail/include/sm/test.h user/ae/inet6/contrib/sendmail/include/sm/time.h user/ae/inet6/contrib/sendmail/include/sm/types.h user/ae/inet6/contrib/sendmail/include/sm/varargs.h user/ae/inet6/contrib/sendmail/include/sm/xtrap.h user/ae/inet6/contrib/sendmail/libmilter/Makefile.m4 user/ae/inet6/contrib/sendmail/libmilter/comm.c user/ae/inet6/contrib/sendmail/libmilter/docs/api.html user/ae/inet6/contrib/sendmail/libmilter/docs/design.html user/ae/inet6/contrib/sendmail/libmilter/docs/index.html user/ae/inet6/contrib/sendmail/libmilter/docs/installation.html user/ae/inet6/contrib/sendmail/libmilter/docs/other.html user/ae/inet6/contrib/sendmail/libmilter/docs/overview.html user/ae/inet6/contrib/sendmail/libmilter/docs/sample.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_addheader.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_addrcpt.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_addrcpt_par.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_chgfrom.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_chgheader.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_delrcpt.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_getpriv.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_getsymval.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_insheader.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_main.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_opensocket.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_progress.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_quarantine.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_register.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_replacebody.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_setbacklog.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_setconn.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_setdbg.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_setmlreply.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_setpriv.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_setreply.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_setsymlist.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_settimeout.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_stop.html user/ae/inet6/contrib/sendmail/libmilter/docs/smfi_version.html user/ae/inet6/contrib/sendmail/libmilter/docs/xxfi_abort.html user/ae/inet6/contrib/sendmail/libmilter/docs/xxfi_body.html user/ae/inet6/contrib/sendmail/libmilter/docs/xxfi_close.html user/ae/inet6/contrib/sendmail/libmilter/docs/xxfi_connect.html user/ae/inet6/contrib/sendmail/libmilter/docs/xxfi_data.html user/ae/inet6/contrib/sendmail/libmilter/docs/xxfi_envfrom.html user/ae/inet6/contrib/sendmail/libmilter/docs/xxfi_envrcpt.html user/ae/inet6/contrib/sendmail/libmilter/docs/xxfi_eoh.html user/ae/inet6/contrib/sendmail/libmilter/docs/xxfi_eom.html user/ae/inet6/contrib/sendmail/libmilter/docs/xxfi_header.html user/ae/inet6/contrib/sendmail/libmilter/docs/xxfi_helo.html user/ae/inet6/contrib/sendmail/libmilter/docs/xxfi_negotiate.html user/ae/inet6/contrib/sendmail/libmilter/docs/xxfi_unknown.html user/ae/inet6/contrib/sendmail/libmilter/engine.c user/ae/inet6/contrib/sendmail/libmilter/example.c user/ae/inet6/contrib/sendmail/libmilter/handler.c user/ae/inet6/contrib/sendmail/libmilter/libmilter.h user/ae/inet6/contrib/sendmail/libmilter/listener.c user/ae/inet6/contrib/sendmail/libmilter/main.c user/ae/inet6/contrib/sendmail/libmilter/monitor.c user/ae/inet6/contrib/sendmail/libmilter/signal.c user/ae/inet6/contrib/sendmail/libmilter/sm_gethost.c user/ae/inet6/contrib/sendmail/libmilter/smfi.c user/ae/inet6/contrib/sendmail/libmilter/worker.c user/ae/inet6/contrib/sendmail/libsm/Makefile.m4 user/ae/inet6/contrib/sendmail/libsm/README user/ae/inet6/contrib/sendmail/libsm/assert.c user/ae/inet6/contrib/sendmail/libsm/b-strcmp.c user/ae/inet6/contrib/sendmail/libsm/b-strl.c user/ae/inet6/contrib/sendmail/libsm/cf.c user/ae/inet6/contrib/sendmail/libsm/clock.c user/ae/inet6/contrib/sendmail/libsm/clrerr.c user/ae/inet6/contrib/sendmail/libsm/config.c user/ae/inet6/contrib/sendmail/libsm/debug.c user/ae/inet6/contrib/sendmail/libsm/errstring.c user/ae/inet6/contrib/sendmail/libsm/exc.c user/ae/inet6/contrib/sendmail/libsm/fclose.c user/ae/inet6/contrib/sendmail/libsm/feof.c user/ae/inet6/contrib/sendmail/libsm/ferror.c user/ae/inet6/contrib/sendmail/libsm/fflush.c user/ae/inet6/contrib/sendmail/libsm/fget.c user/ae/inet6/contrib/sendmail/libsm/findfp.c user/ae/inet6/contrib/sendmail/libsm/flags.c user/ae/inet6/contrib/sendmail/libsm/fopen.c user/ae/inet6/contrib/sendmail/libsm/fpos.c user/ae/inet6/contrib/sendmail/libsm/fprintf.c user/ae/inet6/contrib/sendmail/libsm/fpurge.c user/ae/inet6/contrib/sendmail/libsm/fput.c user/ae/inet6/contrib/sendmail/libsm/fread.c user/ae/inet6/contrib/sendmail/libsm/fscanf.c user/ae/inet6/contrib/sendmail/libsm/fseek.c user/ae/inet6/contrib/sendmail/libsm/fvwrite.c user/ae/inet6/contrib/sendmail/libsm/fvwrite.h user/ae/inet6/contrib/sendmail/libsm/fwalk.c user/ae/inet6/contrib/sendmail/libsm/fwrite.c user/ae/inet6/contrib/sendmail/libsm/get.c user/ae/inet6/contrib/sendmail/libsm/glue.h user/ae/inet6/contrib/sendmail/libsm/heap.c user/ae/inet6/contrib/sendmail/libsm/ldap.c user/ae/inet6/contrib/sendmail/libsm/local.h user/ae/inet6/contrib/sendmail/libsm/makebuf.c user/ae/inet6/contrib/sendmail/libsm/match.c user/ae/inet6/contrib/sendmail/libsm/mbdb.c user/ae/inet6/contrib/sendmail/libsm/memstat.c user/ae/inet6/contrib/sendmail/libsm/mpeix.c user/ae/inet6/contrib/sendmail/libsm/niprop.c user/ae/inet6/contrib/sendmail/libsm/path.c user/ae/inet6/contrib/sendmail/libsm/put.c user/ae/inet6/contrib/sendmail/libsm/refill.c user/ae/inet6/contrib/sendmail/libsm/rewind.c user/ae/inet6/contrib/sendmail/libsm/rpool.c user/ae/inet6/contrib/sendmail/libsm/sem.c user/ae/inet6/contrib/sendmail/libsm/setvbuf.c user/ae/inet6/contrib/sendmail/libsm/shm.c user/ae/inet6/contrib/sendmail/libsm/signal.c user/ae/inet6/contrib/sendmail/libsm/smstdio.c user/ae/inet6/contrib/sendmail/libsm/snprintf.c user/ae/inet6/contrib/sendmail/libsm/sscanf.c user/ae/inet6/contrib/sendmail/libsm/stdio.c user/ae/inet6/contrib/sendmail/libsm/strcasecmp.c user/ae/inet6/contrib/sendmail/libsm/strdup.c user/ae/inet6/contrib/sendmail/libsm/strerror.c user/ae/inet6/contrib/sendmail/libsm/strexit.c user/ae/inet6/contrib/sendmail/libsm/string.c user/ae/inet6/contrib/sendmail/libsm/stringf.c user/ae/inet6/contrib/sendmail/libsm/strio.c user/ae/inet6/contrib/sendmail/libsm/strl.c user/ae/inet6/contrib/sendmail/libsm/strrevcmp.c user/ae/inet6/contrib/sendmail/libsm/strto.c user/ae/inet6/contrib/sendmail/libsm/syslogio.c user/ae/inet6/contrib/sendmail/libsm/t-cf.c user/ae/inet6/contrib/sendmail/libsm/t-event.c user/ae/inet6/contrib/sendmail/libsm/t-exc.c user/ae/inet6/contrib/sendmail/libsm/t-fget.c (contents, props changed) user/ae/inet6/contrib/sendmail/libsm/t-float.c user/ae/inet6/contrib/sendmail/libsm/t-fopen.c user/ae/inet6/contrib/sendmail/libsm/t-heap.c user/ae/inet6/contrib/sendmail/libsm/t-match.c user/ae/inet6/contrib/sendmail/libsm/t-memstat.c user/ae/inet6/contrib/sendmail/libsm/t-path.c user/ae/inet6/contrib/sendmail/libsm/t-qic.c user/ae/inet6/contrib/sendmail/libsm/t-rpool.c user/ae/inet6/contrib/sendmail/libsm/t-scanf.c user/ae/inet6/contrib/sendmail/libsm/t-sem.c user/ae/inet6/contrib/sendmail/libsm/t-shm.c user/ae/inet6/contrib/sendmail/libsm/t-smstdio.c user/ae/inet6/contrib/sendmail/libsm/t-string.c user/ae/inet6/contrib/sendmail/libsm/t-strio.c user/ae/inet6/contrib/sendmail/libsm/t-strl.c user/ae/inet6/contrib/sendmail/libsm/t-strrevcmp.c user/ae/inet6/contrib/sendmail/libsm/t-types.c user/ae/inet6/contrib/sendmail/libsm/test.c user/ae/inet6/contrib/sendmail/libsm/ungetc.c user/ae/inet6/contrib/sendmail/libsm/util.c user/ae/inet6/contrib/sendmail/libsm/vasprintf.c user/ae/inet6/contrib/sendmail/libsm/vfprintf.c user/ae/inet6/contrib/sendmail/libsm/vfscanf.c user/ae/inet6/contrib/sendmail/libsm/vprintf.c user/ae/inet6/contrib/sendmail/libsm/vsnprintf.c user/ae/inet6/contrib/sendmail/libsm/wbuf.c user/ae/inet6/contrib/sendmail/libsm/wsetup.c user/ae/inet6/contrib/sendmail/libsm/xtrap.c user/ae/inet6/contrib/sendmail/libsmdb/smdb.c user/ae/inet6/contrib/sendmail/libsmdb/smdb1.c user/ae/inet6/contrib/sendmail/libsmdb/smdb2.c user/ae/inet6/contrib/sendmail/libsmdb/smndbm.c user/ae/inet6/contrib/sendmail/libsmutil/cf.c user/ae/inet6/contrib/sendmail/libsmutil/debug.c user/ae/inet6/contrib/sendmail/libsmutil/err.c user/ae/inet6/contrib/sendmail/libsmutil/lockfile.c user/ae/inet6/contrib/sendmail/libsmutil/safefile.c user/ae/inet6/contrib/sendmail/libsmutil/snprintf.c user/ae/inet6/contrib/sendmail/mail.local/mail.local.8 user/ae/inet6/contrib/sendmail/mail.local/mail.local.c user/ae/inet6/contrib/sendmail/mailstats/mailstats.8 user/ae/inet6/contrib/sendmail/mailstats/mailstats.c user/ae/inet6/contrib/sendmail/makemap/makemap.8 user/ae/inet6/contrib/sendmail/makemap/makemap.c user/ae/inet6/contrib/sendmail/praliases/praliases.8 user/ae/inet6/contrib/sendmail/praliases/praliases.c user/ae/inet6/contrib/sendmail/rmail/rmail.8 user/ae/inet6/contrib/sendmail/rmail/rmail.c user/ae/inet6/contrib/sendmail/smrsh/smrsh.8 user/ae/inet6/contrib/sendmail/smrsh/smrsh.c user/ae/inet6/contrib/sendmail/src/Makefile.m4 user/ae/inet6/contrib/sendmail/src/README user/ae/inet6/contrib/sendmail/src/SECURITY user/ae/inet6/contrib/sendmail/src/TRACEFLAGS user/ae/inet6/contrib/sendmail/src/TUNING user/ae/inet6/contrib/sendmail/src/alias.c user/ae/inet6/contrib/sendmail/src/aliases.5 user/ae/inet6/contrib/sendmail/src/arpadate.c user/ae/inet6/contrib/sendmail/src/bf.c user/ae/inet6/contrib/sendmail/src/bf.h user/ae/inet6/contrib/sendmail/src/collect.c user/ae/inet6/contrib/sendmail/src/conf.c user/ae/inet6/contrib/sendmail/src/conf.h user/ae/inet6/contrib/sendmail/src/control.c user/ae/inet6/contrib/sendmail/src/convtime.c user/ae/inet6/contrib/sendmail/src/daemon.c user/ae/inet6/contrib/sendmail/src/daemon.h user/ae/inet6/contrib/sendmail/src/deliver.c user/ae/inet6/contrib/sendmail/src/domain.c user/ae/inet6/contrib/sendmail/src/envelope.c user/ae/inet6/contrib/sendmail/src/err.c user/ae/inet6/contrib/sendmail/src/headers.c user/ae/inet6/contrib/sendmail/src/helpfile user/ae/inet6/contrib/sendmail/src/macro.c user/ae/inet6/contrib/sendmail/src/mailq.1 user/ae/inet6/contrib/sendmail/src/main.c user/ae/inet6/contrib/sendmail/src/map.c user/ae/inet6/contrib/sendmail/src/map.h user/ae/inet6/contrib/sendmail/src/mci.c user/ae/inet6/contrib/sendmail/src/milter.c user/ae/inet6/contrib/sendmail/src/mime.c user/ae/inet6/contrib/sendmail/src/newaliases.1 user/ae/inet6/contrib/sendmail/src/parseaddr.c user/ae/inet6/contrib/sendmail/src/queue.c user/ae/inet6/contrib/sendmail/src/ratectrl.c user/ae/inet6/contrib/sendmail/src/readcf.c user/ae/inet6/contrib/sendmail/src/recipient.c user/ae/inet6/contrib/sendmail/src/sasl.c user/ae/inet6/contrib/sendmail/src/savemail.c user/ae/inet6/contrib/sendmail/src/sendmail.8 user/ae/inet6/contrib/sendmail/src/sendmail.h user/ae/inet6/contrib/sendmail/src/sfsasl.c user/ae/inet6/contrib/sendmail/src/sfsasl.h user/ae/inet6/contrib/sendmail/src/shmticklib.c user/ae/inet6/contrib/sendmail/src/sm_resolve.c user/ae/inet6/contrib/sendmail/src/sm_resolve.h user/ae/inet6/contrib/sendmail/src/srvrsmtp.c user/ae/inet6/contrib/sendmail/src/stab.c user/ae/inet6/contrib/sendmail/src/stats.c user/ae/inet6/contrib/sendmail/src/statusd_shm.h user/ae/inet6/contrib/sendmail/src/sysexits.c user/ae/inet6/contrib/sendmail/src/timers.c user/ae/inet6/contrib/sendmail/src/timers.h user/ae/inet6/contrib/sendmail/src/tls.c user/ae/inet6/contrib/sendmail/src/trace.c user/ae/inet6/contrib/sendmail/src/udb.c user/ae/inet6/contrib/sendmail/src/usersmtp.c user/ae/inet6/contrib/sendmail/src/util.c user/ae/inet6/contrib/sendmail/src/version.c user/ae/inet6/contrib/sendmail/test/README user/ae/inet6/contrib/sendmail/test/t_dropgid.c user/ae/inet6/contrib/sendmail/test/t_exclopen.c user/ae/inet6/contrib/sendmail/test/t_pathconf.c user/ae/inet6/contrib/sendmail/test/t_seteuid.c user/ae/inet6/contrib/sendmail/test/t_setgid.c user/ae/inet6/contrib/sendmail/test/t_setreuid.c user/ae/inet6/contrib/sendmail/test/t_setuid.c user/ae/inet6/contrib/sendmail/test/t_snprintf.c user/ae/inet6/contrib/sendmail/vacation/vacation.1 user/ae/inet6/contrib/sendmail/vacation/vacation.c user/ae/inet6/crypto/openssh/ChangeLog user/ae/inet6/crypto/openssh/Makefile.in user/ae/inet6/crypto/openssh/PROTOCOL user/ae/inet6/crypto/openssh/README user/ae/inet6/crypto/openssh/aclocal.m4 user/ae/inet6/crypto/openssh/addrmatch.c user/ae/inet6/crypto/openssh/atomicio.c user/ae/inet6/crypto/openssh/auth-krb5.c user/ae/inet6/crypto/openssh/auth-options.c user/ae/inet6/crypto/openssh/auth-pam.c user/ae/inet6/crypto/openssh/auth2-hostbased.c user/ae/inet6/crypto/openssh/auth2-pubkey.c user/ae/inet6/crypto/openssh/authfd.c user/ae/inet6/crypto/openssh/authfile.c user/ae/inet6/crypto/openssh/authfile.h user/ae/inet6/crypto/openssh/bufaux.c user/ae/inet6/crypto/openssh/bufbn.c user/ae/inet6/crypto/openssh/buffer.c user/ae/inet6/crypto/openssh/buffer.h user/ae/inet6/crypto/openssh/canohost.c user/ae/inet6/crypto/openssh/channels.c user/ae/inet6/crypto/openssh/cipher.c user/ae/inet6/crypto/openssh/cipher.h user/ae/inet6/crypto/openssh/clientloop.c user/ae/inet6/crypto/openssh/compat.c user/ae/inet6/crypto/openssh/compat.h user/ae/inet6/crypto/openssh/config.h user/ae/inet6/crypto/openssh/config.h.in user/ae/inet6/crypto/openssh/configure user/ae/inet6/crypto/openssh/configure.ac user/ae/inet6/crypto/openssh/contrib/caldera/openssh.spec user/ae/inet6/crypto/openssh/contrib/cygwin/ssh-host-config user/ae/inet6/crypto/openssh/contrib/redhat/openssh.spec user/ae/inet6/crypto/openssh/contrib/suse/openssh.spec user/ae/inet6/crypto/openssh/defines.h user/ae/inet6/crypto/openssh/dh.c user/ae/inet6/crypto/openssh/dh.h user/ae/inet6/crypto/openssh/gss-serv-krb5.c user/ae/inet6/crypto/openssh/hostfile.c user/ae/inet6/crypto/openssh/kex.c user/ae/inet6/crypto/openssh/kex.h user/ae/inet6/crypto/openssh/kexdh.c user/ae/inet6/crypto/openssh/kexdhc.c user/ae/inet6/crypto/openssh/kexdhs.c user/ae/inet6/crypto/openssh/kexecdh.c user/ae/inet6/crypto/openssh/kexecdhc.c user/ae/inet6/crypto/openssh/kexecdhs.c user/ae/inet6/crypto/openssh/kexgex.c user/ae/inet6/crypto/openssh/kexgexc.c user/ae/inet6/crypto/openssh/kexgexs.c user/ae/inet6/crypto/openssh/key.c user/ae/inet6/crypto/openssh/key.h user/ae/inet6/crypto/openssh/loginrec.c user/ae/inet6/crypto/openssh/mac.c user/ae/inet6/crypto/openssh/mac.h user/ae/inet6/crypto/openssh/match.c user/ae/inet6/crypto/openssh/misc.c user/ae/inet6/crypto/openssh/misc.h user/ae/inet6/crypto/openssh/moduli.c user/ae/inet6/crypto/openssh/monitor.c user/ae/inet6/crypto/openssh/monitor_mm.c user/ae/inet6/crypto/openssh/monitor_mm.h user/ae/inet6/crypto/openssh/myproposal.h user/ae/inet6/crypto/openssh/openbsd-compat/Makefile.in user/ae/inet6/crypto/openssh/openbsd-compat/bsd-cygwin_util.h user/ae/inet6/crypto/openssh/openbsd-compat/bsd-misc.c user/ae/inet6/crypto/openssh/openbsd-compat/bsd-poll.c user/ae/inet6/crypto/openssh/openbsd-compat/bsd-setres_id.c user/ae/inet6/crypto/openssh/openbsd-compat/bsd-snprintf.c user/ae/inet6/crypto/openssh/openbsd-compat/bsd-statvfs.c user/ae/inet6/crypto/openssh/openbsd-compat/bsd-statvfs.h user/ae/inet6/crypto/openssh/openbsd-compat/openbsd-compat.h user/ae/inet6/crypto/openssh/openbsd-compat/openssl-compat.c user/ae/inet6/crypto/openssh/openbsd-compat/openssl-compat.h user/ae/inet6/crypto/openssh/openbsd-compat/setproctitle.c user/ae/inet6/crypto/openssh/packet.c user/ae/inet6/crypto/openssh/pathnames.h user/ae/inet6/crypto/openssh/pkcs11.h user/ae/inet6/crypto/openssh/platform.c user/ae/inet6/crypto/openssh/platform.h user/ae/inet6/crypto/openssh/progressmeter.c user/ae/inet6/crypto/openssh/readconf.c user/ae/inet6/crypto/openssh/readconf.h user/ae/inet6/crypto/openssh/regress/Makefile user/ae/inet6/crypto/openssh/regress/agent-ptrace.sh user/ae/inet6/crypto/openssh/regress/agent.sh user/ae/inet6/crypto/openssh/regress/cert-hostkey.sh user/ae/inet6/crypto/openssh/regress/cert-userkey.sh user/ae/inet6/crypto/openssh/regress/cipher-speed.sh user/ae/inet6/crypto/openssh/regress/forward-control.sh user/ae/inet6/crypto/openssh/regress/integrity.sh user/ae/inet6/crypto/openssh/regress/kextype.sh user/ae/inet6/crypto/openssh/regress/keytype.sh user/ae/inet6/crypto/openssh/regress/krl.sh user/ae/inet6/crypto/openssh/regress/modpipe.c user/ae/inet6/crypto/openssh/regress/rekey.sh user/ae/inet6/crypto/openssh/regress/scp-ssh-wrapper.sh user/ae/inet6/crypto/openssh/regress/scp.sh user/ae/inet6/crypto/openssh/regress/test-exec.sh user/ae/inet6/crypto/openssh/regress/try-ciphers.sh user/ae/inet6/crypto/openssh/roaming_client.c user/ae/inet6/crypto/openssh/roaming_common.c user/ae/inet6/crypto/openssh/sandbox-darwin.c user/ae/inet6/crypto/openssh/sandbox-null.c user/ae/inet6/crypto/openssh/sandbox-rlimit.c user/ae/inet6/crypto/openssh/sandbox-seccomp-filter.c user/ae/inet6/crypto/openssh/sandbox-systrace.c user/ae/inet6/crypto/openssh/schnorr.c user/ae/inet6/crypto/openssh/schnorr.h user/ae/inet6/crypto/openssh/scp.0 user/ae/inet6/crypto/openssh/scp.1 user/ae/inet6/crypto/openssh/scp.c user/ae/inet6/crypto/openssh/servconf.c user/ae/inet6/crypto/openssh/servconf.h user/ae/inet6/crypto/openssh/serverloop.c user/ae/inet6/crypto/openssh/session.c user/ae/inet6/crypto/openssh/session.h user/ae/inet6/crypto/openssh/sftp-client.c user/ae/inet6/crypto/openssh/sftp-client.h user/ae/inet6/crypto/openssh/sftp-common.c user/ae/inet6/crypto/openssh/sftp-glob.c user/ae/inet6/crypto/openssh/sftp-server.0 user/ae/inet6/crypto/openssh/sftp-server.8 user/ae/inet6/crypto/openssh/sftp-server.c user/ae/inet6/crypto/openssh/sftp.0 user/ae/inet6/crypto/openssh/sftp.1 user/ae/inet6/crypto/openssh/sftp.c user/ae/inet6/crypto/openssh/ssh-add.0 user/ae/inet6/crypto/openssh/ssh-add.1 user/ae/inet6/crypto/openssh/ssh-add.c user/ae/inet6/crypto/openssh/ssh-agent.0 user/ae/inet6/crypto/openssh/ssh-agent.1 user/ae/inet6/crypto/openssh/ssh-agent.c user/ae/inet6/crypto/openssh/ssh-dss.c user/ae/inet6/crypto/openssh/ssh-ecdsa.c user/ae/inet6/crypto/openssh/ssh-keygen.0 user/ae/inet6/crypto/openssh/ssh-keygen.1 user/ae/inet6/crypto/openssh/ssh-keygen.c user/ae/inet6/crypto/openssh/ssh-keyscan.0 user/ae/inet6/crypto/openssh/ssh-keyscan.1 user/ae/inet6/crypto/openssh/ssh-keyscan.c user/ae/inet6/crypto/openssh/ssh-keysign.0 user/ae/inet6/crypto/openssh/ssh-keysign.8 user/ae/inet6/crypto/openssh/ssh-keysign.c user/ae/inet6/crypto/openssh/ssh-pkcs11-helper.c user/ae/inet6/crypto/openssh/ssh-pkcs11.c user/ae/inet6/crypto/openssh/ssh-rsa.c user/ae/inet6/crypto/openssh/ssh-sandbox.h user/ae/inet6/crypto/openssh/ssh.0 user/ae/inet6/crypto/openssh/ssh.1 user/ae/inet6/crypto/openssh/ssh.c user/ae/inet6/crypto/openssh/ssh_config user/ae/inet6/crypto/openssh/ssh_config.0 user/ae/inet6/crypto/openssh/ssh_config.5 user/ae/inet6/crypto/openssh/ssh_namespace.h user/ae/inet6/crypto/openssh/sshconnect.c user/ae/inet6/crypto/openssh/sshconnect.h user/ae/inet6/crypto/openssh/sshconnect1.c user/ae/inet6/crypto/openssh/sshconnect2.c user/ae/inet6/crypto/openssh/sshd.0 user/ae/inet6/crypto/openssh/sshd.8 user/ae/inet6/crypto/openssh/sshd.c user/ae/inet6/crypto/openssh/sshd_config user/ae/inet6/crypto/openssh/sshd_config.0 user/ae/inet6/crypto/openssh/sshd_config.5 user/ae/inet6/crypto/openssh/uidswap.c user/ae/inet6/crypto/openssh/version.h user/ae/inet6/crypto/openssh/xmalloc.c user/ae/inet6/crypto/openssl/CHANGES user/ae/inet6/crypto/openssl/Configure user/ae/inet6/crypto/openssl/Makefile user/ae/inet6/crypto/openssl/Makefile.org user/ae/inet6/crypto/openssl/NEWS user/ae/inet6/crypto/openssl/README user/ae/inet6/crypto/openssl/apps/Makefile user/ae/inet6/crypto/openssl/apps/apps.h user/ae/inet6/crypto/openssl/apps/openssl.c user/ae/inet6/crypto/openssl/apps/pkcs12.c user/ae/inet6/crypto/openssl/config user/ae/inet6/crypto/openssl/crypto/Makefile user/ae/inet6/crypto/openssl/crypto/aes/asm/aes-parisc.pl user/ae/inet6/crypto/openssl/crypto/aes/asm/bsaes-x86_64.pl user/ae/inet6/crypto/openssl/crypto/armcap.c user/ae/inet6/crypto/openssl/crypto/asn1/a_int.c user/ae/inet6/crypto/openssl/crypto/bio/bss_dgram.c user/ae/inet6/crypto/openssl/crypto/bn/Makefile user/ae/inet6/crypto/openssl/crypto/bn/asm/mips-mont.pl user/ae/inet6/crypto/openssl/crypto/bn/asm/mips.pl user/ae/inet6/crypto/openssl/crypto/bn/asm/parisc-mont.pl user/ae/inet6/crypto/openssl/crypto/bn/asm/x86_64-gf2m.pl user/ae/inet6/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl user/ae/inet6/crypto/openssl/crypto/bn/bn_nist.c user/ae/inet6/crypto/openssl/crypto/buffer/buffer.c user/ae/inet6/crypto/openssl/crypto/buffer/buffer.h user/ae/inet6/crypto/openssl/crypto/ec/ec_ameth.c user/ae/inet6/crypto/openssl/crypto/ec/ec_asn1.c user/ae/inet6/crypto/openssl/crypto/ec/ec_lib.c user/ae/inet6/crypto/openssl/crypto/engine/eng_rdrand.c user/ae/inet6/crypto/openssl/crypto/evp/Makefile user/ae/inet6/crypto/openssl/crypto/evp/digest.c user/ae/inet6/crypto/openssl/crypto/evp/e_aes.c user/ae/inet6/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c user/ae/inet6/crypto/openssl/crypto/evp/e_des3.c user/ae/inet6/crypto/openssl/crypto/evp/p5_crpt2.c user/ae/inet6/crypto/openssl/crypto/modes/Makefile user/ae/inet6/crypto/openssl/crypto/modes/asm/ghash-parisc.pl user/ae/inet6/crypto/openssl/crypto/modes/cbc128.c user/ae/inet6/crypto/openssl/crypto/modes/ccm128.c user/ae/inet6/crypto/openssl/crypto/modes/cts128.c user/ae/inet6/crypto/openssl/crypto/modes/gcm128.c user/ae/inet6/crypto/openssl/crypto/modes/modes_lcl.h user/ae/inet6/crypto/openssl/crypto/opensslv.h user/ae/inet6/crypto/openssl/crypto/pariscid.pl user/ae/inet6/crypto/openssl/crypto/pem/pem_info.c user/ae/inet6/crypto/openssl/crypto/pkcs12/p12_crt.c user/ae/inet6/crypto/openssl/crypto/rand/md_rand.c user/ae/inet6/crypto/openssl/crypto/rand/rand.h user/ae/inet6/crypto/openssl/crypto/rand/rand_err.c user/ae/inet6/crypto/openssl/crypto/rand/rand_lib.c user/ae/inet6/crypto/openssl/crypto/rc4/asm/rc4-parisc.pl user/ae/inet6/crypto/openssl/crypto/rsa/rsa_ameth.c user/ae/inet6/crypto/openssl/crypto/rsa/rsa_chk.c user/ae/inet6/crypto/openssl/crypto/rsa/rsa_pmeth.c user/ae/inet6/crypto/openssl/crypto/sha/Makefile user/ae/inet6/crypto/openssl/crypto/sha/asm/sha1-parisc.pl user/ae/inet6/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl user/ae/inet6/crypto/openssl/crypto/sha/asm/sha512-mips.pl user/ae/inet6/crypto/openssl/crypto/sha/asm/sha512-parisc.pl user/ae/inet6/crypto/openssl/crypto/sha/sha512.c user/ae/inet6/crypto/openssl/crypto/srp/srp_grps.h user/ae/inet6/crypto/openssl/crypto/srp/srp_lib.c user/ae/inet6/crypto/openssl/crypto/x509/x509_vfy.c user/ae/inet6/crypto/openssl/crypto/x509/x_all.c user/ae/inet6/crypto/openssl/crypto/x86cpuid.pl user/ae/inet6/crypto/openssl/doc/apps/cms.pod user/ae/inet6/crypto/openssl/doc/apps/rsa.pod user/ae/inet6/crypto/openssl/doc/apps/smime.pod user/ae/inet6/crypto/openssl/doc/crypto/X509_STORE_CTX_get_error.pod user/ae/inet6/crypto/openssl/doc/crypto/ecdsa.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_COMP_add_compression_method.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_CTX_add_session.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_CTX_load_verify_locations.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_CTX_set_client_CA_list.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_CTX_set_session_id_context.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_CTX_set_ssl_version.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_CTX_use_psk_identity_hint.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_accept.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_clear.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_connect.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_do_handshake.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_read.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_session_reused.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_set_fd.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_set_session.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_shutdown.pod user/ae/inet6/crypto/openssl/doc/ssl/SSL_write.pod user/ae/inet6/crypto/openssl/engines/ccgost/gost89.h user/ae/inet6/crypto/openssl/ssl/d1_both.c user/ae/inet6/crypto/openssl/ssl/d1_clnt.c user/ae/inet6/crypto/openssl/ssl/d1_lib.c user/ae/inet6/crypto/openssl/ssl/d1_pkt.c user/ae/inet6/crypto/openssl/ssl/d1_srvr.c user/ae/inet6/crypto/openssl/ssl/s23_clnt.c user/ae/inet6/crypto/openssl/ssl/s3_both.c user/ae/inet6/crypto/openssl/ssl/s3_clnt.c user/ae/inet6/crypto/openssl/ssl/s3_lib.c user/ae/inet6/crypto/openssl/ssl/s3_pkt.c user/ae/inet6/crypto/openssl/ssl/s3_srvr.c user/ae/inet6/crypto/openssl/ssl/ssl.h user/ae/inet6/crypto/openssl/ssl/ssl3.h user/ae/inet6/crypto/openssl/ssl/ssl_lib.c user/ae/inet6/crypto/openssl/ssl/ssl_locl.h user/ae/inet6/crypto/openssl/ssl/ssltest.c user/ae/inet6/crypto/openssl/ssl/t1_enc.c user/ae/inet6/crypto/openssl/ssl/t1_lib.c user/ae/inet6/crypto/openssl/util/shlib_wrap.sh user/ae/inet6/etc/defaults/periodic.conf user/ae/inet6/etc/devd.conf user/ae/inet6/etc/devd/usb.conf user/ae/inet6/etc/mtree/BSD.include.dist user/ae/inet6/etc/mtree/BSD.tests.dist user/ae/inet6/etc/rc.d/sshd user/ae/inet6/etc/rc.d/sysctl user/ae/inet6/etc/sendmail/freebsd.mc user/ae/inet6/etc/sendmail/freebsd.submit.mc user/ae/inet6/gnu/usr.bin/dialog/Makefile user/ae/inet6/gnu/usr.bin/groff/tmac/mdoc.local user/ae/inet6/include/malloc_np.h user/ae/inet6/include/ttyent.h user/ae/inet6/kerberos5/lib/libasn1/Makefile user/ae/inet6/kerberos5/lib/libgssapi_spnego/Makefile user/ae/inet6/kerberos5/lib/libhdb/Makefile user/ae/inet6/kerberos5/lib/libhx509/Makefile user/ae/inet6/lib/libc++/Makefile user/ae/inet6/lib/libc/gen/Makefile.inc user/ae/inet6/lib/libc/gen/getttyent.c user/ae/inet6/lib/libc/gen/pmadvise.c user/ae/inet6/lib/libc/gen/tls.c user/ae/inet6/lib/libc/iconv/__iconv_get_list.3 user/ae/inet6/lib/libc/iconv/iconv_canonicalize.3 user/ae/inet6/lib/libc/iconv/iconvctl.3 user/ae/inet6/lib/libc/iconv/iconvlist.3 user/ae/inet6/lib/libc/net/ip6opt.c user/ae/inet6/lib/libc/stdlib/jemalloc/Makefile.inc user/ae/inet6/lib/libc/stdlib/jemalloc/Symbol.map user/ae/inet6/lib/libc/sys/cap_enter.2 user/ae/inet6/lib/libc/sys/madvise.2 user/ae/inet6/lib/libc/sys/posix_fadvise.2 user/ae/inet6/lib/libc/sys/posix_fallocate.2 user/ae/inet6/lib/libc/sys/procctl.2 user/ae/inet6/lib/libdwarf/Makefile user/ae/inet6/lib/libelf/Makefile user/ae/inet6/lib/libfetch/common.c user/ae/inet6/lib/libfetch/common.h user/ae/inet6/lib/libfetch/http.c user/ae/inet6/lib/libmandoc/Makefile user/ae/inet6/lib/libnv/msgio.c user/ae/inet6/lib/libpmc/libpmc.c user/ae/inet6/lib/libsm/Makefile user/ae/inet6/lib/libthr/thread/thr_kill.c user/ae/inet6/lib/libusb/libusb10.c user/ae/inet6/lib/libvmmapi/vmmapi.c user/ae/inet6/lib/libvmmapi/vmmapi.h user/ae/inet6/lib/msun/arm/fenv.h user/ae/inet6/lib/msun/src/fenv-softfloat.h user/ae/inet6/lib/ncurses/Makefile user/ae/inet6/libexec/getty/ttys.5 user/ae/inet6/release/doc/en_US.ISO8859-1/relnotes/article.xml user/ae/inet6/sbin/casperd/casperd.8 user/ae/inet6/sbin/dhclient/dhclient.c user/ae/inet6/sbin/kldstat/kldstat.8 user/ae/inet6/sbin/kldstat/kldstat.c user/ae/inet6/secure/lib/libcrypto/Makefile.inc user/ae/inet6/secure/lib/libcrypto/amd64/bsaes-x86_64.S user/ae/inet6/secure/lib/libcrypto/i386/x86cpuid.s user/ae/inet6/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 user/ae/inet6/secure/lib/libcrypto/man/ASN1_STRING_length.3 user/ae/inet6/secure/lib/libcrypto/man/ASN1_STRING_new.3 user/ae/inet6/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 user/ae/inet6/secure/lib/libcrypto/man/ASN1_generate_nconf.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_ctrl.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_f_base64.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_f_buffer.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_f_cipher.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_f_md.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_f_null.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_f_ssl.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_find_type.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_new.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_new_CMS.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_push.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_read.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_s_accept.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_s_bio.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_s_connect.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_s_fd.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_s_file.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_s_mem.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_s_null.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_s_socket.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_set_callback.3 user/ae/inet6/secure/lib/libcrypto/man/BIO_should_retry.3 user/ae/inet6/secure/lib/libcrypto/man/BN_BLINDING_new.3 user/ae/inet6/secure/lib/libcrypto/man/BN_CTX_new.3 user/ae/inet6/secure/lib/libcrypto/man/BN_CTX_start.3 user/ae/inet6/secure/lib/libcrypto/man/BN_add.3 user/ae/inet6/secure/lib/libcrypto/man/BN_add_word.3 user/ae/inet6/secure/lib/libcrypto/man/BN_bn2bin.3 user/ae/inet6/secure/lib/libcrypto/man/BN_cmp.3 user/ae/inet6/secure/lib/libcrypto/man/BN_copy.3 user/ae/inet6/secure/lib/libcrypto/man/BN_generate_prime.3 user/ae/inet6/secure/lib/libcrypto/man/BN_mod_inverse.3 user/ae/inet6/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 user/ae/inet6/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 user/ae/inet6/secure/lib/libcrypto/man/BN_new.3 user/ae/inet6/secure/lib/libcrypto/man/BN_num_bytes.3 user/ae/inet6/secure/lib/libcrypto/man/BN_rand.3 user/ae/inet6/secure/lib/libcrypto/man/BN_set_bit.3 user/ae/inet6/secure/lib/libcrypto/man/BN_swap.3 user/ae/inet6/secure/lib/libcrypto/man/BN_zero.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_add0_cert.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_compress.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_decrypt.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_encrypt.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_final.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_get0_type.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_sign.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_sign_add1_signer.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_sign_receipt.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_uncompress.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_verify.3 user/ae/inet6/secure/lib/libcrypto/man/CMS_verify_receipt.3 user/ae/inet6/secure/lib/libcrypto/man/CONF_modules_free.3 user/ae/inet6/secure/lib/libcrypto/man/CONF_modules_load_file.3 user/ae/inet6/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 user/ae/inet6/secure/lib/libcrypto/man/DH_generate_key.3 user/ae/inet6/secure/lib/libcrypto/man/DH_generate_parameters.3 user/ae/inet6/secure/lib/libcrypto/man/DH_get_ex_new_index.3 user/ae/inet6/secure/lib/libcrypto/man/DH_new.3 user/ae/inet6/secure/lib/libcrypto/man/DH_set_method.3 user/ae/inet6/secure/lib/libcrypto/man/DH_size.3 user/ae/inet6/secure/lib/libcrypto/man/DSA_SIG_new.3 user/ae/inet6/secure/lib/libcrypto/man/DSA_do_sign.3 user/ae/inet6/secure/lib/libcrypto/man/DSA_dup_DH.3 user/ae/inet6/secure/lib/libcrypto/man/DSA_generate_key.3 user/ae/inet6/secure/lib/libcrypto/man/DSA_generate_parameters.3 user/ae/inet6/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 user/ae/inet6/secure/lib/libcrypto/man/DSA_new.3 user/ae/inet6/secure/lib/libcrypto/man/DSA_set_method.3 user/ae/inet6/secure/lib/libcrypto/man/DSA_sign.3 user/ae/inet6/secure/lib/libcrypto/man/DSA_size.3 user/ae/inet6/secure/lib/libcrypto/man/ERR_GET_LIB.3 user/ae/inet6/secure/lib/libcrypto/man/ERR_clear_error.3 user/ae/inet6/secure/lib/libcrypto/man/ERR_error_string.3 user/ae/inet6/secure/lib/libcrypto/man/ERR_get_error.3 user/ae/inet6/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 user/ae/inet6/secure/lib/libcrypto/man/ERR_load_strings.3 user/ae/inet6/secure/lib/libcrypto/man/ERR_print_errors.3 user/ae/inet6/secure/lib/libcrypto/man/ERR_put_error.3 user/ae/inet6/secure/lib/libcrypto/man/ERR_remove_state.3 user/ae/inet6/secure/lib/libcrypto/man/ERR_set_mark.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_BytesToKey.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_DigestInit.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_DigestSignInit.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_EncryptInit.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_OpenInit.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_PKEY_derive.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_PKEY_new.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_PKEY_sign.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_PKEY_verify.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_SealInit.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_SignInit.3 user/ae/inet6/secure/lib/libcrypto/man/EVP_VerifyInit.3 user/ae/inet6/secure/lib/libcrypto/man/OBJ_nid2obj.3 user/ae/inet6/secure/lib/libcrypto/man/OPENSSL_Applink.3 user/ae/inet6/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 user/ae/inet6/secure/lib/libcrypto/man/OPENSSL_config.3 user/ae/inet6/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 user/ae/inet6/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 user/ae/inet6/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 user/ae/inet6/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 user/ae/inet6/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 user/ae/inet6/secure/lib/libcrypto/man/PKCS12_create.3 user/ae/inet6/secure/lib/libcrypto/man/PKCS12_parse.3 user/ae/inet6/secure/lib/libcrypto/man/PKCS7_decrypt.3 user/ae/inet6/secure/lib/libcrypto/man/PKCS7_encrypt.3 user/ae/inet6/secure/lib/libcrypto/man/PKCS7_sign.3 user/ae/inet6/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 user/ae/inet6/secure/lib/libcrypto/man/PKCS7_verify.3 user/ae/inet6/secure/lib/libcrypto/man/RAND_add.3 user/ae/inet6/secure/lib/libcrypto/man/RAND_bytes.3 user/ae/inet6/secure/lib/libcrypto/man/RAND_cleanup.3 user/ae/inet6/secure/lib/libcrypto/man/RAND_egd.3 user/ae/inet6/secure/lib/libcrypto/man/RAND_load_file.3 user/ae/inet6/secure/lib/libcrypto/man/RAND_set_rand_method.3 user/ae/inet6/secure/lib/libcrypto/man/RSA_blinding_on.3 user/ae/inet6/secure/lib/libcrypto/man/RSA_check_key.3 user/ae/inet6/secure/lib/libcrypto/man/RSA_generate_key.3 user/ae/inet6/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 user/ae/inet6/secure/lib/libcrypto/man/RSA_new.3 user/ae/inet6/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 user/ae/inet6/secure/lib/libcrypto/man/RSA_print.3 user/ae/inet6/secure/lib/libcrypto/man/RSA_private_encrypt.3 user/ae/inet6/secure/lib/libcrypto/man/RSA_public_encrypt.3 user/ae/inet6/secure/lib/libcrypto/man/RSA_set_method.3 user/ae/inet6/secure/lib/libcrypto/man/RSA_sign.3 user/ae/inet6/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 user/ae/inet6/secure/lib/libcrypto/man/RSA_size.3 user/ae/inet6/secure/lib/libcrypto/man/SMIME_read_CMS.3 user/ae/inet6/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 user/ae/inet6/secure/lib/libcrypto/man/SMIME_write_CMS.3 user/ae/inet6/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 user/ae/inet6/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 user/ae/inet6/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 user/ae/inet6/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 user/ae/inet6/secure/lib/libcrypto/man/X509_NAME_print_ex.3 user/ae/inet6/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 user/ae/inet6/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 user/ae/inet6/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 user/ae/inet6/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 user/ae/inet6/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 user/ae/inet6/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 user/ae/inet6/secure/lib/libcrypto/man/X509_new.3 user/ae/inet6/secure/lib/libcrypto/man/X509_verify_cert.3 user/ae/inet6/secure/lib/libcrypto/man/bio.3 user/ae/inet6/secure/lib/libcrypto/man/blowfish.3 user/ae/inet6/secure/lib/libcrypto/man/bn.3 user/ae/inet6/secure/lib/libcrypto/man/bn_internal.3 user/ae/inet6/secure/lib/libcrypto/man/buffer.3 user/ae/inet6/secure/lib/libcrypto/man/crypto.3 user/ae/inet6/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 user/ae/inet6/secure/lib/libcrypto/man/d2i_DHparams.3 user/ae/inet6/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 user/ae/inet6/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 user/ae/inet6/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 user/ae/inet6/secure/lib/libcrypto/man/d2i_X509.3 user/ae/inet6/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 user/ae/inet6/secure/lib/libcrypto/man/d2i_X509_CRL.3 user/ae/inet6/secure/lib/libcrypto/man/d2i_X509_NAME.3 user/ae/inet6/secure/lib/libcrypto/man/d2i_X509_REQ.3 user/ae/inet6/secure/lib/libcrypto/man/d2i_X509_SIG.3 user/ae/inet6/secure/lib/libcrypto/man/des.3 user/ae/inet6/secure/lib/libcrypto/man/dh.3 user/ae/inet6/secure/lib/libcrypto/man/dsa.3 user/ae/inet6/secure/lib/libcrypto/man/ecdsa.3 user/ae/inet6/secure/lib/libcrypto/man/engine.3 user/ae/inet6/secure/lib/libcrypto/man/err.3 user/ae/inet6/secure/lib/libcrypto/man/evp.3 user/ae/inet6/secure/lib/libcrypto/man/hmac.3 user/ae/inet6/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 user/ae/inet6/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 user/ae/inet6/secure/lib/libcrypto/man/lh_stats.3 user/ae/inet6/secure/lib/libcrypto/man/lhash.3 user/ae/inet6/secure/lib/libcrypto/man/md5.3 user/ae/inet6/secure/lib/libcrypto/man/mdc2.3 user/ae/inet6/secure/lib/libcrypto/man/pem.3 user/ae/inet6/secure/lib/libcrypto/man/rand.3 user/ae/inet6/secure/lib/libcrypto/man/rc4.3 user/ae/inet6/secure/lib/libcrypto/man/ripemd.3 user/ae/inet6/secure/lib/libcrypto/man/rsa.3 user/ae/inet6/secure/lib/libcrypto/man/sha.3 user/ae/inet6/secure/lib/libcrypto/man/threads.3 user/ae/inet6/secure/lib/libcrypto/man/ui.3 user/ae/inet6/secure/lib/libcrypto/man/ui_compat.3 user/ae/inet6/secure/lib/libcrypto/man/x509.3 user/ae/inet6/secure/lib/libssh/Makefile user/ae/inet6/secure/lib/libssl/man/SSL_CIPHER_get_name.3 user/ae/inet6/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_add_session.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_ctrl.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_free.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_new.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_sess_number.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_sessions.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_mode.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_options.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_timeout.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_set_verify.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_use_certificate.3 user/ae/inet6/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 user/ae/inet6/secure/lib/libssl/man/SSL_SESSION_free.3 user/ae/inet6/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 user/ae/inet6/secure/lib/libssl/man/SSL_SESSION_get_time.3 user/ae/inet6/secure/lib/libssl/man/SSL_accept.3 user/ae/inet6/secure/lib/libssl/man/SSL_alert_type_string.3 user/ae/inet6/secure/lib/libssl/man/SSL_clear.3 user/ae/inet6/secure/lib/libssl/man/SSL_connect.3 user/ae/inet6/secure/lib/libssl/man/SSL_do_handshake.3 user/ae/inet6/secure/lib/libssl/man/SSL_free.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_SSL_CTX.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_ciphers.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_client_CA_list.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_current_cipher.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_default_timeout.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_error.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_ex_new_index.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_fd.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_peer_certificate.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_psk_identity.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_rbio.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_session.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_verify_result.3 user/ae/inet6/secure/lib/libssl/man/SSL_get_version.3 user/ae/inet6/secure/lib/libssl/man/SSL_library_init.3 user/ae/inet6/secure/lib/libssl/man/SSL_load_client_CA_file.3 user/ae/inet6/secure/lib/libssl/man/SSL_new.3 user/ae/inet6/secure/lib/libssl/man/SSL_pending.3 user/ae/inet6/secure/lib/libssl/man/SSL_read.3 user/ae/inet6/secure/lib/libssl/man/SSL_rstate_string.3 user/ae/inet6/secure/lib/libssl/man/SSL_session_reused.3 user/ae/inet6/secure/lib/libssl/man/SSL_set_bio.3 user/ae/inet6/secure/lib/libssl/man/SSL_set_connect_state.3 user/ae/inet6/secure/lib/libssl/man/SSL_set_fd.3 user/ae/inet6/secure/lib/libssl/man/SSL_set_session.3 user/ae/inet6/secure/lib/libssl/man/SSL_set_shutdown.3 user/ae/inet6/secure/lib/libssl/man/SSL_set_verify_result.3 user/ae/inet6/secure/lib/libssl/man/SSL_shutdown.3 user/ae/inet6/secure/lib/libssl/man/SSL_state_string.3 user/ae/inet6/secure/lib/libssl/man/SSL_want.3 user/ae/inet6/secure/lib/libssl/man/SSL_write.3 user/ae/inet6/secure/lib/libssl/man/d2i_SSL_SESSION.3 user/ae/inet6/secure/lib/libssl/man/ssl.3 user/ae/inet6/secure/usr.bin/openssl/man/CA.pl.1 user/ae/inet6/secure/usr.bin/openssl/man/asn1parse.1 user/ae/inet6/secure/usr.bin/openssl/man/ca.1 user/ae/inet6/secure/usr.bin/openssl/man/ciphers.1 user/ae/inet6/secure/usr.bin/openssl/man/cms.1 user/ae/inet6/secure/usr.bin/openssl/man/crl.1 user/ae/inet6/secure/usr.bin/openssl/man/crl2pkcs7.1 user/ae/inet6/secure/usr.bin/openssl/man/dgst.1 user/ae/inet6/secure/usr.bin/openssl/man/dhparam.1 user/ae/inet6/secure/usr.bin/openssl/man/dsa.1 user/ae/inet6/secure/usr.bin/openssl/man/dsaparam.1 user/ae/inet6/secure/usr.bin/openssl/man/ec.1 user/ae/inet6/secure/usr.bin/openssl/man/ecparam.1 user/ae/inet6/secure/usr.bin/openssl/man/enc.1 user/ae/inet6/secure/usr.bin/openssl/man/errstr.1 user/ae/inet6/secure/usr.bin/openssl/man/gendsa.1 user/ae/inet6/secure/usr.bin/openssl/man/genpkey.1 user/ae/inet6/secure/usr.bin/openssl/man/genrsa.1 user/ae/inet6/secure/usr.bin/openssl/man/nseq.1 user/ae/inet6/secure/usr.bin/openssl/man/ocsp.1 user/ae/inet6/secure/usr.bin/openssl/man/openssl.1 user/ae/inet6/secure/usr.bin/openssl/man/passwd.1 user/ae/inet6/secure/usr.bin/openssl/man/pkcs12.1 user/ae/inet6/secure/usr.bin/openssl/man/pkcs7.1 user/ae/inet6/secure/usr.bin/openssl/man/pkcs8.1 user/ae/inet6/secure/usr.bin/openssl/man/pkey.1 user/ae/inet6/secure/usr.bin/openssl/man/pkeyparam.1 user/ae/inet6/secure/usr.bin/openssl/man/pkeyutl.1 user/ae/inet6/secure/usr.bin/openssl/man/rand.1 user/ae/inet6/secure/usr.bin/openssl/man/req.1 user/ae/inet6/secure/usr.bin/openssl/man/rsa.1 user/ae/inet6/secure/usr.bin/openssl/man/rsautl.1 user/ae/inet6/secure/usr.bin/openssl/man/s_client.1 user/ae/inet6/secure/usr.bin/openssl/man/s_server.1 user/ae/inet6/secure/usr.bin/openssl/man/s_time.1 user/ae/inet6/secure/usr.bin/openssl/man/sess_id.1 user/ae/inet6/secure/usr.bin/openssl/man/smime.1 user/ae/inet6/secure/usr.bin/openssl/man/speed.1 user/ae/inet6/secure/usr.bin/openssl/man/spkac.1 user/ae/inet6/secure/usr.bin/openssl/man/ts.1 user/ae/inet6/secure/usr.bin/openssl/man/tsget.1 user/ae/inet6/secure/usr.bin/openssl/man/verify.1 user/ae/inet6/secure/usr.bin/openssl/man/version.1 user/ae/inet6/secure/usr.bin/openssl/man/x509.1 user/ae/inet6/secure/usr.bin/openssl/man/x509v3_config.1 user/ae/inet6/secure/usr.sbin/sshd/Makefile user/ae/inet6/share/man/man4/Makefile user/ae/inet6/share/man/man4/nvd.4 user/ae/inet6/share/man/man4/nvme.4 user/ae/inet6/share/man/man4/procdesc.4 user/ae/inet6/share/man/man4/rights.4 user/ae/inet6/share/man/man5/src.conf.5 user/ae/inet6/share/man/man9/Makefile user/ae/inet6/share/man/man9/VOP_STRATEGY.9 user/ae/inet6/share/misc/bsd-family-tree user/ae/inet6/share/misc/committers-doc.dot user/ae/inet6/share/misc/committers-ports.dot user/ae/inet6/share/misc/committers-src.dot user/ae/inet6/share/mk/bsd.own.mk user/ae/inet6/sys/amd64/amd64/db_disasm.c user/ae/inet6/sys/amd64/amd64/machdep.c user/ae/inet6/sys/amd64/amd64/mp_watchdog.c user/ae/inet6/sys/amd64/amd64/pmap.c user/ae/inet6/sys/amd64/include/smp.h user/ae/inet6/sys/amd64/include/vmm.h (contents, props changed) user/ae/inet6/sys/amd64/include/vmm_dev.h (contents, props changed) user/ae/inet6/sys/amd64/vmm/intel/vmcs.h user/ae/inet6/sys/amd64/vmm/intel/vmx.c user/ae/inet6/sys/amd64/vmm/intel/vmx.h user/ae/inet6/sys/amd64/vmm/intel/vmx_genassym.c user/ae/inet6/sys/amd64/vmm/intel/vmx_support.S user/ae/inet6/sys/amd64/vmm/io/iommu.c user/ae/inet6/sys/amd64/vmm/io/ppt.c user/ae/inet6/sys/amd64/vmm/io/ppt.h user/ae/inet6/sys/amd64/vmm/io/vlapic.c user/ae/inet6/sys/amd64/vmm/io/vlapic_priv.h user/ae/inet6/sys/amd64/vmm/vmm.c user/ae/inet6/sys/amd64/vmm/vmm_dev.c user/ae/inet6/sys/amd64/vmm/vmm_ipi.c user/ae/inet6/sys/amd64/vmm/vmm_stat.c user/ae/inet6/sys/amd64/vmm/vmm_stat.h user/ae/inet6/sys/arm/allwinner/a10_clk.c user/ae/inet6/sys/arm/allwinner/a10_ehci.c user/ae/inet6/sys/arm/allwinner/a10_gpio.c user/ae/inet6/sys/arm/allwinner/a10_wdog.c user/ae/inet6/sys/arm/allwinner/a20/a20_cpu_cfg.c user/ae/inet6/sys/arm/allwinner/a20/std.a20 user/ae/inet6/sys/arm/allwinner/aintc.c user/ae/inet6/sys/arm/allwinner/std.a10 user/ae/inet6/sys/arm/arm/bcopyinout.S user/ae/inet6/sys/arm/arm/bcopyinout_xscale.S user/ae/inet6/sys/arm/arm/busdma_machdep-v6.c user/ae/inet6/sys/arm/arm/copystr.S user/ae/inet6/sys/arm/arm/cpufunc_asm_arm8.S user/ae/inet6/sys/arm/arm/cpufunc_asm_sa1.S user/ae/inet6/sys/arm/arm/cpufunc_asm_sa11x0.S user/ae/inet6/sys/arm/arm/cpufunc_asm_xscale.S user/ae/inet6/sys/arm/arm/cpufunc_asm_xscale_c3.S user/ae/inet6/sys/arm/arm/db_trace.c user/ae/inet6/sys/arm/arm/exception.S user/ae/inet6/sys/arm/arm/fiq_subr.S user/ae/inet6/sys/arm/arm/fusu.S user/ae/inet6/sys/arm/arm/genassym.c user/ae/inet6/sys/arm/arm/generic_timer.c user/ae/inet6/sys/arm/arm/gic.c user/ae/inet6/sys/arm/arm/locore.S user/ae/inet6/sys/arm/arm/machdep.c user/ae/inet6/sys/arm/arm/mp_machdep.c user/ae/inet6/sys/arm/arm/mpcore_timer.c user/ae/inet6/sys/arm/arm/nexus.c user/ae/inet6/sys/arm/arm/pl190.c user/ae/inet6/sys/arm/arm/pl310.c user/ae/inet6/sys/arm/arm/setcpsr.S user/ae/inet6/sys/arm/arm/setstack.s user/ae/inet6/sys/arm/arm/swtch.S user/ae/inet6/sys/arm/arm/vfp.c user/ae/inet6/sys/arm/at91/at91.c user/ae/inet6/sys/arm/at91/at91_machdep.c user/ae/inet6/sys/arm/at91/at91rm92reg.h user/ae/inet6/sys/arm/at91/at91sam9260reg.h user/ae/inet6/sys/arm/at91/at91sam9g20reg.h user/ae/inet6/sys/arm/at91/at91sam9g45reg.h user/ae/inet6/sys/arm/at91/board_hl201.c user/ae/inet6/sys/arm/at91/board_sam9260ek.c user/ae/inet6/sys/arm/at91/files.at91 user/ae/inet6/sys/arm/at91/std.bwct user/ae/inet6/sys/arm/at91/std.eb9200 user/ae/inet6/sys/arm/at91/std.ethernut5 user/ae/inet6/sys/arm/at91/std.hl200 user/ae/inet6/sys/arm/at91/std.hl201 user/ae/inet6/sys/arm/at91/std.kb920x user/ae/inet6/sys/arm/at91/std.qila9g20 user/ae/inet6/sys/arm/at91/std.sam9260ek user/ae/inet6/sys/arm/at91/std.sam9g20ek user/ae/inet6/sys/arm/at91/std.sam9x25ek user/ae/inet6/sys/arm/at91/std.sn9g45 user/ae/inet6/sys/arm/at91/std.tsc4370 user/ae/inet6/sys/arm/at91/uart_bus_at91usart.c user/ae/inet6/sys/arm/at91/uart_cpu_at91usart.c user/ae/inet6/sys/arm/at91/uart_dev_at91usart.c user/ae/inet6/sys/arm/broadcom/bcm2835/bcm2835_bsc.c user/ae/inet6/sys/arm/broadcom/bcm2835/bcm2835_dma.c user/ae/inet6/sys/arm/broadcom/bcm2835/bcm2835_gpio.c user/ae/inet6/sys/arm/broadcom/bcm2835/bcm2835_intr.c user/ae/inet6/sys/arm/broadcom/bcm2835/bcm2835_mbox.c user/ae/inet6/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c user/ae/inet6/sys/arm/broadcom/bcm2835/bcm2835_spi.c user/ae/inet6/sys/arm/broadcom/bcm2835/bcm2835_systimer.c user/ae/inet6/sys/arm/broadcom/bcm2835/bcm2835_wdog.c user/ae/inet6/sys/arm/broadcom/bcm2835/std.rpi user/ae/inet6/sys/arm/conf/ATMEL user/ae/inet6/sys/arm/conf/BWCT user/ae/inet6/sys/arm/conf/CNS11XXNAS user/ae/inet6/sys/arm/conf/COSMIC user/ae/inet6/sys/arm/conf/CRB user/ae/inet6/sys/arm/conf/EP80219 user/ae/inet6/sys/arm/conf/GUMSTIX user/ae/inet6/sys/arm/conf/HL200 user/ae/inet6/sys/arm/conf/HL201 user/ae/inet6/sys/arm/conf/IQ31244 user/ae/inet6/sys/arm/conf/NOTES user/ae/inet6/sys/arm/conf/NSLU user/ae/inet6/sys/arm/conf/QILA9G20 user/ae/inet6/sys/arm/conf/SAM9260EK user/ae/inet6/sys/arm/conf/SAM9G20EK user/ae/inet6/sys/arm/conf/SAM9X25EK user/ae/inet6/sys/arm/conf/SN9G45 user/ae/inet6/sys/arm/conf/VERSATILEPB user/ae/inet6/sys/arm/econa/files.econa user/ae/inet6/sys/arm/econa/std.econa user/ae/inet6/sys/arm/freescale/imx/i2c.c user/ae/inet6/sys/arm/freescale/imx/imx51_ccm.c user/ae/inet6/sys/arm/freescale/imx/imx51_gpio.c user/ae/inet6/sys/arm/freescale/imx/imx51_iomux.c user/ae/inet6/sys/arm/freescale/imx/imx51_ipuv3.c user/ae/inet6/sys/arm/freescale/imx/imx51_ipuv3_fbd.c user/ae/inet6/sys/arm/freescale/imx/imx6_anatop.c user/ae/inet6/sys/arm/freescale/imx/imx6_ccm.c user/ae/inet6/sys/arm/freescale/imx/imx6_usbphy.c user/ae/inet6/sys/arm/freescale/imx/imx_gpt.c user/ae/inet6/sys/arm/freescale/imx/imx_nop_usbphy.c user/ae/inet6/sys/arm/freescale/imx/imx_sdhci.c user/ae/inet6/sys/arm/freescale/imx/imx_wdog.c user/ae/inet6/sys/arm/freescale/imx/std.imx51 user/ae/inet6/sys/arm/freescale/imx/std.imx53 user/ae/inet6/sys/arm/freescale/imx/std.imx6 user/ae/inet6/sys/arm/freescale/imx/tzic.c user/ae/inet6/sys/arm/freescale/vybrid/files.vybrid user/ae/inet6/sys/arm/freescale/vybrid/std.vybrid user/ae/inet6/sys/arm/freescale/vybrid/vf_anadig.c user/ae/inet6/sys/arm/freescale/vybrid/vf_ccm.c user/ae/inet6/sys/arm/freescale/vybrid/vf_common.h user/ae/inet6/sys/arm/freescale/vybrid/vf_ehci.c user/ae/inet6/sys/arm/freescale/vybrid/vf_gpio.c user/ae/inet6/sys/arm/freescale/vybrid/vf_iomuxc.c user/ae/inet6/sys/arm/freescale/vybrid/vf_mscm.c user/ae/inet6/sys/arm/freescale/vybrid/vf_nfc.c user/ae/inet6/sys/arm/freescale/vybrid/vf_src.c user/ae/inet6/sys/arm/include/asmacros.h user/ae/inet6/sys/arm/include/atomic.h user/ae/inet6/sys/arm/include/pcpu.h user/ae/inet6/sys/arm/lpc/if_lpe.c user/ae/inet6/sys/arm/lpc/lpc_dmac.c user/ae/inet6/sys/arm/lpc/lpc_fb.c user/ae/inet6/sys/arm/lpc/lpc_gpio.c user/ae/inet6/sys/arm/lpc/lpc_intc.c user/ae/inet6/sys/arm/lpc/lpc_mmc.c user/ae/inet6/sys/arm/lpc/lpc_ohci.c user/ae/inet6/sys/arm/lpc/lpc_pwr.c user/ae/inet6/sys/arm/lpc/lpc_rtc.c user/ae/inet6/sys/arm/lpc/lpc_spi.c user/ae/inet6/sys/arm/lpc/lpc_timer.c user/ae/inet6/sys/arm/lpc/std.lpc user/ae/inet6/sys/arm/mv/armadaxp/std.armadaxp user/ae/inet6/sys/arm/mv/discovery/std.db78xxx user/ae/inet6/sys/arm/mv/gpio.c user/ae/inet6/sys/arm/mv/ic.c user/ae/inet6/sys/arm/mv/kirkwood/std.kirkwood user/ae/inet6/sys/arm/mv/mpic.c user/ae/inet6/sys/arm/mv/mv_pci.c user/ae/inet6/sys/arm/mv/mv_sata.c user/ae/inet6/sys/arm/mv/mv_ts.c user/ae/inet6/sys/arm/mv/orion/std.db88f5xxx user/ae/inet6/sys/arm/mv/orion/std.ts7800 user/ae/inet6/sys/arm/mv/rtc.c user/ae/inet6/sys/arm/mv/timer.c user/ae/inet6/sys/arm/mv/twsi.c user/ae/inet6/sys/arm/rockchip/rk30xx_gpio.c user/ae/inet6/sys/arm/rockchip/rk30xx_grf.c user/ae/inet6/sys/arm/rockchip/rk30xx_pmu.c user/ae/inet6/sys/arm/rockchip/rk30xx_wdog.c user/ae/inet6/sys/arm/rockchip/std.rk30xx user/ae/inet6/sys/arm/s3c2xx0/std.ln2410sbc user/ae/inet6/sys/arm/s3c2xx0/uart_dev_s3c2410.c user/ae/inet6/sys/arm/sa11x0/uart_dev_sa1110.c user/ae/inet6/sys/arm/samsung/exynos/arch_timer.c user/ae/inet6/sys/arm/samsung/exynos/ehci_exynos5.c user/ae/inet6/sys/arm/samsung/exynos/std.exynos5 user/ae/inet6/sys/arm/tegra/std.tegra2 user/ae/inet6/sys/arm/ti/aintc.c user/ae/inet6/sys/arm/ti/am335x/am335x_dmtimer.c user/ae/inet6/sys/arm/ti/am335x/am335x_lcd.c user/ae/inet6/sys/arm/ti/am335x/am335x_prcm.c user/ae/inet6/sys/arm/ti/am335x/am335x_pwm.c user/ae/inet6/sys/arm/ti/am335x/am335x_usbss.c user/ae/inet6/sys/arm/ti/am335x/files.am335x user/ae/inet6/sys/arm/ti/am335x/std.am335x user/ae/inet6/sys/arm/ti/cpsw/if_cpsw.c user/ae/inet6/sys/arm/ti/omap4/omap4_prcm_clks.c user/ae/inet6/sys/arm/ti/omap4/std.omap4 user/ae/inet6/sys/arm/ti/ti_edma3.c user/ae/inet6/sys/arm/ti/ti_gpio.c user/ae/inet6/sys/arm/ti/ti_i2c.c user/ae/inet6/sys/arm/ti/ti_mbox.c user/ae/inet6/sys/arm/ti/ti_mmchs.c user/ae/inet6/sys/arm/ti/ti_pruss.c user/ae/inet6/sys/arm/ti/ti_scm.c user/ae/inet6/sys/arm/ti/ti_sdhci.c user/ae/inet6/sys/arm/ti/ti_sdma.c user/ae/inet6/sys/arm/ti/usb/omap_ehci.c user/ae/inet6/sys/arm/versatile/if_smc_fdt.c user/ae/inet6/sys/arm/versatile/pl050.c user/ae/inet6/sys/arm/versatile/sp804.c user/ae/inet6/sys/arm/versatile/versatile_clcd.c user/ae/inet6/sys/arm/versatile/versatile_pci.c user/ae/inet6/sys/arm/versatile/versatile_sic.c user/ae/inet6/sys/arm/xilinx/std.zynq7 user/ae/inet6/sys/arm/xilinx/uart_dev_cdnc.c user/ae/inet6/sys/arm/xilinx/zy7_devcfg.c user/ae/inet6/sys/arm/xilinx/zy7_ehci.c user/ae/inet6/sys/arm/xilinx/zy7_gpio.c user/ae/inet6/sys/arm/xilinx/zy7_slcr.c user/ae/inet6/sys/arm/xscale/ixp425/std.avila user/ae/inet6/sys/boot/fdt/dts/vybrid-cosmic.dts user/ae/inet6/sys/boot/fdt/dts/vybrid.dtsi user/ae/inet6/sys/boot/i386/libi386/comconsole.c user/ae/inet6/sys/boot/pc98/libpc98/comconsole.c user/ae/inet6/sys/cam/cam_xpt.c user/ae/inet6/sys/cam/scsi/scsi_da.c user/ae/inet6/sys/compat/freebsd32/freebsd32_misc.c user/ae/inet6/sys/conf/Makefile.arm user/ae/inet6/sys/conf/NOTES user/ae/inet6/sys/conf/files user/ae/inet6/sys/conf/files.powerpc user/ae/inet6/sys/conf/kern.mk user/ae/inet6/sys/conf/kern.pre.mk user/ae/inet6/sys/conf/ldscript.arm user/ae/inet6/sys/conf/newvers.sh user/ae/inet6/sys/conf/options user/ae/inet6/sys/conf/options.arm user/ae/inet6/sys/dev/acpica/acpi.c user/ae/inet6/sys/dev/adb/adb_kbd.c user/ae/inet6/sys/dev/adb/adb_mouse.c user/ae/inet6/sys/dev/aha/aha.c user/ae/inet6/sys/dev/altera/atse/if_atse_fdt.c user/ae/inet6/sys/dev/altera/avgen/altera_avgen_fdt.c user/ae/inet6/sys/dev/altera/jtag_uart/altera_jtag_uart_fdt.c user/ae/inet6/sys/dev/altera/sdcard/altera_sdcard_fdt.c user/ae/inet6/sys/dev/ata/chipsets/ata-fsl.c user/ae/inet6/sys/dev/cesa/cesa.c user/ae/inet6/sys/dev/cfi/cfi_bus_fdt.c user/ae/inet6/sys/dev/e1000/e1000_defines.h user/ae/inet6/sys/dev/e1000/if_igb.c user/ae/inet6/sys/dev/fdt/fdt_common.c user/ae/inet6/sys/dev/fdt/simplebus.c user/ae/inet6/sys/dev/ffec/if_ffec.c user/ae/inet6/sys/dev/hwpmc/hwpmc_core.c user/ae/inet6/sys/dev/hwpmc/hwpmc_mpc7xxx.c user/ae/inet6/sys/dev/hwpmc/hwpmc_piv.c user/ae/inet6/sys/dev/hwpmc/hwpmc_powerpc.c user/ae/inet6/sys/dev/hwpmc/hwpmc_powerpc.h user/ae/inet6/sys/dev/hwpmc/hwpmc_ppro.c user/ae/inet6/sys/dev/hwpmc/hwpmc_uncore.c user/ae/inet6/sys/dev/hwpmc/hwpmc_x86.c user/ae/inet6/sys/dev/hwpmc/pmc_events.h user/ae/inet6/sys/dev/mge/if_mge.c user/ae/inet6/sys/dev/mmc/mmc.c user/ae/inet6/sys/dev/mvs/mvs_soc.c user/ae/inet6/sys/dev/nand/nfc_at91.c user/ae/inet6/sys/dev/ofw/ofw_bus.h user/ae/inet6/sys/dev/ofw/ofw_bus_if.m user/ae/inet6/sys/dev/ofw/ofw_bus_subr.c user/ae/inet6/sys/dev/ofw/ofw_bus_subr.h user/ae/inet6/sys/dev/ofw/ofw_nexus.c user/ae/inet6/sys/dev/pccbb/pccbb.c user/ae/inet6/sys/dev/pci/pci.c user/ae/inet6/sys/dev/pci/pci_user.c user/ae/inet6/sys/dev/pci/pcivar.h user/ae/inet6/sys/dev/quicc/quicc_bfe_fdt.c user/ae/inet6/sys/dev/sdhci/sdhci_fdt.c user/ae/inet6/sys/dev/sec/sec.c user/ae/inet6/sys/dev/terasic/de4led/terasic_de4led_fdt.c user/ae/inet6/sys/dev/terasic/mtl/terasic_mtl_fdt.c user/ae/inet6/sys/dev/tsec/if_tsec_fdt.c user/ae/inet6/sys/dev/uart/uart.h user/ae/inet6/sys/dev/uart/uart_bus_fdt.c user/ae/inet6/sys/dev/uart/uart_core.c user/ae/inet6/sys/dev/uart/uart_cpu.h user/ae/inet6/sys/dev/uart/uart_cpu_fdt.c user/ae/inet6/sys/dev/uart/uart_dev_imx.c user/ae/inet6/sys/dev/uart/uart_dev_lpc.c user/ae/inet6/sys/dev/uart/uart_dev_ns8250.c user/ae/inet6/sys/dev/uart/uart_dev_ns8250.h user/ae/inet6/sys/dev/uart/uart_dev_pl011.c user/ae/inet6/sys/dev/uart/uart_dev_quicc.c user/ae/inet6/sys/dev/uart/uart_dev_sab82532.c user/ae/inet6/sys/dev/uart/uart_dev_z8530.c user/ae/inet6/sys/dev/uart/uart_if.m user/ae/inet6/sys/dev/usb/controller/dwc_otg_fdt.c user/ae/inet6/sys/dev/usb/controller/ehci.c user/ae/inet6/sys/dev/usb/controller/ehci_fsl.c user/ae/inet6/sys/dev/usb/controller/ehci_imx.c user/ae/inet6/sys/dev/usb/controller/ehci_mv.c user/ae/inet6/sys/dev/usb/input/ukbd.c user/ae/inet6/sys/dev/usb/net/uhso.c user/ae/inet6/sys/dev/usb/quirk/usb_quirk.c user/ae/inet6/sys/dev/usb/usb_dev.c user/ae/inet6/sys/dev/usb/usb_freebsd.h user/ae/inet6/sys/dev/usb/usb_freebsd_loader.h user/ae/inet6/sys/dev/usb/usb_hub.c user/ae/inet6/sys/dev/usb/usb_transfer.c user/ae/inet6/sys/dev/usb/usbdevs user/ae/inet6/sys/dev/usb/wlan/if_run.c user/ae/inet6/sys/dev/virtio/network/if_vtnet.c user/ae/inet6/sys/dev/virtio/network/if_vtnetvar.h user/ae/inet6/sys/dev/virtio/scsi/virtio_scsi.c user/ae/inet6/sys/dev/vt/hw/fb/vt_fb.c user/ae/inet6/sys/dev/vt/hw/ofwfb/ofwfb.c (contents, props changed) user/ae/inet6/sys/fs/ext2fs/ext2_alloc.c user/ae/inet6/sys/fs/ext2fs/ext2_bmap.c user/ae/inet6/sys/fs/ext2fs/ext2_dinode.h user/ae/inet6/sys/fs/ext2fs/ext2_htree.c user/ae/inet6/sys/fs/ext2fs/ext2_inode_cnv.c user/ae/inet6/sys/fs/ext2fs/ext2_lookup.c user/ae/inet6/sys/fs/ext2fs/ext2_subr.c user/ae/inet6/sys/fs/ext2fs/ext2_vfsops.c user/ae/inet6/sys/fs/ext2fs/ext2_vnops.c user/ae/inet6/sys/fs/ext2fs/inode.h user/ae/inet6/sys/geom/geom_ctl.c user/ae/inet6/sys/geom/multipath/g_multipath.c user/ae/inet6/sys/geom/uncompress/g_uncompress.c user/ae/inet6/sys/i386/i386/machdep.c user/ae/inet6/sys/i386/i386/mp_watchdog.c user/ae/inet6/sys/i386/i386/pmap.c user/ae/inet6/sys/i386/include/smp.h user/ae/inet6/sys/i386/xen/mptable.c user/ae/inet6/sys/ia64/ia64/pmap.c user/ae/inet6/sys/kern/capabilities.conf user/ae/inet6/sys/kern/init_sysent.c user/ae/inet6/sys/kern/sched_ule.c user/ae/inet6/sys/kern/subr_lock.c user/ae/inet6/sys/kern/subr_prf.c user/ae/inet6/sys/kern/subr_witness.c user/ae/inet6/sys/kern/uipc_shm.c user/ae/inet6/sys/kern/vfs_bio.c user/ae/inet6/sys/kern/vfs_syscalls.c user/ae/inet6/sys/mips/adm5120/uart_dev_adm5120.c user/ae/inet6/sys/mips/atheros/ar724xreg.h user/ae/inet6/sys/mips/atheros/uart_dev_ar933x.c user/ae/inet6/sys/mips/beri/beri_pic.c user/ae/inet6/sys/mips/beri/files.beri user/ae/inet6/sys/mips/cavium/uart_dev_oct16550.c user/ae/inet6/sys/mips/mips/machdep.c user/ae/inet6/sys/mips/rt305x/uart_dev_rt305x.c user/ae/inet6/sys/modules/hwpmc/Makefile user/ae/inet6/sys/modules/usb/Makefile user/ae/inet6/sys/netinet/ip_mroute.c user/ae/inet6/sys/netinet/tcp_input.c user/ae/inet6/sys/netinet/tcp_syncache.c user/ae/inet6/sys/netinet/tcp_usrreq.c user/ae/inet6/sys/netinet6/nd6.c user/ae/inet6/sys/netpfil/ipfw/ip_fw2.c user/ae/inet6/sys/netpfil/ipfw/ip_fw_private.h user/ae/inet6/sys/netpfil/ipfw/ip_fw_sockopt.c user/ae/inet6/sys/netpfil/pf/pf.c user/ae/inet6/sys/netpfil/pf/pf_ioctl.c user/ae/inet6/sys/opencrypto/cryptosoft.c user/ae/inet6/sys/pc98/pc98/machdep.c user/ae/inet6/sys/powerpc/aim/machdep.c user/ae/inet6/sys/powerpc/aim/mmu_oea.c user/ae/inet6/sys/powerpc/aim/mp_cpudep.c user/ae/inet6/sys/powerpc/aim/trap_subr32.S user/ae/inet6/sys/powerpc/aim/trap_subr64.S user/ae/inet6/sys/powerpc/booke/pmap.c user/ae/inet6/sys/powerpc/conf/GENERIC user/ae/inet6/sys/powerpc/conf/MPC85XX user/ae/inet6/sys/powerpc/include/cpu.h user/ae/inet6/sys/powerpc/include/platform.h user/ae/inet6/sys/powerpc/include/pmc_mdep.h user/ae/inet6/sys/powerpc/include/spr.h user/ae/inet6/sys/powerpc/ofw/ofw_pci.c user/ae/inet6/sys/powerpc/ofw/ofw_pcib_pci.c user/ae/inet6/sys/powerpc/ofw/ofw_pcibus.c user/ae/inet6/sys/powerpc/powermac/macio.c user/ae/inet6/sys/powerpc/powermac/maciovar.h user/ae/inet6/sys/powerpc/powermac/platform_powermac.c user/ae/inet6/sys/powerpc/powermac/pmu.c user/ae/inet6/sys/powerpc/powerpc/exec_machdep.c user/ae/inet6/sys/powerpc/powerpc/genassym.c user/ae/inet6/sys/powerpc/powerpc/mp_machdep.c user/ae/inet6/sys/powerpc/powerpc/nexus.c user/ae/inet6/sys/powerpc/powerpc/platform.c user/ae/inet6/sys/powerpc/powerpc/platform_if.m user/ae/inet6/sys/powerpc/pseries/vdevice.c user/ae/inet6/sys/rpc/svc.c user/ae/inet6/sys/sys/elf_common.h user/ae/inet6/sys/sys/lock.h user/ae/inet6/sys/sys/mutex.h user/ae/inet6/sys/sys/param.h user/ae/inet6/sys/sys/pciio.h user/ae/inet6/sys/sys/pmc.h user/ae/inet6/sys/sys/rwlock.h user/ae/inet6/sys/sys/systm.h user/ae/inet6/sys/vm/vm_fault.c user/ae/inet6/sys/vm/vm_page.c user/ae/inet6/sys/vm/vm_pageout.c user/ae/inet6/sys/vm/vnode_pager.c user/ae/inet6/sys/x86/acpica/madt.c user/ae/inet6/sys/x86/acpica/srat.c user/ae/inet6/sys/x86/include/legacyvar.h user/ae/inet6/sys/x86/include/specialreg.h user/ae/inet6/sys/x86/pci/pci_bus.c user/ae/inet6/sys/x86/pci/qpi.c user/ae/inet6/sys/x86/x86/io_apic.c user/ae/inet6/sys/x86/x86/local_apic.c user/ae/inet6/sys/x86/x86/mca.c user/ae/inet6/sys/x86/x86/mptable.c user/ae/inet6/sys/x86/x86/mptable_pci.c user/ae/inet6/sys/x86/x86/msi.c user/ae/inet6/sys/x86/x86/nexus.c user/ae/inet6/sys/x86/xen/xen_intr.c user/ae/inet6/tests/Makefile user/ae/inet6/tools/build/mk/OptionalObsoleteFiles.inc user/ae/inet6/tools/tools/makeroot/makeroot.sh user/ae/inet6/usr.bin/Makefile user/ae/inet6/usr.bin/bmake/Makefile user/ae/inet6/usr.bin/bmake/Makefile.config user/ae/inet6/usr.bin/bmake/config.h user/ae/inet6/usr.bin/fetch/fetch.1 user/ae/inet6/usr.bin/fetch/fetch.c user/ae/inet6/usr.bin/login/login.c user/ae/inet6/usr.bin/mandoc/Makefile user/ae/inet6/usr.bin/systat/Makefile user/ae/inet6/usr.bin/systat/main.c user/ae/inet6/usr.bin/vi/Makefile user/ae/inet6/usr.sbin/Makefile user/ae/inet6/usr.sbin/bhyve/Makefile user/ae/inet6/usr.sbin/bhyve/bhyve.8 user/ae/inet6/usr.sbin/bhyve/bhyverun.c user/ae/inet6/usr.sbin/bhyve/block_if.c user/ae/inet6/usr.sbin/bhyve/mptbl.c user/ae/inet6/usr.sbin/bhyve/pci_ahci.c user/ae/inet6/usr.sbin/bhyve/pci_emul.c user/ae/inet6/usr.sbin/bhyve/pci_emul.h user/ae/inet6/usr.sbin/bhyve/pci_uart.c user/ae/inet6/usr.sbin/bhyve/pci_virtio_block.c user/ae/inet6/usr.sbin/bhyve/pci_virtio_net.c user/ae/inet6/usr.sbin/bhyve/virtio.c user/ae/inet6/usr.sbin/bhyve/virtio.h user/ae/inet6/usr.sbin/bhyveload/bhyveload.8 user/ae/inet6/usr.sbin/bsdconfig/share/strings.subr user/ae/inet6/usr.sbin/bsdinstall/distextract/Makefile user/ae/inet6/usr.sbin/bsdinstall/distfetch/Makefile user/ae/inet6/usr.sbin/bsdinstall/partedit/Makefile user/ae/inet6/usr.sbin/bsdinstall/scripts/services user/ae/inet6/usr.sbin/config/mkmakefile.c user/ae/inet6/usr.sbin/cron/cron/cron.c user/ae/inet6/usr.sbin/etcupdate/etcupdate.sh user/ae/inet6/usr.sbin/mergemaster/mergemaster.sh user/ae/inet6/usr.sbin/mtree/Makefile user/ae/inet6/usr.sbin/newsyslog/newsyslog.c user/ae/inet6/usr.sbin/nmtree/Makefile user/ae/inet6/usr.sbin/pciconf/pciconf.8 user/ae/inet6/usr.sbin/pciconf/pciconf.c user/ae/inet6/usr.sbin/pkg/config.c user/ae/inet6/usr.sbin/services_mkdb/extern.h user/ae/inet6/usr.sbin/services_mkdb/services_mkdb.8 user/ae/inet6/usr.sbin/services_mkdb/services_mkdb.c user/ae/inet6/usr.sbin/tzsetup/Makefile user/ae/inet6/usr.sbin/usbdump/usbdump.c Directory Properties: user/ae/inet6/ (props changed) user/ae/inet6/cddl/ (props changed) user/ae/inet6/cddl/contrib/opensolaris/ (props changed) user/ae/inet6/contrib/binutils/ (props changed) user/ae/inet6/contrib/bmake/ (props changed) user/ae/inet6/contrib/dtc/ (props changed) user/ae/inet6/contrib/gcc/ (props changed) user/ae/inet6/contrib/groff/ (props changed) user/ae/inet6/contrib/libc++/ (props changed) user/ae/inet6/contrib/libc-vis/ (props changed) user/ae/inet6/contrib/libyaml/ (props changed) user/ae/inet6/contrib/llvm/ (props changed) user/ae/inet6/contrib/mdocml/ (props changed) user/ae/inet6/contrib/pf/ (props changed) user/ae/inet6/contrib/sendmail/ (props changed) user/ae/inet6/crypto/openssh/ (props changed) user/ae/inet6/crypto/openssl/ (props changed) user/ae/inet6/etc/ (props changed) user/ae/inet6/include/ (props changed) user/ae/inet6/lib/libc/ (props changed) user/ae/inet6/lib/libvmmapi/ (props changed) user/ae/inet6/sbin/ (props changed) user/ae/inet6/share/man/man4/ (props changed) user/ae/inet6/sys/ (props changed) user/ae/inet6/sys/amd64/vmm/ (props changed) user/ae/inet6/sys/boot/ (props changed) user/ae/inet6/sys/cddl/contrib/opensolaris/ (props changed) user/ae/inet6/sys/conf/ (props changed) user/ae/inet6/usr.sbin/bhyve/ (props changed) user/ae/inet6/usr.sbin/bhyveload/ (props changed) Modified: user/ae/inet6/Makefile.inc1 ============================================================================== --- user/ae/inet6/Makefile.inc1 Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/Makefile.inc1 Tue Feb 4 09:47:14 2014 (r261481) @@ -246,7 +246,7 @@ BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ SSP_CFLAGS= \ -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN \ -DNO_PIC -DNO_PROFILE -DNO_SHARED \ - -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD + -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD -DNO_TESTS # build-tools stage TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ @@ -256,12 +256,12 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ BOOTSTRAPPING=${OSRELDATE} \ SSP_CFLAGS= \ -DNO_LINT \ - -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD + -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD -DNO_TESTS # cross-tools stage XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - -DWITHOUT_GDB + -DWITHOUT_GDB -DNO_TESTS # kernel-tools stage KTMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ @@ -414,7 +414,8 @@ LIB32WMAKEFLAGS+= \ -DLIBRARIES_ONLY \ -DNO_CPU_CFLAGS \ -DNO_CTF \ - -DNO_LINT + -DNO_LINT \ + -DNO_TESTS LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ -DWITHOUT_MAN -DWITHOUT_INFO -DWITHOUT_HTML @@ -447,7 +448,7 @@ MTREEFLAGS+= -W .endif .if defined(DB_FROM_SRC) || defined(NO_ROOT) IMAKE_INSTALL= INSTALL="install ${INSTALLFLAGS}" -IMAKE_MTREE= MTREE_CMD="nmtree ${MTREEFLAGS}" +IMAKE_MTREE= MTREE_CMD="mtree ${MTREEFLAGS}" .endif # kernel stage @@ -569,7 +570,7 @@ _libraries: @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; \ ${WMAKE} -DNO_FSCHG -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT \ - -DWITHOUT_MAN -DNO_PROFILE libraries + -DWITHOUT_MAN -DNO_PROFILE -DNO_TESTS libraries _depend: @echo @echo "--------------------------------------------------------------" @@ -764,14 +765,10 @@ _install-info= install-info _zoneinfo= zic tzsetup .endif -.if exists(/usr/sbin/nmtree) -_nmtree_itools= nmtree -.endif - ITOOLS= [ awk cap_mkdb cat chflags chmod chown \ date echo egrep find grep id install ${_install-info} \ - ln lockf make mkdir mtree ${_nmtree_itools} mv pwd_mkdb \ - rm sed sh sysctl test true uname wc ${_zoneinfo} + ln lockf make mkdir mtree mv pwd_mkdb \ + rm sed services_mkdb sh sysctl test true uname wc ${_zoneinfo} # # distributeworld @@ -833,11 +830,11 @@ distributeworld installworld: _installch -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib >/dev/null .endif .if defined(NO_ROOT) - ${IMAKEENV} nmtree -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \ + ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \ sed -e 's#^\./#./${dist}/#' >> ${METALOG} - ${IMAKEENV} nmtree -C -f ${.CURDIR}/etc/mtree/BSD.usr.dist | \ + ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.usr.dist | \ sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} - ${IMAKEENV} nmtree -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \ + ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \ sed -e 's#^\./#./${dist}/usr/include/#' >> ${METALOG} .endif .endfor @@ -1501,7 +1498,12 @@ _prebuild_libs= ${_kerberos5_lib_libasn1 ${_secure_lib_libcrypto} ${_lib_libldns} \ ${_secure_lib_libssh} ${_secure_lib_libssl} -.if ${MK_TESTS} != "no" +.if defined(WITH_ATF) || ${MK_TESTS} != "no" +.if !defined(WITH_ATF) +# Ensure that the ATF libraries will be built during make libraries, even +# though they will have -DNO_TESTS +MAKE+= -DWITH_ATF +.endif _lib_atf= lib/atf .endif @@ -1877,7 +1879,7 @@ XDEV_CPUTYPE?=${TARGET_CPUTYPE} NOFUN=-DNO_FSCHG -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT \ -DWITHOUT_MAN -DWITHOUT_NLS -DNO_PROFILE \ - -DWITHOUT_KERBEROS -DWITHOUT_RESCUE -DNO_WARNS \ + -DWITHOUT_KERBEROS -DWITHOUT_RESCUE -DNO_TESTS -DNO_WARNS \ TARGET=${XDEV} TARGET_ARCH=${XDEV_ARCH} \ CPUTYPE=${XDEV_CPUTYPE} Modified: user/ae/inet6/ObsoleteFiles.inc ============================================================================== --- user/ae/inet6/ObsoleteFiles.inc Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/ObsoleteFiles.inc Tue Feb 4 09:47:14 2014 (r261481) @@ -38,6 +38,11 @@ # xargs -n1 | sort | uniq -d; # done +# 20140128: libelf and libdwarf import +OLD_LIBS+=usr/lib/libelf.so.1 +OLD_LIBS+=usr/lib32/libelf.so.1 +OLD_LIBS+=usr/lib/libdwarf.so.3 +OLD_LIBS+=usr/lib32/libdwarf.so.3 # 20131215: libcam version bumped OLD_LIBS+=lib/libcam.so.6 usr/lib32/libcam.so.6 # 20131202: libcapsicum and libcasper moved to /lib/ Modified: user/ae/inet6/UPDATING ============================================================================== --- user/ae/inet6/UPDATING Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/UPDATING Tue Feb 4 09:47:14 2014 (r261481) @@ -31,6 +31,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20140128: + The libelf and libdwarf libraries have been updated to newer + versions from upstream. Shared library version numbers for + these two libraries were bumped. Any ports or binaries + requiring these two libraries should be recompiled. + __FreeBSD_version is bumped to 1100006. + 20140110: If a Makefile in a tests/ directory was auto-generating a Kyuafile instead of providing an explicit one, this would prevent such Modified: user/ae/inet6/bin/pax/options.c ============================================================================== --- user/ae/inet6/bin/pax/options.c Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/bin/pax/options.c Tue Feb 4 09:47:14 2014 (r261481) @@ -1385,6 +1385,7 @@ opt_add(const char *str) free(lstr); return(-1); } + lstr = NULL; /* parts of string going onto the OPLIST */ *pt++ = '\0'; opt->name = frpt; opt->value = pt; @@ -1400,6 +1401,7 @@ opt_add(const char *str) optail->fow = opt; optail = opt; } + free(lstr); return(0); } Modified: user/ae/inet6/bin/sh/alias.c ============================================================================== --- user/ae/inet6/bin/sh/alias.c Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/bin/sh/alias.c Tue Feb 4 09:47:14 2014 (r261481) @@ -68,18 +68,7 @@ setalias(const char *name, const char *v if (equal(name, ap->name)) { INTOFF; ckfree(ap->val); - /* See HACK below. */ -#ifdef notyet ap->val = savestr(val); -#else - { - size_t len = strlen(val); - ap->val = ckmalloc(len + 2); - memcpy(ap->val, val, len); - ap->val[len] = ' '; - ap->val[len+1] = '\0'; - } -#endif INTON; return; } @@ -88,34 +77,7 @@ setalias(const char *name, const char *v INTOFF; ap = ckmalloc(sizeof (struct alias)); ap->name = savestr(name); - /* - * XXX - HACK: in order that the parser will not finish reading the - * alias value off the input before processing the next alias, we - * dummy up an extra space at the end of the alias. This is a crock - * and should be re-thought. The idea (if you feel inclined to help) - * is to avoid alias recursions. The mechanism used is: when - * expanding an alias, the value of the alias is pushed back on the - * input as a string and a pointer to the alias is stored with the - * string. The alias is marked as being in use. When the input - * routine finishes reading the string, it marks the alias not - * in use. The problem is synchronization with the parser. Since - * it reads ahead, the alias is marked not in use before the - * resulting token(s) is next checked for further alias sub. The - * H A C K is that we add a little fluff after the alias value - * so that the string will not be exhausted. This is a good - * idea ------- ***NOT*** - */ -#ifdef notyet ap->val = savestr(val); -#else /* hack */ - { - size_t len = strlen(val); - ap->val = ckmalloc(len + 2); - memcpy(ap->val, val, len); - ap->val[len] = ' '; /* fluff */ - ap->val[len+1] = '\0'; - } -#endif ap->flag = 0; ap->next = *app; *app = ap; @@ -207,14 +169,8 @@ comparealiases(const void *p1, const voi static void printalias(const struct alias *a) { - char *p; - out1fmt("%s=", a->name); - /* Don't print the space added above. */ - p = a->val + strlen(a->val) - 1; - *p = '\0'; out1qstr(a->val); - *p = ' '; out1c('\n'); } Modified: user/ae/inet6/bin/sh/input.c ============================================================================== --- user/ae/inet6/bin/sh/input.c Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/bin/sh/input.c Tue Feb 4 09:47:14 2014 (r261481) @@ -226,7 +226,14 @@ preadbuffer(void) int more; char savec; - if (parsefile->strpush) { + while (parsefile->strpush) { + /* + * Add a space to the end of an alias to ensure that the + * alias remains in use while parsing its last word. + * This avoids alias recursions. + */ + if (parsenleft == -1 && parsefile->strpush->ap != NULL) + return ' '; popstring(); if (--parsenleft >= 0) return (*parsenextc++); @@ -360,12 +367,16 @@ popstring(void) struct strpush *sp = parsefile->strpush; INTOFF; + if (sp->ap) { + if (parsenextc != sp->ap->val && + (parsenextc[-1] == ' ' || parsenextc[-1] == '\t')) + forcealias(); + sp->ap->flag &= ~ALIASINUSE; + } parsenextc = sp->prevstring; parsenleft = sp->prevnleft; parselleft = sp->prevlleft; /*out2fmt_flush("*** calling popstring: restoring to '%s'\n", parsenextc);*/ - if (sp->ap) - sp->ap->flag &= ~ALIASINUSE; parsefile->strpush = sp->prev; if (sp != &(parsefile->basestrpush)) ckfree(sp); Modified: user/ae/inet6/bin/sh/parser.c ============================================================================== --- user/ae/inet6/bin/sh/parser.c Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/bin/sh/parser.c Tue Feb 4 09:47:14 2014 (r261481) @@ -683,6 +683,12 @@ makebinary(int type, union node *n1, uni } void +forcealias(void) +{ + checkkwd |= CHKALIAS; +} + +void fixredir(union node *n, const char *text, int err) { TRACE(("Fix redir %s %d\n", text, err)); Modified: user/ae/inet6/bin/sh/parser.h ============================================================================== --- user/ae/inet6/bin/sh/parser.h Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/bin/sh/parser.h Tue Feb 4 09:47:14 2014 (r261481) @@ -76,6 +76,7 @@ extern const char *const parsekwd[]; union node *parsecmd(int); +void forcealias(void); void fixredir(union node *, const char *, int); int goodname(const char *); int isassignment(const char *); Modified: user/ae/inet6/bin/sh/sh.1 ============================================================================== --- user/ae/inet6/bin/sh/sh.1 Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/bin/sh/sh.1 Tue Feb 4 09:47:14 2014 (r261481) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd January 3, 2014 +.Dd January 26, 2014 .Dt SH 1 .Os .Sh NAME @@ -533,6 +533,20 @@ would become .Pp .Dl "ls -F foobar" .Pp +Aliases are also recognized after an alias +whose value ends with a space or tab. +For example, if there is also an alias called +.Dq Li nohup +with the value +.Dq Li "nohup " , +then the input +.Pp +.Dl "nohup lf foobar" +.Pp +would become +.Pp +.Dl "nohup ls -F foobar" +.Pp Aliases provide a convenient way for naive users to create shorthands for commands without having to learn how to create functions with arguments. Modified: user/ae/inet6/bin/sh/tests/builtins/command3.0.stdout ============================================================================== --- user/ae/inet6/bin/sh/tests/builtins/command3.0.stdout Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/bin/sh/tests/builtins/command3.0.stdout Tue Feb 4 09:47:14 2014 (r261481) @@ -4,4 +4,4 @@ true fun break if -alias foo='bar ' +alias foo=bar Modified: user/ae/inet6/bin/sh/tests/builtins/command5.0.stdout ============================================================================== --- user/ae/inet6/bin/sh/tests/builtins/command5.0.stdout Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/bin/sh/tests/builtins/command5.0.stdout Tue Feb 4 09:47:14 2014 (r261481) @@ -5,4 +5,4 @@ fun is a shell function break is a special shell builtin if is a shell keyword { is a shell keyword -foo is an alias for bar +foo is an alias for bar Modified: user/ae/inet6/bin/sh/tests/builtins/command6.0.stdout ============================================================================== --- user/ae/inet6/bin/sh/tests/builtins/command6.0.stdout Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/bin/sh/tests/builtins/command6.0.stdout Tue Feb 4 09:47:14 2014 (r261481) @@ -4,4 +4,4 @@ fun is a shell function break is a special shell builtin if is a shell keyword { is a shell keyword -foo is an alias for bar +foo is an alias for bar Modified: user/ae/inet6/bin/sh/tests/parser/Makefile ============================================================================== --- user/ae/inet6/bin/sh/tests/parser/Makefile Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/bin/sh/tests/parser/Makefile Tue Feb 4 09:47:14 2014 (r261481) @@ -15,6 +15,11 @@ FILES+= alias7.0 FILES+= alias8.0 FILES+= alias9.0 FILES+= alias10.0 +FILES+= alias11.0 +FILES+= alias12.0 +FILES+= alias13.0 +FILES+= alias14.0 +FILES+= alias15.0 alias15.0.stdout FILES+= and-pipe-not.0 FILES+= case1.0 FILES+= case2.0 Copied: user/ae/inet6/bin/sh/tests/parser/alias11.0 (from r261480, head/bin/sh/tests/parser/alias11.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ae/inet6/bin/sh/tests/parser/alias11.0 Tue Feb 4 09:47:14 2014 (r261481, copy of r261480, head/bin/sh/tests/parser/alias11.0) @@ -0,0 +1,6 @@ +# $FreeBSD$ + +alias alias0=alias1 +alias alias1=exit +eval 'alias0 0' +exit 3 Copied: user/ae/inet6/bin/sh/tests/parser/alias12.0 (from r261480, head/bin/sh/tests/parser/alias12.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ae/inet6/bin/sh/tests/parser/alias12.0 Tue Feb 4 09:47:14 2014 (r261481, copy of r261480, head/bin/sh/tests/parser/alias12.0) @@ -0,0 +1,6 @@ +# $FreeBSD$ + +unalias -a +alias alias0=command +alias true='echo bad' +eval 'alias0 true' Copied: user/ae/inet6/bin/sh/tests/parser/alias13.0 (from r261480, head/bin/sh/tests/parser/alias13.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ae/inet6/bin/sh/tests/parser/alias13.0 Tue Feb 4 09:47:14 2014 (r261481, copy of r261480, head/bin/sh/tests/parser/alias13.0) @@ -0,0 +1,6 @@ +# $FreeBSD$ + +unalias -a +alias command=command +alias true='echo bad' +eval 'command true' Copied: user/ae/inet6/bin/sh/tests/parser/alias14.0 (from r261480, head/bin/sh/tests/parser/alias14.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ae/inet6/bin/sh/tests/parser/alias14.0 Tue Feb 4 09:47:14 2014 (r261481, copy of r261480, head/bin/sh/tests/parser/alias14.0) @@ -0,0 +1,6 @@ +# $FreeBSD$ + +alias command='command ' +alias alias0=exit +eval 'command alias0 0' +exit 3 Copied: user/ae/inet6/bin/sh/tests/parser/alias15.0 (from r261480, head/bin/sh/tests/parser/alias15.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ae/inet6/bin/sh/tests/parser/alias15.0 Tue Feb 4 09:47:14 2014 (r261481, copy of r261480, head/bin/sh/tests/parser/alias15.0) @@ -0,0 +1,12 @@ +# $FreeBSD$ + +f_echoanddo() { + printf '%s\n' "$*" + "$@" +} + +alias echoanddo='f_echoanddo ' +alias alias0='echo test2' +eval 'echoanddo echo test1' +eval 'echoanddo alias0' +exit 0 Copied: user/ae/inet6/bin/sh/tests/parser/alias15.0.stdout (from r261480, head/bin/sh/tests/parser/alias15.0.stdout) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ae/inet6/bin/sh/tests/parser/alias15.0.stdout Tue Feb 4 09:47:14 2014 (r261481, copy of r261480, head/bin/sh/tests/parser/alias15.0.stdout) @@ -0,0 +1,4 @@ +echo test1 +test1 +echo test2 +test2 Modified: user/ae/inet6/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c ============================================================================== --- user/ae/inet6/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c Tue Feb 4 09:47:14 2014 (r261481) @@ -734,11 +734,6 @@ dt_zalloc(dtrace_hdl_t *dtp, size_t size { void *data; - if (size > 16 * 1024 * 1024) { - (void) dt_set_errno(dtp, EDT_NOMEM); - return (NULL); - } - if ((data = malloc(size)) == NULL) (void) dt_set_errno(dtp, EDT_NOMEM); else @@ -752,11 +747,6 @@ dt_alloc(dtrace_hdl_t *dtp, size_t size) { void *data; - if (size > 16 * 1024 * 1024) { - (void) dt_set_errno(dtp, EDT_NOMEM); - return (NULL); - } - if ((data = malloc(size)) == NULL) (void) dt_set_errno(dtp, EDT_NOMEM); Modified: user/ae/inet6/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c ============================================================================== --- user/ae/inet6/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Tue Feb 4 09:47:14 2014 (r261481) @@ -96,9 +96,6 @@ #include "list.h" #include "traverse.h" -/* The version of DWARF which we support. */ -#define DWARF_VERSION 2 - /* * We need to define a couple of our own intrinsics, to smooth out some of the * differences between the GCC and DevPro DWARF emitters. See the referenced @@ -271,7 +268,7 @@ die_off(dwarf_t *dw, Dwarf_Die die) return (off); terminate("failed to get offset for die: %s\n", - dwarf_errmsg(&dw->dw_err)); + dwarf_errmsg(dw->dw_err)); /*NOTREACHED*/ return (0); } @@ -289,7 +286,7 @@ die_sibling(dwarf_t *dw, Dwarf_Die die) return (NULL); terminate("die %llu: failed to find type sibling: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); /*NOTREACHED*/ return (NULL); } @@ -306,7 +303,7 @@ die_child(dwarf_t *dw, Dwarf_Die die) return (NULL); terminate("die %llu: failed to find type child: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); /*NOTREACHED*/ return (NULL); } @@ -320,7 +317,7 @@ die_tag(dwarf_t *dw, Dwarf_Die die) return (tag); terminate("die %llu: failed to get tag for type: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); /*NOTREACHED*/ return (0); } @@ -343,7 +340,7 @@ die_attr(dwarf_t *dw, Dwarf_Die die, Dwa } terminate("die %llu: failed to get attribute for type: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); /*NOTREACHED*/ return (NULL); } @@ -353,10 +350,10 @@ die_signed(dwarf_t *dw, Dwarf_Die die, D int req) { *valp = 0; - if (dwarf_attrval_signed(die, name, valp, &dw->dw_err) != DWARF_E_NONE) { + if (dwarf_attrval_signed(die, name, valp, &dw->dw_err) != DW_DLV_OK) { if (req) terminate("die %llu: failed to get signed: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); return (0); } @@ -368,10 +365,10 @@ die_unsigned(dwarf_t *dw, Dwarf_Die die, int req) { *valp = 0; - if (dwarf_attrval_unsigned(die, name, valp, &dw->dw_err) != DWARF_E_NONE) { + if (dwarf_attrval_unsigned(die, name, valp, &dw->dw_err) != DW_DLV_OK) { if (req) terminate("die %llu: failed to get unsigned: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); return (0); } @@ -383,10 +380,10 @@ die_bool(dwarf_t *dw, Dwarf_Die die, Dwa { *valp = 0; - if (dwarf_attrval_flag(die, name, valp, &dw->dw_err) != DWARF_E_NONE) { + if (dwarf_attrval_flag(die, name, valp, &dw->dw_err) != DW_DLV_OK) { if (req) terminate("die %llu: failed to get flag: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); return (0); } @@ -398,11 +395,11 @@ die_string(dwarf_t *dw, Dwarf_Die die, D { const char *str = NULL; - if (dwarf_attrval_string(die, name, &str, &dw->dw_err) != DWARF_E_NONE || + if (dwarf_attrval_string(die, name, &str, &dw->dw_err) != DW_DLV_OK || str == NULL) { if (req) terminate("die %llu: failed to get string: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); else *strp = NULL; return (0); @@ -417,9 +414,9 @@ die_attr_ref(dwarf_t *dw, Dwarf_Die die, { Dwarf_Off off; - if (dwarf_attrval_unsigned(die, name, &off, &dw->dw_err) != DWARF_E_NONE) { + if (dwarf_attrval_unsigned(die, name, &off, &dw->dw_err) != DW_DLV_OK) { terminate("die %llu: failed to get ref: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); } return (off); @@ -431,6 +428,8 @@ die_name(dwarf_t *dw, Dwarf_Die die) char *str = NULL; (void) die_string(dw, die, DW_AT_name, &str, 0); + if (str == NULL) + str = xstrdup(""); return (str); } @@ -489,21 +488,73 @@ die_mem_offset(dwarf_t *dw, Dwarf_Die di { Dwarf_Locdesc *loc = NULL; Dwarf_Signed locnum = 0; + Dwarf_Attribute at; + Dwarf_Half form; + + if (name != DW_AT_data_member_location) + terminate("die %llu: can only process attribute " + "DW_AT_data_member_location\n", die_off(dw, die)); - if (dwarf_locdesc(die, name, &loc, &locnum, &dw->dw_err) != DW_DLV_OK) + if ((at = die_attr(dw, die, name, 0)) == NULL) return (0); - if (locnum != 1 || loc->ld_s->lr_atom != DW_OP_plus_uconst) { - terminate("die %llu: cannot parse member offset\n", - die_off(dw, die)); - } + if (dwarf_whatform(at, &form, &dw->dw_err) != DW_DLV_OK) + return (0); - *valp = loc->ld_s->lr_number; + switch (form) { + case DW_FORM_sec_offset: + case DW_FORM_block: + case DW_FORM_block1: + case DW_FORM_block2: + case DW_FORM_block4: + /* + * GCC in base and Clang (3.3 or below) generates + * DW_AT_data_member_location attribute with DW_FORM_block* + * form. The attribute contains one DW_OP_plus_uconst + * operator. The member offset stores in the operand. + */ + if (dwarf_loclist(at, &loc, &locnum, &dw->dw_err) != DW_DLV_OK) + return (0); + if (locnum != 1 || loc->ld_s->lr_atom != DW_OP_plus_uconst) { + terminate("die %llu: cannot parse member offset with " + "operator other than DW_OP_plus_uconst\n", + die_off(dw, die)); + } + *valp = loc->ld_s->lr_number; + if (loc != NULL) { + dwarf_dealloc(dw->dw_dw, loc->ld_s, DW_DLA_LOC_BLOCK); + dwarf_dealloc(dw->dw_dw, loc, DW_DLA_LOCDESC); + } + break; - if (loc != NULL) - if (dwarf_locdesc_free(loc, &dw->dw_err) != DW_DLV_OK) - terminate("die %llu: cannot free location descriptor: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + case DW_FORM_data1: + case DW_FORM_data2: + case DW_FORM_data4: + case DW_FORM_data8: + case DW_FORM_udata: + /* + * Clang 3.4 generates DW_AT_data_member_location attribute + * with DW_FORM_data* form (constant class). The attribute + * stores a contant value which is the member offset. + * + * However, note that DW_FORM_data[48] in DWARF version 2 or 3 + * could be used as a section offset (offset into .debug_loc in + * this case). Here we assume the attribute always stores a + * constant because we know Clang 3.4 does this and GCC in + * base won't emit DW_FORM_data[48] for this attribute. This + * code will remain correct if future vesrions of Clang and + * GCC conform to DWARF4 standard and only use the form + * DW_FORM_sec_offset for section offset. + */ + if (dwarf_attrval_unsigned(die, name, valp, &dw->dw_err) != + DW_DLV_OK) + return (0); + break; + + default: + terminate("die %llu: cannot parse member offset with form " + "%u\n", die_off(dw, die), form); + } return (1); } @@ -885,6 +936,9 @@ die_sou_create(dwarf_t *dw, Dwarf_Die st int type, const char *typename) { Dwarf_Unsigned sz, bitsz, bitoff, maxsz=0; +#if BYTE_ORDER == _LITTLE_ENDIAN + Dwarf_Unsigned bysz; +#endif Dwarf_Die mem; mlist_t *ml, **mlastp; iidesc_t *ii; @@ -959,8 +1013,26 @@ die_sou_create(dwarf_t *dw, Dwarf_Die st #if BYTE_ORDER == _BIG_ENDIAN ml->ml_offset += bitoff; #else - ml->ml_offset += tdesc_bitsize(ml->ml_type) - bitoff - - ml->ml_size; + /* + * Note that Clang 3.4 will sometimes generate + * member DIE before generating the DIE for the + * member's type. The code can not handle this + * properly so that tdesc_bitsize(ml->ml_type) will + * return 0 because ml->ml_type is unknown. As a + * result, a wrong member offset will be calculated. + * To workaround this, we can instead try to + * retrieve the value of DW_AT_byte_size attribute + * which stores the byte size of the space occupied + * by the type. If this attribute exists, its value + * should equal to tdesc_bitsize(ml->ml_type)/NBBY. + */ + if (die_unsigned(dw, mem, DW_AT_byte_size, &bysz, 0) && + bysz > 0) + ml->ml_offset += bysz * NBBY - bitoff - + ml->ml_size; + else + ml->ml_offset += tdesc_bitsize(ml->ml_type) - + bitoff - ml->ml_size; #endif } @@ -1852,7 +1924,7 @@ int dw_read(tdata_t *td, Elf *elf, char *filename __unused) { Dwarf_Unsigned abboff, hdrlen, nxthdr; - Dwarf_Half vers, addrsz; + Dwarf_Half vers, addrsz, offsz; Dwarf_Die cu = 0; Dwarf_Die child = 0; dwarf_t dw; @@ -1869,7 +1941,7 @@ dw_read(tdata_t *td, Elf *elf, char *fil dw.dw_enumhash = hash_new(TDESC_HASH_BUCKETS, tdesc_namehash, tdesc_namecmp); - if ((rc = dwarf_elf_init(elf, DW_DLC_READ, &dw.dw_dw, + if ((rc = dwarf_elf_init(elf, DW_DLC_READ, NULL, NULL, &dw.dw_dw, &dw.dw_err)) == DW_DLV_NO_ENTRY) { if (should_have_dwarf(elf)) { errno = ENOENT; @@ -1878,7 +1950,7 @@ dw_read(tdata_t *td, Elf *elf, char *fil return (0); } } else if (rc != DW_DLV_OK) { - if (dwarf_errno(&dw.dw_err) == DW_DLE_DEBUG_INFO_NULL) { + if (dwarf_errno(dw.dw_err) == DW_DLE_DEBUG_INFO_NULL) { /* * There's no type data in the DWARF section, but * libdwarf is too clever to handle that properly. @@ -1887,12 +1959,12 @@ dw_read(tdata_t *td, Elf *elf, char *fil } terminate("failed to initialize DWARF: %s\n", - dwarf_errmsg(&dw.dw_err)); + dwarf_errmsg(dw.dw_err)); } - if ((rc = dwarf_next_cu_header(dw.dw_dw, &hdrlen, &vers, &abboff, - &addrsz, &nxthdr, &dw.dw_err)) != DW_DLV_OK) - terminate("rc = %d %s\n", rc, dwarf_errmsg(&dw.dw_err)); + if ((rc = dwarf_next_cu_header_b(dw.dw_dw, &hdrlen, &vers, &abboff, + &addrsz, &offsz, NULL, &nxthdr, &dw.dw_err)) != DW_DLV_OK) + terminate("rc = %d %s\n", rc, dwarf_errmsg(dw.dw_err)); if ((cu = die_sibling(&dw, NULL)) == NULL || (((child = die_child(&dw, cu)) == NULL) && @@ -1909,9 +1981,9 @@ dw_read(tdata_t *td, Elf *elf, char *fil terminate("file contains too many types\n"); debug(1, "DWARF version: %d\n", vers); - if (vers != DWARF_VERSION) { + if (vers < 2 || vers > 4) { terminate("file contains incompatible version %d DWARF code " - "(version 2 required)\n", vers); + "(version 2, 3 or 4 required)\n", vers); } if (die_string(&dw, cu, DW_AT_producer, &prod, 0)) { @@ -1930,11 +2002,11 @@ dw_read(tdata_t *td, Elf *elf, char *fil if ((child = die_child(&dw, cu)) != NULL) die_create(&dw, child); - if ((rc = dwarf_next_cu_header(dw.dw_dw, &hdrlen, &vers, &abboff, - &addrsz, &nxthdr, &dw.dw_err)) != DW_DLV_NO_ENTRY) + if ((rc = dwarf_next_cu_header_b(dw.dw_dw, &hdrlen, &vers, &abboff, + &addrsz, &offsz, NULL, &nxthdr, &dw.dw_err)) != DW_DLV_NO_ENTRY) terminate("multiple compilation units not supported\n"); - (void) dwarf_finish(&dw.dw_dw, &dw.dw_err); + (void) dwarf_finish(dw.dw_dw, &dw.dw_err); die_resolve(&dw); Modified: user/ae/inet6/contrib/binutils/gas/config/tc-i386.c ============================================================================== --- user/ae/inet6/contrib/binutils/gas/config/tc-i386.c Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/contrib/binutils/gas/config/tc-i386.c Tue Feb 4 09:47:14 2014 (r261481) @@ -1827,7 +1827,7 @@ md_assemble (line) { expressionS *exp; - if ((i.tm.cpu_flags & CpuSSE3) && i.operands > 0) + if ((i.tm.cpu_flags & (CpuSSE3|CpuSMAP)) && i.operands > 0) { /* Streaming SIMD extensions 3 Instructions have the fixed operands with an opcode suffix which is coded in the same Modified: user/ae/inet6/contrib/binutils/gas/config/tc-ppc.c ============================================================================== --- user/ae/inet6/contrib/binutils/gas/config/tc-ppc.c Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/contrib/binutils/gas/config/tc-ppc.c Tue Feb 4 09:47:14 2014 (r261481) @@ -681,7 +681,7 @@ ppc_parse_name (const char *name, expres /* The type of processor we are assembling for. This is one or more of the PPC_OPCODE flags defined in opcode/ppc.h. */ -static unsigned long ppc_cpu = 0; +static unsigned long ppc_cpu = PPC_OPCODE_ANY; /* Whether to target xcoff64/elf64. */ static unsigned int ppc_obj64 = BFD_DEFAULT_TARGET_SIZE == 64; Modified: user/ae/inet6/contrib/binutils/opcodes/i386-dis.c ============================================================================== --- user/ae/inet6/contrib/binutils/opcodes/i386-dis.c Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/contrib/binutils/opcodes/i386-dis.c Tue Feb 4 09:47:14 2014 (r261481) @@ -6257,6 +6257,16 @@ PNI_Fixup (int extrachar ATTRIBUTE_UNUSE codep++; } + else if (modrm.mod == 3 && modrm.reg == 1 && modrm.rm <= 3) + { + size_t olen = strlen (obuf); + char *p = obuf + olen - 4; + if (*codep == 0xca) + strcpy (p, "clac"); + else if (*codep == 0xcb) + strcpy (p, "stac"); + codep++; + } else OP_M (0, sizeflag); } Modified: user/ae/inet6/contrib/binutils/opcodes/i386-opc.h ============================================================================== --- user/ae/inet6/contrib/binutils/opcodes/i386-opc.h Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/contrib/binutils/opcodes/i386-opc.h Tue Feb 4 09:47:14 2014 (r261481) @@ -80,6 +80,7 @@ typedef struct template #define CpuPCLMUL 0x10000000 /* Carry-less Multiplication extensions */ #define CpuRdRnd 0x20000000 /* Intel Random Number Generator extensions */ +#define CpuSMAP 0x40000000 /* Intel Supervisor Mode Access Prevention */ /* SSE4.1/4.2 Instructions required */ #define CpuSSE4 (CpuSSE4_1|CpuSSE4_2) @@ -88,7 +89,7 @@ typedef struct template #define CpuUnknownFlags (Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|Cpu686 \ |CpuP4|CpuSledgehammer|CpuMMX|CpuMMX2|CpuSSE|CpuSSE2|CpuSSE3|CpuVMX \ |Cpu3dnow|Cpu3dnowA|CpuK6|CpuPadLock|CpuSVME|CpuSSSE3|CpuSSE4_1 \ - |CpuSSE4_2|CpuABM|CpuSSE4a|CpuXSAVE|CpuAES|CpuPCLMUL|CpuRdRnd) + |CpuSSE4_2|CpuABM|CpuSSE4a|CpuXSAVE|CpuAES|CpuPCLMUL|CpuRdRnd|CpuSMAP) /* the bits in opcode_modifier are used to generate the final opcode from the base_opcode. These bits also are used to detect alternate forms of Modified: user/ae/inet6/contrib/binutils/opcodes/i386-tbl.h ============================================================================== --- user/ae/inet6/contrib/binutils/opcodes/i386-tbl.h Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/contrib/binutils/opcodes/i386-tbl.h Tue Feb 4 09:47:14 2014 (r261481) @@ -4379,6 +4379,12 @@ const template i386_optab[] = {"rdrand", 1, 0x0fc7, 0x6, CpuRdRnd, Modrm|NoSuf, { Reg16|Reg32|Reg64 } }, + + /* Intel Supervisor Mode Access Prevention extensions */ + {"clac", 0, 0x0f01, 0xca, CpuSMAP, + NoSuf|ImmExt, { 0, 0, 0 } }, + {"stac", 0, 0x0f01, 0xcb, CpuSMAP, + NoSuf|ImmExt, { 0, 0, 0 } }, { NULL, 0, 0, 0, 0, 0, { 0 } } }; Modified: user/ae/inet6/contrib/bmake/ChangeLog ============================================================================== --- user/ae/inet6/contrib/bmake/ChangeLog Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/contrib/bmake/ChangeLog Tue Feb 4 09:47:14 2014 (r261481) @@ -1,3 +1,37 @@ +2014-01-03 Simon J. Gerraty + + * boot-strap: ignore mksrc=none + +2014-01-02 Simon J. Gerraty + + * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk + +2014-01-01 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20140101 + * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) + * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max + * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for + Hurd) + * configure.in: Add AC_PREREQ and check for + sysctl; patch from Andrew Shadura andrewsh at debian.org + +2013-10-16 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20131010 + * lose the const from arg to systcl to avoid problems on older BSDs. + +2013-10-01 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20131001 + Merge with NetBSD make, pick up + o main.c: for NATIVE build sysctl to get MACHINE_ARCH from + hw.machine_arch if necessary. + o meta.c: meta_oodate - need to look at src of Link and target + of Move as well. + * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. + provide __arraycount() if needed. + 2013-09-04 Simon J. Gerraty * Makefile (MAKE_VERSION): 20130904 Modified: user/ae/inet6/contrib/bmake/Makefile ============================================================================== --- user/ae/inet6/contrib/bmake/Makefile Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/contrib/bmake/Makefile Tue Feb 4 09:47:14 2014 (r261481) @@ -1,7 +1,7 @@ -# $Id: Makefile,v 1.20 2013/09/04 15:42:03 sjg Exp $ +# $Id: Makefile,v 1.23 2014/01/02 22:20:52 sjg Exp $ # Base version on src date -MAKE_VERSION= 20130904 +MAKE_VERSION= 20140101 PROG= bmake @@ -68,7 +68,7 @@ SRCS+= ${LIBOBJS:T:.o=.c} prefix?= /usr srcdir?= ${.CURDIR} -DEFAULT_SYS_PATH?= .../share/mk:${prefix}/share/mk +DEFAULT_SYS_PATH?= ${prefix}/share/mk CPPFLAGS+= -DUSE_META CFLAGS+= ${CPPFLAGS} Modified: user/ae/inet6/contrib/bmake/Makefile.config.in ============================================================================== --- user/ae/inet6/contrib/bmake/Makefile.config.in Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/contrib/bmake/Makefile.config.in Tue Feb 4 09:47:14 2014 (r261481) @@ -14,3 +14,7 @@ LIBOBJS= @LIBOBJS@ LDADD= @LIBS@ USE_META= @use_meta@ FILEMON_H= @filemon_h@ +BMAKE_PATH_MAX?= @bmake_path_max@ +# used if MAXPATHLEN not defined +CPPFLAGS+= -DBMAKE_PATH_MAX=${BMAKE_PATH_MAX} + Modified: user/ae/inet6/contrib/bmake/bmake.1 ============================================================================== --- user/ae/inet6/contrib/bmake/bmake.1 Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/contrib/bmake/bmake.1 Tue Feb 4 09:47:14 2014 (r261481) @@ -1,4 +1,4 @@ -.\" $NetBSD: make.1,v 1.222 2013/08/11 09:53:49 apb Exp $ +.\" $NetBSD: make.1,v 1.226 2013/11/07 18:50:46 dholland Exp $ .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 .\" -.Dd August 11, 2013 +.Dd October 25, 2013 .Dt MAKE 1 .Os .Sh NAME @@ -745,7 +745,7 @@ then output for each target is prefixed .Ql --- target --- the first part of which can be controlled via .Va .MAKE.JOB.PREFIX . -If +If .Va .MAKE.JOB.PREFIX is empty, no token is printed. .br @@ -1066,6 +1066,13 @@ may be used. The wildcard characters may be escaped with a backslash .Pq Ql \e . +As a consequence of the way values are split into words, matched, +and then joined, a construct like +.Dl ${VAR:M*} +will normalise the inter-word spacing, removing all leading and +trailing space, and converting multiple consecutive spaces +to single spaces. +. .It Cm \&:N Ns Ar pattern This is identical to .Ql Cm \&:M , @@ -1209,7 +1216,7 @@ The modifier is just like the .Cm \&:S modifier except that the old and new strings, instead of being -simple strings, are a regular expression (see +simple strings, are an extended regular expression (see .Xr regex 3 ) string .Ar pattern @@ -1751,7 +1758,7 @@ or .Fl t options were specified. Normally used to mark recursive -.Nm Ns 's . +.Nm Ns s . .It Ic .META Create a meta file for the target, even if it is flagged as .Ic .PHONY , Modified: user/ae/inet6/contrib/bmake/bmake.cat1 ============================================================================== --- user/ae/inet6/contrib/bmake/bmake.cat1 Tue Feb 4 09:30:42 2014 (r261480) +++ user/ae/inet6/contrib/bmake/bmake.cat1 Tue Feb 4 09:47:14 2014 (r261481) @@ -690,7 +690,13 @@ VVAARRIIAABBLLEE AASSSSIIGG ::MM_p_a_t_t_e_r_n Select only those words that match _p_a_t_t_e_r_n. The standard shell wildcard characters (`*', `?', and `[]') may be used. The wildcard - characters may be escaped with a backslash (`\'). + characters may be escaped with a backslash (`\'). As a consequence + of the way values are split into words, matched, and then joined, a + construct like + ${VAR:M*} + will normalise the inter-word spacing, removing all leading and + trailing space, and converting multiple consecutive spaces to single + spaces. ::NN_p_a_t_t_e_r_n This is identical to `::MM', but selects all words which do not match @@ -777,18 +783,18 @@ VVAARRIIAABBLLEE AASSSSIIGG ::CC/_p_a_t_t_e_r_n/_r_e_p_l_a_c_e_m_e_n_t/[11ggWW] The ::CC modifier is just like the ::SS modifier except that the old and - new strings, instead of being simple strings, are a regular expres- - sion (see regex(3)) string _p_a_t_t_e_r_n and an ed(1)-style string - _r_e_p_l_a_c_e_m_e_n_t. Normally, the first occurrence of the pattern _p_a_t_t_e_r_n - in each word of the value is substituted with _r_e_p_l_a_c_e_m_e_n_t. The `1' - modifier causes the substitution to apply to at most one word; the - `g' modifier causes the substitution to apply to as many instances *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Tue Feb 4 16:18:39 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3A07C39C; Tue, 4 Feb 2014 16:18:39 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 2515B1D3E; Tue, 4 Feb 2014 16:18:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s14GIdvd041795; Tue, 4 Feb 2014 16:18:39 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s14GIcjO041794; Tue, 4 Feb 2014 16:18:38 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201402041618.s14GIcjO041794@svn.freebsd.org> From: Glen Barber Date: Tue, 4 Feb 2014 16:18:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261489 - user/gjb/hacking/release-embedded/release/arm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Feb 2014 16:18:39 -0000 Author: gjb Date: Tue Feb 4 16:18:38 2014 New Revision: 261489 URL: http://svnweb.freebsd.org/changeset/base/261489 Log: Pass WORLD_FLAGS to the gcc and xdev builds. Building gnu/usr.bin/cc/ with '-j' set blows up quite impressively, so add '-j1' after WORLD_FLAGS, and add a comment explaining why '-j1' is there. Sponsored by: The FreeBSD Foundation Modified: user/gjb/hacking/release-embedded/release/arm/release.sh Modified: user/gjb/hacking/release-embedded/release/arm/release.sh ============================================================================== --- user/gjb/hacking/release-embedded/release/arm/release.sh Tue Feb 4 14:30:34 2014 (r261488) +++ user/gjb/hacking/release-embedded/release/arm/release.sh Tue Feb 4 16:18:38 2014 (r261489) @@ -61,11 +61,14 @@ install_uboot() { main() { # Build gcc for use in the chroot for arm builds. + # This is not '-j'-safe, so force '-j1' to allow using + # additional, non-'-j' options specified in WORLD_FLAGS. eval chroot ${CHROOTDIR} make -C /usr/src/gnu/usr.bin/cc \ - WITH_GCC=1 obj depend all install + WITH_GCC=1 ${WORLD_FLAGS} -j1 obj depend all install # Build the 'xdev' target for crochet. eval chroot ${CHROOTDIR} make -C /usr/src \ - XDEV=${XDEV} XDEV_ARCH=${XDEV_ARCH} WITH_GCC=1 xdev + XDEV=${XDEV} XDEV_ARCH=${XDEV_ARCH} WITH_GCC=1 \ + ${WORLD_FLAGS} xdev # Run the ldconfig(8) startup script so /var/run/ld-elf*.so.hints # is created. From owner-svn-src-user@FreeBSD.ORG Thu Feb 6 11:40:05 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CCCD62F1; Thu, 6 Feb 2014 11:40:05 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id B4E8F1926; Thu, 6 Feb 2014 11:40:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s16Be5b6096815; Thu, 6 Feb 2014 11:40:05 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s16Be2BN096782; Thu, 6 Feb 2014 11:40:02 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201402061140.s16Be2BN096782@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Thu, 6 Feb 2014 11:40:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261548 - in user/ae/inet6: crypto/openssh etc/devd lib/libc/net lib/libstand lib/libvmmapi release/doc/en_US.ISO8859-1/hardware release/doc/share/misc sbin/etherswitchcfg sbin/hastd sb... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Feb 2014 11:40:05 -0000 Author: ae Date: Thu Feb 6 11:40:01 2014 New Revision: 261548 URL: http://svnweb.freebsd.org/changeset/base/261548 Log: Merge from head/. Added: user/ae/inet6/sys/boot/userboot/userboot/biossmap.c - copied unchanged from r261546, head/sys/boot/userboot/userboot/biossmap.c user/ae/inet6/sys/dev/ofw/ofwbus.c - copied unchanged from r261546, head/sys/dev/ofw/ofwbus.c user/ae/inet6/sys/dev/usb/net/if_urndis.c - copied unchanged from r261546, head/sys/dev/usb/net/if_urndis.c user/ae/inet6/sys/dev/usb/net/if_urndisreg.h - copied unchanged from r261546, head/sys/dev/usb/net/if_urndisreg.h user/ae/inet6/sys/modules/usb/urndis/ - copied from r261546, head/sys/modules/usb/urndis/ Deleted: user/ae/inet6/sys/dev/fdt/fdtbus.c user/ae/inet6/sys/dev/ofw/ofw_nexus.c user/ae/inet6/sys/dev/ofw/ofw_nexus.h Modified: user/ae/inet6/crypto/openssh/sandbox-capsicum.c user/ae/inet6/etc/devd/usb.conf user/ae/inet6/lib/libc/net/ip6opt.c user/ae/inet6/lib/libstand/sbrk.c user/ae/inet6/lib/libstand/zalloc.c user/ae/inet6/lib/libstand/zalloc_defs.h user/ae/inet6/lib/libstand/zalloc_mem.h user/ae/inet6/lib/libvmmapi/vmmapi.h user/ae/inet6/lib/libvmmapi/vmmapi_freebsd.c user/ae/inet6/release/doc/en_US.ISO8859-1/hardware/article.xml user/ae/inet6/release/doc/share/misc/dev.archlist.txt user/ae/inet6/sbin/etherswitchcfg/etherswitchcfg.8 user/ae/inet6/sbin/hastd/refcnt.h user/ae/inet6/sbin/mount_udf/mount_udf.c user/ae/inet6/sbin/ping/Makefile user/ae/inet6/sbin/ping/ping.c user/ae/inet6/share/man/man3/stdarg.3 user/ae/inet6/share/man/man4/Makefile user/ae/inet6/share/man/man4/mfi.4 user/ae/inet6/sys/amd64/include/vmm.h (contents, props changed) user/ae/inet6/sys/amd64/include/vmm_instruction_emul.h (contents, props changed) user/ae/inet6/sys/amd64/vmm/intel/vmx.c user/ae/inet6/sys/amd64/vmm/vmm.c user/ae/inet6/sys/amd64/vmm/vmm_instruction_emul.c user/ae/inet6/sys/arm/arm/nexus.c user/ae/inet6/sys/arm/broadcom/bcm2835/bcm2835_fb.c user/ae/inet6/sys/arm/broadcom/bcm2835/bcm2835_fbd.c user/ae/inet6/sys/arm/freescale/imx/tzic.c user/ae/inet6/sys/arm/mv/mv_localbus.c user/ae/inet6/sys/arm/mv/mv_pci.c user/ae/inet6/sys/boot/common/load_elf32.c user/ae/inet6/sys/boot/common/load_elf32_obj.c user/ae/inet6/sys/boot/fdt/dts/bindings-gpio.txt user/ae/inet6/sys/boot/i386/cdboot/cdboot.S user/ae/inet6/sys/boot/i386/gptboot/gptboot.8 user/ae/inet6/sys/boot/i386/pxeldr/pxeldr.S user/ae/inet6/sys/boot/userboot/userboot/Makefile user/ae/inet6/sys/boot/userboot/userboot/bootinfo32.c user/ae/inet6/sys/boot/userboot/userboot/bootinfo64.c user/ae/inet6/sys/boot/userboot/userboot/elf32_freebsd.c user/ae/inet6/sys/boot/userboot/userboot/libuserboot.h user/ae/inet6/sys/cam/ctl/ctl_backend_block.c user/ae/inet6/sys/conf/Makefile.amd64 user/ae/inet6/sys/conf/Makefile.arm user/ae/inet6/sys/conf/Makefile.i386 user/ae/inet6/sys/conf/Makefile.ia64 user/ae/inet6/sys/conf/Makefile.mips user/ae/inet6/sys/conf/Makefile.pc98 user/ae/inet6/sys/conf/Makefile.powerpc user/ae/inet6/sys/conf/Makefile.sparc64 user/ae/inet6/sys/conf/NOTES user/ae/inet6/sys/conf/files user/ae/inet6/sys/conf/files.powerpc user/ae/inet6/sys/dev/cxgbe/adapter.h user/ae/inet6/sys/dev/cxgbe/common/t4_hw.c user/ae/inet6/sys/dev/cxgbe/t4_main.c user/ae/inet6/sys/dev/cxgbe/t4_sge.c user/ae/inet6/sys/dev/drm2/radeon/r600.c user/ae/inet6/sys/dev/drm2/radeon/rv770.c user/ae/inet6/sys/dev/ed/if_ed.c user/ae/inet6/sys/dev/ed/if_ed_hpp.c user/ae/inet6/sys/dev/fdt/simplebus.c user/ae/inet6/sys/dev/isp/isp_library.c user/ae/inet6/sys/dev/mfi/mfi_pci.c user/ae/inet6/sys/dev/mfi/mfi_tbolt.c user/ae/inet6/sys/dev/mfi/mfivar.h user/ae/inet6/sys/dev/pci/pci.c user/ae/inet6/sys/dev/pci/pci_pci.c user/ae/inet6/sys/dev/pci/pci_subr.c user/ae/inet6/sys/dev/pci/vga_pci.c user/ae/inet6/sys/dev/powermac_nvram/powermac_nvram.c user/ae/inet6/sys/dev/re/if_re.c user/ae/inet6/sys/dev/sound/pci/hda/hdaa_patches.c user/ae/inet6/sys/dev/sound/pci/hda/hdac.h user/ae/inet6/sys/dev/usb/usb.h user/ae/inet6/sys/dev/usb/usb_busdma.c user/ae/inet6/sys/dev/usb/wlan/if_urtwn.c user/ae/inet6/sys/dev/watchdog/watchdog.c user/ae/inet6/sys/kern/kern_ktr.c user/ae/inet6/sys/kern/kern_rwlock.c user/ae/inet6/sys/kern/subr_lock.c user/ae/inet6/sys/kern/subr_sleepqueue.c user/ae/inet6/sys/kern/subr_smp.c user/ae/inet6/sys/mips/beri/beri_simplebus.c user/ae/inet6/sys/mips/mips/nexus.c user/ae/inet6/sys/modules/usb/Makefile user/ae/inet6/sys/pci/if_rlreg.h user/ae/inet6/sys/powerpc/mambo/mambo.c user/ae/inet6/sys/powerpc/mpc85xx/lbc.c user/ae/inet6/sys/powerpc/mpc85xx/pci_mpc85xx.c user/ae/inet6/sys/powerpc/ofw/ofw_cpu.c user/ae/inet6/sys/powerpc/ofw/openpic_ofw.c user/ae/inet6/sys/powerpc/powermac/cpcht.c user/ae/inet6/sys/powerpc/powermac/grackle.c user/ae/inet6/sys/powerpc/powermac/smu.c user/ae/inet6/sys/powerpc/powermac/uninorth.c user/ae/inet6/sys/powerpc/powermac/uninorthpci.c user/ae/inet6/sys/powerpc/powerpc/nexus.c user/ae/inet6/sys/powerpc/pseries/rtas_dev.c user/ae/inet6/sys/powerpc/pseries/rtas_pci.c user/ae/inet6/sys/powerpc/pseries/vdevice.c user/ae/inet6/sys/powerpc/pseries/xics.c user/ae/inet6/sys/powerpc/psim/iobus.c user/ae/inet6/sys/sys/_rwlock.h user/ae/inet6/sys/sys/refcount.h user/ae/inet6/sys/sys/rwlock.h user/ae/inet6/sys/sys/sleepqueue.h user/ae/inet6/sys/sys/turnstile.h user/ae/inet6/sys/x86/acpica/madt.c user/ae/inet6/sys/x86/include/apicvar.h user/ae/inet6/sys/x86/isa/atpic.c user/ae/inet6/sys/x86/isa/elcr.c user/ae/inet6/sys/x86/x86/intr_machdep.c user/ae/inet6/sys/x86/x86/io_apic.c user/ae/inet6/sys/x86/x86/local_apic.c user/ae/inet6/sys/x86/x86/mptable_pci.c user/ae/inet6/tools/build/mk/OptionalObsoleteFiles.inc user/ae/inet6/tools/tools/cxgbetool/cxgbetool.c user/ae/inet6/usr.bin/netstat/inet.c user/ae/inet6/usr.bin/nfsstat/nfsstat.c user/ae/inet6/usr.sbin/bhyveload/bhyveload.c user/ae/inet6/usr.sbin/config/configvers.h user/ae/inet6/usr.sbin/config/mkmakefile.c user/ae/inet6/usr.sbin/pwd_mkdb/pwd_mkdb.8 Directory Properties: user/ae/inet6/ (props changed) user/ae/inet6/crypto/openssh/ (props changed) user/ae/inet6/etc/ (props changed) user/ae/inet6/lib/libc/ (props changed) user/ae/inet6/lib/libvmmapi/ (props changed) user/ae/inet6/sbin/ (props changed) user/ae/inet6/share/man/man4/ (props changed) user/ae/inet6/sys/ (props changed) user/ae/inet6/sys/amd64/vmm/ (props changed) user/ae/inet6/sys/boot/ (props changed) user/ae/inet6/sys/conf/ (props changed) user/ae/inet6/usr.sbin/bhyveload/ (props changed) user/ae/inet6/usr.sbin/jail/ (props changed) Modified: user/ae/inet6/crypto/openssh/sandbox-capsicum.c ============================================================================== --- user/ae/inet6/crypto/openssh/sandbox-capsicum.c Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/crypto/openssh/sandbox-capsicum.c Thu Feb 6 11:40:01 2014 (r261548) @@ -94,10 +94,12 @@ ssh_sandbox_child(struct ssh_sandbox *bo fatal("can't limit stderr: %m"); cap_rights_init(&rights, CAP_READ, CAP_WRITE); - if (cap_rights_limit(box->monitor->m_recvfd, &rights) == -1) + if (cap_rights_limit(box->monitor->m_recvfd, &rights) == -1 && + errno != ENOSYS) fatal("%s: failed to limit the network socket", __func__); cap_rights_init(&rights, CAP_WRITE); - if (cap_rights_limit(box->monitor->m_log_sendfd, &rights) == -1) + if (cap_rights_limit(box->monitor->m_log_sendfd, &rights) == -1 && + errno != ENOSYS) fatal("%s: failed to limit the logging socket", __func__); if (cap_enter() < 0 && errno != ENOSYS) fatal("%s: failed to enter capability mode", __func__); Modified: user/ae/inet6/etc/devd/usb.conf ============================================================================== --- user/ae/inet6/etc/devd/usb.conf Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/etc/devd/usb.conf Thu Feb 6 11:40:01 2014 (r261548) @@ -5313,6 +5313,24 @@ nomatch 32 { nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; + match "intclass" "0xe0"; + match "intsubclass" "0x01"; + match "intprotocol" "0x03"; + action "kldload -n if_urndis"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "intclass" "0xef"; + match "intsubclass" "0x01"; + match "intprotocol" "0x01"; + action "kldload -n if_urndis"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; match "intclass" "0xff"; match "intsubclass" "0x5d"; match "intprotocol" "0x01"; @@ -5381,5 +5399,5 @@ nomatch 32 { action "kldload -n umass"; }; -# 2619 USB entries processed +# 2621 USB entries processed Modified: user/ae/inet6/lib/libc/net/ip6opt.c ============================================================================== --- user/ae/inet6/lib/libc/net/ip6opt.c Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/lib/libc/net/ip6opt.c Thu Feb 6 11:40:01 2014 (r261548) @@ -382,7 +382,7 @@ inet6_opt_init(void *extbuf, socklen_t e struct ip6_ext *ext = (struct ip6_ext *)extbuf; if (ext) { - if (extlen == 0 || (extlen % 8)) + if (extlen <= 0 || (extlen % 8)) return(-1); ext->ip6e_len = (extlen >> 3) - 1; } Modified: user/ae/inet6/lib/libstand/sbrk.c ============================================================================== --- user/ae/inet6/lib/libstand/sbrk.c Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/lib/libstand/sbrk.c Thu Feb 6 11:40:01 2014 (r261548) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include #include "stand.h" +#include "zalloc_defs.h" static size_t maxheap, heapsize = 0; static void *heapbase; @@ -40,8 +41,9 @@ static void *heapbase; void setheap(void *base, void *top) { - /* Align start address to 16 bytes for the malloc code. Sigh. */ - heapbase = (void *)(((uintptr_t)base + 15) & ~15); + /* Align start address for the malloc code. Sigh. */ + heapbase = (void *)(((uintptr_t)base + MALLOCALIGN_MASK) & + ~MALLOCALIGN_MASK); maxheap = (char *)top - (char *)heapbase; } Modified: user/ae/inet6/lib/libstand/zalloc.c ============================================================================== --- user/ae/inet6/lib/libstand/zalloc.c Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/lib/libstand/zalloc.c Thu Feb 6 11:40:01 2014 (r261548) @@ -71,6 +71,15 @@ __FBSDID("$FreeBSD$"); #include "zalloc_defs.h" /* + * Objects in the pool must be aligned to at least the size of struct MemNode. + * They must also be aligned to MALLOCALIGN, which should normally be larger + * than the struct, so assert that to be so at compile time. + */ +typedef char assert_align[(sizeof(struct MemNode) <= MALLOCALIGN) ? 1 : -1]; + +#define MEMNODE_SIZE_MASK MALLOCALIGN_MASK + +/* * znalloc() - allocate memory (without zeroing) from pool. Call reclaim * and retry if appropriate, return NULL if unable to allocate * memory. Modified: user/ae/inet6/lib/libstand/zalloc_defs.h ============================================================================== --- user/ae/inet6/lib/libstand/zalloc_defs.h Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/lib/libstand/zalloc_defs.h Thu Feb 6 11:40:01 2014 (r261548) @@ -52,18 +52,26 @@ #define BLKEXTENDMASK (BLKEXTEND - 1) /* - * required malloc alignment. Just hardwire to 16. + * Required malloc alignment. * - * Note: if we implement a more sophisticated realloc, we should ensure that - * MALLOCALIGN is at least as large as MemNode. + * Embedded platforms using the u-boot API drivers require that all I/O buffers + * be on a cache line sized boundary. The worst case size for that is 64 bytes. + * For other platforms, 16 bytes works fine. The alignment also must be at + * least sizeof(struct MemNode); this is asserted in zalloc.c. */ +#if defined(__arm__) || defined(__mips__) || defined(__powerpc__) +#define MALLOCALIGN 64 +#else +#define MALLOCALIGN 16 +#endif +#define MALLOCALIGN_MASK (MALLOCALIGN - 1) + typedef struct Guard { size_t ga_Bytes; size_t ga_Magic; /* must be at least 32 bits */ } Guard; -#define MALLOCALIGN 16 #define GAMAGIC 0x55FF44FD #define GAFREE 0x5F54F4DF Modified: user/ae/inet6/lib/libstand/zalloc_mem.h ============================================================================== --- user/ae/inet6/lib/libstand/zalloc_mem.h Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/lib/libstand/zalloc_mem.h Thu Feb 6 11:40:01 2014 (r261548) @@ -48,8 +48,6 @@ typedef struct MemPool { uintptr_t mp_Used; } MemPool; -#define MEMNODE_SIZE_MASK ((sizeof(MemNode) <= 8) ? 7 : 15) - #define ZNOTE_FREE 0 #define ZNOTE_REUSE 1 Modified: user/ae/inet6/lib/libvmmapi/vmmapi.h ============================================================================== --- user/ae/inet6/lib/libvmmapi/vmmapi.h Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/lib/libvmmapi/vmmapi.h Thu Feb 6 11:40:01 2014 (r261548) @@ -111,5 +111,8 @@ int vcpu_reset(struct vmctx *ctx, int vc int vm_setup_freebsd_registers(struct vmctx *ctx, int vcpu, uint64_t rip, uint64_t cr3, uint64_t gdtbase, uint64_t rsp); +int vm_setup_freebsd_registers_i386(struct vmctx *vmctx, int vcpu, + uint32_t eip, uint32_t gdtbase, + uint32_t esp); void vm_setup_freebsd_gdt(uint64_t *gdtr); #endif /* _VMMAPI_H_ */ Modified: user/ae/inet6/lib/libvmmapi/vmmapi_freebsd.c ============================================================================== --- user/ae/inet6/lib/libvmmapi/vmmapi_freebsd.c Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/lib/libvmmapi/vmmapi_freebsd.c Thu Feb 6 11:40:01 2014 (r261548) @@ -35,14 +35,176 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include + #include "vmmapi.h" +#define I386_TSS_SIZE 104 + +#define DESC_PRESENT 0x00000080 +#define DESC_LONGMODE 0x00002000 +#define DESC_DEF32 0x00004000 +#define DESC_GRAN 0x00008000 #define DESC_UNUSABLE 0x00010000 #define GUEST_NULL_SEL 0 #define GUEST_CODE_SEL 1 #define GUEST_DATA_SEL 2 -#define GUEST_GDTR_LIMIT (3 * 8 - 1) +#define GUEST_TSS_SEL 3 +#define GUEST_GDTR_LIMIT64 (3 * 8 - 1) + +static struct segment_descriptor i386_gdt[] = { + {}, /* NULL */ + { .sd_lolimit = 0xffff, .sd_type = SDT_MEMER, /* CODE */ + .sd_p = 1, .sd_hilimit = 0xf, .sd_def32 = 1, .sd_gran = 1 }, + { .sd_lolimit = 0xffff, .sd_type = SDT_MEMRW, /* DATA */ + .sd_p = 1, .sd_hilimit = 0xf, .sd_def32 = 1, .sd_gran = 1 }, + { .sd_lolimit = I386_TSS_SIZE - 1, /* TSS */ + .sd_type = SDT_SYS386TSS, .sd_p = 1 } +}; + +/* + * Setup the 'vcpu' register set such that it will begin execution at + * 'eip' in flat mode. + */ +int +vm_setup_freebsd_registers_i386(struct vmctx *vmctx, int vcpu, uint32_t eip, + uint32_t gdtbase, uint32_t esp) +{ + uint64_t cr0, rflags, desc_base; + uint32_t desc_access, desc_limit, tssbase; + uint16_t gsel; + struct segment_descriptor *gdt; + int error, tmp; + + /* A 32-bit guest requires unrestricted mode. */ + error = vm_get_capability(vmctx, vcpu, VM_CAP_UNRESTRICTED_GUEST, &tmp); + if (error) + goto done; + error = vm_set_capability(vmctx, vcpu, VM_CAP_UNRESTRICTED_GUEST, 1); + if (error) + goto done; + + cr0 = CR0_PE | CR0_NE; + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_CR0, cr0)) != 0) + goto done; + + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_CR4, 0)) != 0) + goto done; + + /* + * Forcing EFER to 0 causes bhyve to clear the "IA-32e guest + * mode" entry control. + */ + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_EFER, 0))) + goto done; + + gdt = vm_map_gpa(vmctx, gdtbase, 0x1000); + if (gdt == NULL) + return (EFAULT); + memcpy(gdt, i386_gdt, sizeof(i386_gdt)); + desc_base = gdtbase; + desc_limit = sizeof(i386_gdt) - 1; + error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_GDTR, + desc_base, desc_limit, 0); + if (error != 0) + goto done; + + /* Place the TSS one page above the GDT. */ + tssbase = gdtbase + 0x1000; + gdt[3].sd_lobase = tssbase; + + rflags = 0x2; + error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_RFLAGS, rflags); + if (error) + goto done; + + desc_base = 0; + desc_limit = 0xffffffff; + desc_access = DESC_GRAN | DESC_DEF32 | DESC_PRESENT | SDT_MEMERA; + error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_CS, + desc_base, desc_limit, desc_access); + + desc_access = DESC_GRAN | DESC_DEF32 | DESC_PRESENT | SDT_MEMRWA; + error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_DS, + desc_base, desc_limit, desc_access); + if (error) + goto done; + + error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_ES, + desc_base, desc_limit, desc_access); + if (error) + goto done; + + error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_FS, + desc_base, desc_limit, desc_access); + if (error) + goto done; + + error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_GS, + desc_base, desc_limit, desc_access); + if (error) + goto done; + + error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_SS, + desc_base, desc_limit, desc_access); + if (error) + goto done; + + desc_base = tssbase; + desc_limit = I386_TSS_SIZE - 1; + desc_access = DESC_PRESENT | SDT_SYS386BSY; + error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_TR, + desc_base, desc_limit, desc_access); + if (error) + goto done; + + + error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_LDTR, 0, 0, + DESC_UNUSABLE); + if (error) + goto done; + + gsel = GSEL(GUEST_CODE_SEL, SEL_KPL); + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_CS, gsel)) != 0) + goto done; + + gsel = GSEL(GUEST_DATA_SEL, SEL_KPL); + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_DS, gsel)) != 0) + goto done; + + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_ES, gsel)) != 0) + goto done; + + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_FS, gsel)) != 0) + goto done; + + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_GS, gsel)) != 0) + goto done; + + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_SS, gsel)) != 0) + goto done; + + gsel = GSEL(GUEST_TSS_SEL, SEL_KPL); + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_TR, gsel)) != 0) + goto done; + + /* LDTR is pointing to the null selector */ + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_LDTR, 0)) != 0) + goto done; + + /* entry point */ + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_RIP, eip)) != 0) + goto done; + + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_RSP, esp)) != 0) + goto done; + + error = 0; +done: + return (error); +} void vm_setup_freebsd_gdt(uint64_t *gdtr) @@ -168,7 +330,7 @@ vm_setup_freebsd_registers(struct vmctx goto done; desc_base = gdtbase; - desc_limit = GUEST_GDTR_LIMIT; + desc_limit = GUEST_GDTR_LIMIT64; error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_GDTR, desc_base, desc_limit, 0); if (error != 0) Modified: user/ae/inet6/release/doc/en_US.ISO8859-1/hardware/article.xml ============================================================================== --- user/ae/inet6/release/doc/en_US.ISO8859-1/hardware/article.xml Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/release/doc/en_US.ISO8859-1/hardware/article.xml Thu Feb 6 11:40:01 2014 (r261548) @@ -893,6 +893,10 @@ &hwlist.qlxgb; + &hwlist.qlxgbe; + + &hwlist.qlxge; + &hwlist.re; &hwlist.rl; Modified: user/ae/inet6/release/doc/share/misc/dev.archlist.txt ============================================================================== --- user/ae/inet6/release/doc/share/misc/dev.archlist.txt Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/release/doc/share/misc/dev.archlist.txt Thu Feb 6 11:40:01 2014 (r261548) @@ -105,6 +105,8 @@ oltr i386 pcn i386,pc98,ia64,amd64 pst i386 qlxgb amd64 +qlxgbe amd64 +qlxge amd64 rc i386 ral i386,amd64 rue i386,pc98,amd64 Modified: user/ae/inet6/sbin/etherswitchcfg/etherswitchcfg.8 ============================================================================== --- user/ae/inet6/sbin/etherswitchcfg/etherswitchcfg.8 Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/sbin/etherswitchcfg/etherswitchcfg.8 Thu Feb 6 11:40:01 2014 (r261548) @@ -1,4 +1,29 @@ +.\" Copyright (c) 2011-2012 Stefan Bethke. +.\" All rights reserved. +.\" +.\" 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. +.\" +.\" 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. +.\" .\" $FreeBSD$ +.\" .Dd September 20, 2013 .Dt ETHERSWITCHCFG 8 .Os @@ -35,13 +60,14 @@ The utility is used to configure an Ethernet switch built into the system. .Nm accepts a number of options: +.Pp .Bl -tag -width ".Fl f" -compact .It Fl "f control file" Specifies the .Xr etherswitch 4 control file that represents the switch to be configured. It defaults to -.Li /dev/etherswitch0 . +.Pa /dev/etherswitch0 . .It Fl m When reporting port information, also list available media options for that port. @@ -54,6 +80,7 @@ options are omitted. The config command provides access to global switch configuration parameters. It support the following commands: +.Pp .Bl -tag -width ".Ar vlan_mode mode" -compact .It Ar vlan_mode mode Sets the switch VLAN mode (depends on the hardware). @@ -74,6 +101,7 @@ To set the register value, use the form .Ss port The port command selects one of the ports of the switch. It supports the following commands: +.Pp .Bl -tag -width ".Ar pvid number" -compact .It Ar pvid number Sets the default port VID that is used to process incoming frames that are not tagged. @@ -88,8 +116,10 @@ for details on and .Ar mediaopt . .El +.Pp And the following flags (please note that not all flags -are supporterd by all switch drivers): +are supported by all switch drivers): +.Pp .Bl -tag -width ".Ar addtag" -compact .It Ar addtag Add VLAN tag to each packet sent by the port. @@ -100,7 +130,7 @@ Strip the VLAN tags from the packets sen .It Ar -striptag Disable the strip VLAN tag option. .It Ar firstlock -This options makes the switch port lock on the first MAC address it seems. +This options makes the switch port lock on the first MAC address it sees. After that, usually you need to reset the switch to learn different MAC addresses. .It Ar -firstlock @@ -125,6 +155,7 @@ The reg command provides access to the r .Ss vlangroup The vlangroup command selects one of the VLAN groups for configuration. It supports the following commands: +.Pp .Bl -tag -width ".Ar vlangroup" -compact .It Ar vlan VID Sets the VLAN ID (802.1q VID) for this VLAN group. @@ -142,13 +173,14 @@ to indicate that frames on this port are .Sh FILES .Bl -tag -width /dev/etherswitch? -compact .It Pa /dev/etherswitch? -Control file for the ethernet switch driver. +Control file for the Ethernet switch driver. .El .Sh EXAMPLES Configure VLAN group 1 with a VID of 2 and make ports 0 and 5 its members while excluding all other ports. Port 5 will send and receive tagged frames while port 0 will be untagged. Incoming untagged frames on port 0 are assigned to vlangroup1. +.Pp .Dl # etherswitchcfg vlangroup1 vlan 2 members 0,5t port0 pvid 2 .Sh SEE ALSO .Xr etherswitch 4 Modified: user/ae/inet6/sbin/hastd/refcnt.h ============================================================================== --- user/ae/inet6/sbin/hastd/refcnt.h Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/sbin/hastd/refcnt.h Thu Feb 6 11:40:01 2014 (r261548) @@ -10,9 +10,6 @@ * 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. - * 3. Neither the name of the author nor the names of any co-contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE Modified: user/ae/inet6/sbin/mount_udf/mount_udf.c ============================================================================== --- user/ae/inet6/sbin/mount_udf/mount_udf.c Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/sbin/mount_udf/mount_udf.c Thu Feb 6 11:40:01 2014 (r261548) @@ -77,9 +77,9 @@ main(int argc, char **argv) char fstype[] = "udf"; struct iovec *iov; char *cs_disk, *cs_local, *dev, *dir; - int ch, i, iovlen, mntflags, udf_flags, verbose; + int ch, iovlen, mntflags, udf_flags, verbose; - i = iovlen = mntflags = udf_flags = verbose = 0; + iovlen = mntflags = udf_flags = verbose = 0; cs_disk = cs_local = NULL; iov = NULL; while ((ch = getopt(argc, argv, "o:vC:")) != -1) @@ -129,7 +129,7 @@ main(int argc, char **argv) build_iovec(&iov, &iovlen, "cs_disk", cs_disk, (size_t)-1); build_iovec(&iov, &iovlen, "cs_local", cs_local, (size_t)-1); } - if (nmount(iov, i, mntflags) < 0) + if (nmount(iov, iovlen, mntflags) < 0) err(1, "%s", dev); exit(0); } Modified: user/ae/inet6/sbin/ping/Makefile ============================================================================== --- user/ae/inet6/sbin/ping/Makefile Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/sbin/ping/Makefile Thu Feb 6 11:40:01 2014 (r261548) @@ -1,6 +1,8 @@ # @(#)Makefile 8.1 (Berkeley) 6/5/93 # $FreeBSD$ +.include + PROG= ping MAN= ping.8 BINOWN= root @@ -9,6 +11,12 @@ WARNS?= 2 DPADD= ${LIBM} LDADD= -lm +.if ${MK_CASPER} != "no" && !defined(RESCUE) +DPADD+= ${LIBCAPSICUM} +LDADD+= -lcapsicum +CFLAGS+=-DHAVE_LIBCAPSICUM +.endif + .if !defined(RELEASE_CRUNCH) CFLAGS+=-DIPSEC DPADD+= ${LIBIPSEC} Modified: user/ae/inet6/sbin/ping/ping.c ============================================================================== --- user/ae/inet6/sbin/ping/ping.c Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/sbin/ping/ping.c Thu Feb 6 11:40:01 2014 (r261548) @@ -63,6 +63,7 @@ __FBSDID("$FreeBSD$"); */ #include /* NB: we rely on this for */ +#include #include #include #include @@ -74,6 +75,11 @@ __FBSDID("$FreeBSD$"); #include #include #include +#ifdef HAVE_LIBCAPSICUM +#include +#include +#include +#endif #ifdef IPSEC #include @@ -157,7 +163,8 @@ char rcvd_tbl[MAX_DUP_CHK / 8]; struct sockaddr_in whereto; /* who to ping */ int datalen = DEFDATALEN; int maxpayload; -int s; /* socket file descriptor */ +int ssend; /* send socket file descriptor */ +int srecv; /* receive socket file descriptor */ u_char outpackhdr[IP_MAXPACKET], *outpack; char BBELL = '\a'; /* characters written for MISSED and AUDIBLE */ char BSPACE = '\b'; /* characters written for flood */ @@ -197,8 +204,15 @@ double tsumsq = 0.0; /* sum of all time volatile sig_atomic_t finish_up; /* nonzero if we've been told to finish up */ volatile sig_atomic_t siginfo_p; +#ifdef HAVE_LIBCAPSICUM +static cap_channel_t *capdns; +#endif + static void fill(char *, char *); static u_short in_cksum(u_short *, int); +#ifdef HAVE_LIBCAPSICUM +static cap_channel_t *capdns_setup(void); +#endif static void check_status(void); static void finish(void) __dead2; static void pinger(void); @@ -233,8 +247,8 @@ main(int argc, char *const *argv) struct sockaddr_in *to; double t; u_long alarmtimeout, ultmp; - int almost_done, ch, df, hold, i, icmp_len, mib[4], preload, sockerrno, - tos, ttl; + int almost_done, ch, df, hold, i, icmp_len, mib[4], preload; + int ssend_errno, srecv_errno, tos, ttl; char ctrl[CMSG_SPACE(sizeof(struct timeval))]; char hnamebuf[MAXHOSTNAMELEN], snamebuf[MAXHOSTNAMELEN]; #ifdef IP_OPTIONS @@ -246,14 +260,26 @@ main(int argc, char *const *argv) #ifdef IPSEC_POLICY_IPSEC policy_in = policy_out = NULL; #endif + cap_rights_t rights; + bool cansandbox; /* * Do the stuff that we need root priv's for *first*, and * then drop our setuid bit. Save error reporting for * after arg parsing. + * + * Historicaly ping was using one socket 's' for sending and for + * receiving. After capsicum(4) related changes we use two + * sockets. It was done for special ping use case - when user + * issue ping on multicast or broadcast address replies come + * from different addresses, not from the address we + * connect(2)'ed to, and send socket do not receive those + * packets. */ - s = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP); - sockerrno = errno; + ssend = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP); + ssend_errno = errno; + srecv = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP); + srecv_errno = errno; if (setuid(getuid()) != 0) err(EX_NOPERM, "setuid() failed"); @@ -527,13 +553,22 @@ main(int argc, char *const *argv) if (options & F_PINGFILLED) { fill((char *)datap, payload); } +#ifdef HAVE_LIBCAPSICUM + capdns = capdns_setup(); +#endif if (source) { bzero((char *)&sock_in, sizeof(sock_in)); sock_in.sin_family = AF_INET; if (inet_aton(source, &sock_in.sin_addr) != 0) { shostname = source; } else { - hp = gethostbyname2(source, AF_INET); +#ifdef HAVE_LIBCAPSICUM + if (capdns != NULL) + hp = cap_gethostbyname2(capdns, source, + AF_INET); + else +#endif + hp = gethostbyname2(source, AF_INET); if (!hp) errx(EX_NOHOST, "cannot resolve %s: %s", source, hstrerror(h_errno)); @@ -549,7 +584,8 @@ main(int argc, char *const *argv) snamebuf[sizeof(snamebuf) - 1] = '\0'; shostname = snamebuf; } - if (bind(s, (struct sockaddr *)&sock_in, sizeof sock_in) == -1) + if (bind(ssend, (struct sockaddr *)&sock_in, sizeof sock_in) == + -1) err(1, "bind"); } @@ -560,7 +596,12 @@ main(int argc, char *const *argv) if (inet_aton(target, &to->sin_addr) != 0) { hostname = target; } else { - hp = gethostbyname2(target, AF_INET); +#ifdef HAVE_LIBCAPSICUM + if (capdns != NULL) + hp = cap_gethostbyname2(capdns, target, AF_INET); + else +#endif + hp = gethostbyname2(target, AF_INET); if (!hp) errx(EX_NOHOST, "cannot resolve %s: %s", target, hstrerror(h_errno)); @@ -573,6 +614,30 @@ main(int argc, char *const *argv) hostname = hnamebuf; } +#ifdef HAVE_LIBCAPSICUM + /* From now on we will use only reverse DNS lookups. */ + if (capdns != NULL) { + const char *types[1]; + + types[0] = "ADDR"; + if (cap_dns_type_limit(capdns, types, 1) < 0) + err(1, "unable to limit access to system.dns service"); + } +#endif + + if (ssend < 0) { + errno = ssend_errno; + err(EX_OSERR, "ssend socket"); + } + + if (srecv < 0) { + errno = srecv_errno; + err(EX_OSERR, "srecv socket"); + } + + if (connect(ssend, (struct sockaddr *)&whereto, sizeof(whereto)) != 0) + err(1, "connect"); + if (options & F_FLOOD && options & F_INTERVAL) errx(EX_USAGE, "-f and -i: incompatible options"); @@ -593,16 +658,15 @@ main(int argc, char *const *argv) ident = getpid() & 0xFFFF; - if (s < 0) { - errno = sockerrno; - err(EX_OSERR, "socket"); - } hold = 1; - if (options & F_SO_DEBUG) - (void)setsockopt(s, SOL_SOCKET, SO_DEBUG, (char *)&hold, + if (options & F_SO_DEBUG) { + (void)setsockopt(ssend, SOL_SOCKET, SO_DEBUG, (char *)&hold, sizeof(hold)); + (void)setsockopt(srecv, SOL_SOCKET, SO_DEBUG, (char *)&hold, + sizeof(hold)); + } if (options & F_SO_DONTROUTE) - (void)setsockopt(s, SOL_SOCKET, SO_DONTROUTE, (char *)&hold, + (void)setsockopt(ssend, SOL_SOCKET, SO_DONTROUTE, (char *)&hold, sizeof(hold)); #ifdef IPSEC #ifdef IPSEC_POLICY_IPSEC @@ -612,7 +676,7 @@ main(int argc, char *const *argv) buf = ipsec_set_policy(policy_in, strlen(policy_in)); if (buf == NULL) errx(EX_CONFIG, "%s", ipsec_strerror()); - if (setsockopt(s, IPPROTO_IP, IP_IPSEC_POLICY, + if (setsockopt(srecv, IPPROTO_IP, IP_IPSEC_POLICY, buf, ipsec_get_policylen(buf)) < 0) err(EX_CONFIG, "ipsec policy cannot be configured"); @@ -623,7 +687,7 @@ main(int argc, char *const *argv) buf = ipsec_set_policy(policy_out, strlen(policy_out)); if (buf == NULL) errx(EX_CONFIG, "%s", ipsec_strerror()); - if (setsockopt(s, IPPROTO_IP, IP_IPSEC_POLICY, + if (setsockopt(ssend, IPPROTO_IP, IP_IPSEC_POLICY, buf, ipsec_get_policylen(buf)) < 0) err(EX_CONFIG, "ipsec policy cannot be configured"); @@ -644,7 +708,7 @@ main(int argc, char *const *argv) if (sysctl(mib, 4, &ttl, &sz, NULL, 0) == -1) err(1, "sysctl(net.inet.ip.ttl)"); } - setsockopt(s, IPPROTO_IP, IP_HDRINCL, &hold, sizeof(hold)); + setsockopt(ssend, IPPROTO_IP, IP_HDRINCL, &hold, sizeof(hold)); ip->ip_v = IPVERSION; ip->ip_hl = sizeof(struct ip) >> 2; ip->ip_tos = tos; @@ -655,6 +719,35 @@ main(int argc, char *const *argv) ip->ip_src.s_addr = source ? sock_in.sin_addr.s_addr : INADDR_ANY; ip->ip_dst = to->sin_addr; } + + if (options & F_NUMERIC) + cansandbox = true; +#ifdef HAVE_LIBCAPSICUM + else if (capdns != NULL) + cansandbox = true; +#endif + else + cansandbox = false; + + /* + * Here we enter capability mode. Further down access to global + * namespaces (e.g filesystem) is restricted (see capsicum(4)). + * We must connect(2) our socket before this point. + */ + if (cansandbox && cap_enter() < 0 && errno != ENOSYS) + err(1, "cap_enter"); + + if (cap_sandboxed()) + fprintf(stderr, "capability mode sandbox enabled\n"); + + cap_rights_init(&rights, CAP_RECV, CAP_EVENT, CAP_SETSOCKOPT); + if (cap_rights_limit(srecv, &rights) < 0 && errno != ENOSYS) + err(1, "cap_rights_limit srecv"); + + cap_rights_init(&rights, CAP_SEND, CAP_SETSOCKOPT); + if (cap_rights_limit(ssend, &rights) < 0 && errno != ENOSYS) + err(1, "cap_rights_limit ssend"); + /* record route option */ if (options & F_RROUTE) { #ifdef IP_OPTIONS @@ -663,7 +756,7 @@ main(int argc, char *const *argv) rspace[IPOPT_OLEN] = sizeof(rspace) - 1; rspace[IPOPT_OFFSET] = IPOPT_MINOFF; rspace[sizeof(rspace) - 1] = IPOPT_EOL; - if (setsockopt(s, IPPROTO_IP, IP_OPTIONS, rspace, + if (setsockopt(ssend, IPPROTO_IP, IP_OPTIONS, rspace, sizeof(rspace)) < 0) err(EX_OSERR, "setsockopt IP_OPTIONS"); #else @@ -673,32 +766,32 @@ main(int argc, char *const *argv) } if (options & F_TTL) { - if (setsockopt(s, IPPROTO_IP, IP_TTL, &ttl, + if (setsockopt(ssend, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl)) < 0) { err(EX_OSERR, "setsockopt IP_TTL"); } } if (options & F_NOLOOP) { - if (setsockopt(s, IPPROTO_IP, IP_MULTICAST_LOOP, &loop, + if (setsockopt(ssend, IPPROTO_IP, IP_MULTICAST_LOOP, &loop, sizeof(loop)) < 0) { err(EX_OSERR, "setsockopt IP_MULTICAST_LOOP"); } } if (options & F_MTTL) { - if (setsockopt(s, IPPROTO_IP, IP_MULTICAST_TTL, &mttl, + if (setsockopt(ssend, IPPROTO_IP, IP_MULTICAST_TTL, &mttl, sizeof(mttl)) < 0) { err(EX_OSERR, "setsockopt IP_MULTICAST_TTL"); } } if (options & F_MIF) { - if (setsockopt(s, IPPROTO_IP, IP_MULTICAST_IF, &ifaddr, + if (setsockopt(ssend, IPPROTO_IP, IP_MULTICAST_IF, &ifaddr, sizeof(ifaddr)) < 0) { err(EX_OSERR, "setsockopt IP_MULTICAST_IF"); } } #ifdef SO_TIMESTAMP { int on = 1; - if (setsockopt(s, SOL_SOCKET, SO_TIMESTAMP, &on, sizeof(on)) < 0) + if (setsockopt(srecv, SOL_SOCKET, SO_TIMESTAMP, &on, sizeof(on)) < 0) err(EX_OSERR, "setsockopt SO_TIMESTAMP"); } #endif @@ -733,11 +826,19 @@ main(int argc, char *const *argv) * as well. */ hold = IP_MAXPACKET + 128; - (void)setsockopt(s, SOL_SOCKET, SO_RCVBUF, (char *)&hold, + (void)setsockopt(srecv, SOL_SOCKET, SO_RCVBUF, (char *)&hold, sizeof(hold)); + /* CAP_SETSOCKOPT removed */ + cap_rights_init(&rights, CAP_RECV, CAP_EVENT); + if (cap_rights_limit(srecv, &rights) < 0 && errno != ENOSYS) + err(1, "cap_rights_limit srecv setsockopt"); if (uid == 0) - (void)setsockopt(s, SOL_SOCKET, SO_SNDBUF, (char *)&hold, + (void)setsockopt(ssend, SOL_SOCKET, SO_SNDBUF, (char *)&hold, sizeof(hold)); + /* CAP_SETSOCKOPT removed */ + cap_rights_init(&rights, CAP_SEND); + if (cap_rights_limit(ssend, &rights) < 0 && errno != ENOSYS) + err(1, "cap_rights_limit ssend setsockopt"); if (to->sin_family == AF_INET) { (void)printf("PING %s (%s)", hostname, @@ -817,10 +918,10 @@ main(int argc, char *const *argv) int cc, n; check_status(); - if ((unsigned)s >= FD_SETSIZE) + if ((unsigned)srecv >= FD_SETSIZE) errx(EX_OSERR, "descriptor too large"); FD_ZERO(&rfds); - FD_SET(s, &rfds); + FD_SET(srecv, &rfds); (void)gettimeofday(&now, NULL); timeout.tv_sec = last.tv_sec + intvl.tv_sec - now.tv_sec; timeout.tv_usec = last.tv_usec + intvl.tv_usec - now.tv_usec; @@ -834,7 +935,7 @@ main(int argc, char *const *argv) } if (timeout.tv_sec < 0) timerclear(&timeout); - n = select(s + 1, &rfds, NULL, NULL, &timeout); + n = select(srecv + 1, &rfds, NULL, NULL, &timeout); if (n < 0) continue; /* Must be EINTR. */ if (n == 1) { @@ -845,7 +946,7 @@ main(int argc, char *const *argv) msg.msg_controllen = sizeof(ctrl); #endif msg.msg_namelen = sizeof(from); - if ((cc = recvmsg(s, &msg, 0)) < 0) { + if ((cc = recvmsg(srecv, &msg, 0)) < 0) { if (errno == EINTR) continue; warn("recvmsg"); @@ -981,9 +1082,7 @@ pinger(void) ip->ip_sum = in_cksum((u_short *)outpackhdr, cc); packet = outpackhdr; } - i = sendto(s, (char *)packet, cc, 0, (struct sockaddr *)&whereto, - sizeof(whereto)); - + i = send(ssend, (char *)packet, cc, 0); if (i < 0 || i != cc) { if (i < 0) { if (options & F_FLOOD && errno == ENOBUFS) { @@ -1604,12 +1703,21 @@ pr_addr(struct in_addr ina) struct hostent *hp; static char buf[16 + 3 + MAXHOSTNAMELEN]; - if ((options & F_NUMERIC) || - !(hp = gethostbyaddr((char *)&ina, 4, AF_INET))) + if (options & F_NUMERIC) return inet_ntoa(ina); + +#ifdef HAVE_LIBCAPSICUM + if (capdns != NULL) + hp = cap_gethostbyaddr(capdns, (char *)&ina, 4, AF_INET); else - (void)snprintf(buf, sizeof(buf), "%s (%s)", hp->h_name, - inet_ntoa(ina)); +#endif + hp = gethostbyaddr((char *)&ina, 4, AF_INET); + + if (hp == NULL) + return inet_ntoa(ina); + + (void)snprintf(buf, sizeof(buf), "%s (%s)", hp->h_name, + inet_ntoa(ina)); return(buf); } @@ -1682,6 +1790,36 @@ fill(char *bp, char *patp) } } +#ifdef HAVE_LIBCAPSICUM +static cap_channel_t * +capdns_setup(void) +{ + cap_channel_t *capcas, *capdnsloc; + const char *types[2]; + int families[1]; + + capcas = cap_init(); + if (capcas == NULL) { + warn("unable to contact casperd"); + return (NULL); + } + capdnsloc = cap_service_open(capcas, "system.dns"); + /* Casper capability no longer needed. */ + cap_close(capcas); + if (capdnsloc == NULL) + err(1, "unable to open system.dns service"); + types[0] = "NAME"; + types[1] = "ADDR"; + if (cap_dns_type_limit(capdnsloc, types, 2) < 0) + err(1, "unable to limit access to system.dns service"); + families[0] = AF_INET; + if (cap_dns_family_limit(capdnsloc, families, 1) < 0) + err(1, "unable to limit access to system.dns service"); + + return (capdnsloc); +} +#endif /* HAVE_LIBCAPSICUM */ + #if defined(IPSEC) && defined(IPSEC_POLICY_IPSEC) #define SECOPT " [-P policy]" #else Modified: user/ae/inet6/share/man/man3/stdarg.3 ============================================================================== --- user/ae/inet6/share/man/man3/stdarg.3 Thu Feb 6 11:38:39 2014 (r261547) +++ user/ae/inet6/share/man/man3/stdarg.3 Thu Feb 6 11:40:01 2014 (r261548) @@ -59,7 +59,7 @@ The include file .In stdarg.h declares a type .Pq Em va_list -and defines three macros for stepping +and defines four macros for stepping through a list of arguments whose number and types are not known to the called function. .Pp @@ -77,7 +77,8 @@ The macro initializes .Fa ap for subsequent use by -.Fn va_arg +.Fn va_arg , +.Fn va_copy , and .Fn va_end , and must be called first. @@ -93,10 +94,6 @@ macro, it should not be declared as a re function or an array type. .Pp The -.Fn va_start -macro returns no value. -.Pp -The .Fn va_arg macro expands to an expression that has the type and value of the next argument in the call. @@ -105,7 +102,9 @@ The parameter is the .Em va_list Fa ap *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Fri Feb 7 13:12:55 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6813CF9D; Fri, 7 Feb 2014 13:12:55 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 39E281AB0; Fri, 7 Feb 2014 13:12:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s17DCtSp024460; Fri, 7 Feb 2014 13:12:55 GMT (envelope-from uqs@svn.freebsd.org) Received: (from uqs@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s17DCs3m024458; Fri, 7 Feb 2014 13:12:54 GMT (envelope-from uqs@svn.freebsd.org) Message-Id: <201402071312.s17DCs3m024458@svn.freebsd.org> From: Ulrich Spoerlein Date: Fri, 7 Feb 2014 13:12:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261587 - user/uqs/git_conv X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Feb 2014 13:12:55 -0000 Author: uqs Date: Fri Feb 7 13:12:54 2014 New Revision: 261587 URL: http://svnweb.freebsd.org/changeset/base/261587 Log: Allow to run the three conversions on different schedules and not all in one go always. Modified: user/uqs/git_conv/git_conv user/uqs/git_conv/git_conv_cron Modified: user/uqs/git_conv/git_conv ============================================================================== --- user/uqs/git_conv/git_conv Fri Feb 7 13:06:48 2014 (r261586) +++ user/uqs/git_conv/git_conv Fri Feb 7 13:12:54 2014 (r261587) @@ -32,10 +32,26 @@ : ${DOC_REPO=/home/svn/doc} : ${PORTS_REPO=/home/svn/ports} -LOCK=/tmp/gitconv.lock -trap 'rm -f ${LOCK} ; exit 1' 1 2 3 15 -if ! shlock -p $$ -f ${LOCK}; then - echo "Locked by `cat ${LOCK}`, running too long? Please fix ..." >&2 +case "$1" in + base) + ;; + ports) + ;; + doc) + ;; + *) + echo "Need to specify which repo to convert" >&2 + exit 1 + ;; +esac + +TYPE=$1 + +LOCK="/tmp/gitconv_${TYPE}.lock" +trap 'rm -f "${LOCK}" ; exit 1' 1 2 3 15 +if ! shlock -p $$ -f "${LOCK}"; then + echo >&2 + echo "Locked by ${TYPE} (`cat "${LOCK}"`), running too long? Please fix ..." >&2 exit 1 fi @@ -97,10 +113,26 @@ gitsvn() done } -gitsvn src-head.git github -gitsvn doc-head.git github -gitsvn ports-head.git github - -svn2git $RULES_DIR/freebsd-base.rules ${SRC_REPO} github bitbucket googlecode -svn2git $RULES_DIR/freebsd-doc.rules ${DOC_REPO} github -svn2git $RULES_DIR/freebsd-ports.rules ${PORTS_REPO} github +case "$TYPE" in + base) + gitsvn src-head.git github + ;; + doc) + gitsvn doc-head.git github + ;; + ports) + gitsvn ports-head.git github + ;; +esac + +case "$TYPE" in + base) + svn2git $RULES_DIR/freebsd-base.rules ${SRC_REPO} github bitbucket googlecode + ;; + doc) + svn2git $RULES_DIR/freebsd-doc.rules ${DOC_REPO} github + ;; + ports) + svn2git $RULES_DIR/freebsd-ports.rules ${PORTS_REPO} github + ;; +esac Modified: user/uqs/git_conv/git_conv_cron ============================================================================== --- user/uqs/git_conv/git_conv_cron Fri Feb 7 13:06:48 2014 (r261586) +++ user/uqs/git_conv/git_conv_cron Fri Feb 7 13:12:54 2014 (r261587) @@ -1,17 +1,30 @@ #!/bin/sh -today="`date +%Y-%m-%d`" -log="$today.log" +case "$1" in + base) + ;; + ports) + ;; + doc) + ;; + *) + echo "Need to specify which repo to convert" >&2 + exit 1 + ;; +esac + +TYPE=$1 +LOG="`date +%Y-%m-%d`_${TYPE}.log" cd /home/git # TODO cleanup old logs -./git_conv >> $log 2>&1 +./git_conv "$@" >> $LOG 2>&1 if [ $? != 0 ]; then echo "Error during git_conv" >&2 - tail -30 $log + tail -30 $LOG exit 1 fi From owner-svn-src-user@FreeBSD.ORG Fri Feb 7 13:17:28 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6F6A839B; Fri, 7 Feb 2014 13:17:28 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 5BEBF1AF8; Fri, 7 Feb 2014 13:17:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s17DHSdA025069; Fri, 7 Feb 2014 13:17:28 GMT (envelope-from uqs@svn.freebsd.org) Received: (from uqs@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s17DHSs4025068; Fri, 7 Feb 2014 13:17:28 GMT (envelope-from uqs@svn.freebsd.org) Message-Id: <201402071317.s17DHSs4025068@svn.freebsd.org> From: Ulrich Spoerlein Date: Fri, 7 Feb 2014 13:17:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261588 - user/uqs/git_conv/freebsd-base.git X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Feb 2014 13:17:28 -0000 Author: uqs Date: Fri Feb 7 13:17:27 2014 New Revision: 261588 URL: http://svnweb.freebsd.org/changeset/base/261588 Log: Update bitbucket push URL Modified: user/uqs/git_conv/freebsd-base.git/config Modified: user/uqs/git_conv/freebsd-base.git/config ============================================================================== --- user/uqs/git_conv/freebsd-base.git/config Fri Feb 7 13:12:54 2014 (r261587) +++ user/uqs/git_conv/freebsd-base.git/config Fri Feb 7 13:17:27 2014 (r261588) @@ -12,7 +12,7 @@ push = +refs/heads/user/*:refs/heads/user/* push = +refs/notes/*:refs/notes/* [remote "bitbucket"] - url = ssh://git@bitbucket.org/freebsd/freebsd.git + url = ssh://git@bitbucket.org/freebsd/freebsd-base.git push = +refs/heads/master:refs/heads/master push = +refs/heads/release/*:refs/heads/release/* push = +refs/heads/releng/*:refs/heads/releng/*