MFS r272577,r272577:

- Add $netif_ipexpand_max to specify the upper limit for the number of
  addresses generated by an address range specification.  The default value
  is 2048.  This can be increased by setting $netif_ipexpand_max in rc.conf.

PR:		186841
Approved by:	re (hrs)
- Correct the FreeBSD release displayed on the 10.1-R errata
  page.
- Trim stale errata items from 10.0-RELEASE, but keep the
  entry regarding FreeBSD/i386 on VirtualBox, as I am unsure
  if the underlying cause was identified and/or corrected.
- Fix a few occurances of 'release.prev' macros that should
  be 'release.current'. [1]
- Switch release.ent entities to reflect a release, and update
  versions where appropriate.

Submitted by:	pluknet [1]
Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
Fix rendering of a URL.

Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
MF10 r272774:
Add 3 long options (--version, --formats & --schemes) for getting
information about mkimg itself.

mkimg version: 20140927

Requested by: gjb
Approved by: re (marius)
Relnotes: yes
MFC r272907:
Make MAP_NOSYNC handling in the vm_fault() read-locked object path
compatible with write-locked path.

Approved by:	re (marius)
MFstable10 r273080:

MFC r272414:
  Merge the following revisions from ^/projects/release-vmimage:

  r272234, r272236, r272262, r272264, r272269, r272271, r272272,
  r272277, r272279, r272376, r272380, r272381, r272392, r272234,
  r272412:

  r272234:
    Initial commit to include virtual machine images as part
    of the FreeBSD release builds.

    This adds a make(1) environment variable requirement,
    WITH_VMIMAGES, which triggers the virtual machine image
    targets when not defined to an empty value.

    Relevant user-driven variables include:

     o VMFORMATS:	The virtual machine image formats to create.
       Valid formats are provided by running 'mkimg --formats'

     o VMSIZE:	The size of the resulting virtual machine
       image.  Typical compression is roughly 140Mb, regardless
       of the target size (10GB, 15GB, 20GB, 40GB sizes have been
       tested with the same result).

     o VMBASE:	The prefix of the virtual machine disk images.
       The VMBASE make(1) environment variable is suffixed with
       each format in VMFORMATS for each individual disk image, as
       well as '.img' for the source UFS filesystem passed to
       mkimg(1).

    This also includes a new script, mk-vmimage.sh, based on how
    the VM images for 10.0-RELEASE, 9.3-RELEASE, and 10.1-RELEASE
    were created (mk-vmimage.sh in ^/user/gjb/thermite/).

    With the order in which the stages need to occur, as well as
    sanity-checking error cases, it makes much more sense to
    execute a shell script called from make(1), using env(1) to
    set specific parameters for the target image than it does to
    do this in make(1) directly.

  r272236:
    Use VMBASE in place of a hard-coded filename in the CLEANFILES
    list.

  r272262:
    Remove a 'set -x' that snuck in during testing.

  r272264:
    release/Makefile:
      Connect the virtual machine image build to the release
      target if WITH_VMIMAGES is set to a non-empty value.

    release/release.sh:
      Add WITH_VMIMAGES to RELEASE_RMAKEFLAGS.

    release/release.conf.sample:
      Add commented entries for tuning the release build if the
      WITH_VMIMAGES make(1) environment variable is set to
      a non-empty value.

  r272269:
    release/Makefile:
      Include .OBJDIR in DESTDIR in the vm-base target.

    release/release.sh:
      Provide the full path to mddev.

  r272271:
    Fix UFS label for the root filesystem.

  r272272:
    Remove comments left in accidentally while testing, so the
    VM /etc/fstab is actually created.

  r272277:
    Remove the UFS label from the root filesystem since it is added
    by mkimg(1) as a gpt label, consistent with the fstab(5) entry.

  r272279:
    Comment cleanup in panic() message when mkimg(1) does not support
    the requested disk image format.

  r272376:
    Separate release/scripts/mk-vmimage.sh to machine-specific
    scripts, making it possible to mimic the functionality for
    non-x86 targets.

    Move echo output if MAKEFLAGS is empty outside of usage().

    Remove TARGET/TARGET_ARCH evaluation.

  r272380:
    Avoid using env(1) to set values passed to mk-vmimage.sh,
    and instead pass the values as arguments to the script,
    making it easier to run this by hand, without 'make release'.

    Add usage_vm_base() and usage_vm_image() usage helpers.

  r272381:
    After evaluating WITH_VMIMAGES is non-empty, ensure
    the mk-vmimage.sh script exists before running it.

  r272392:
    Add WITH_COMPRESSED_VMIMAGES variable, which when set enables
    xz(1) compression of the virtual machine images.

    This is intentionally separate to allow more fine-grained
    tuning over which images are compressed, especially in cases
    where compressing 20GB sparse images can take hours.

  r272412:
    Document the new 'vm-image' target, and associated release.conf
    variables.

  r272413:
    Remove two stray comments added during the initial iterations
    of testing, no longer needed.

Approved by:	re (marius)
Sponsored by:	The FreeBSD Foundation
vt(4): Save/restore keyboard mode & LED states when switching window

MF10:	r273036
MFC:	r272416

Add new functions to manipulate these mode & state, instead of calling
kbdd_ioctl() everyhere.

This fixes at least two bugs:

    1. The state of the Scroll Lock LED and the state of scroll mode
       could be out-of-sync. For instance, if one enables scroll mode on
       window #1 and switches to window #2, the LED would remain on, but
       the window wouldn't be in scroll mode.

       Similarily, when switching between a console and an X.Org
       session, the LED states could be inconsistent with the real
       state.

    2. When exiting from an X.Org session, the user could be unable to
       type anything. The workaround was to switch to another console
       window and come back.

Differential Revision:	https://reviews.freebsd.org/D821
Reviewed by:	ray@
Approved by:	re (marius), ray@
Tested by:	kwm@
vt(4): Don't recalculate buffer size if we don't know screen size

MF10:	r273037
MFC:	r272537

When the screen size is unknown, it's set to 0x0. We can't use that as
the buffer size, otherwise, functions such as vtbuf_fill() will fail.

This fixes a panic on RaspberryPi, where there's no vt(4) backend
configured early in boot.

PR:		193981
Tested by:	danilo@
Approved by:	re (marius)
MF10 r273000 (r272750 in head)
Ensure that the number of stream reported in srs_number_streams is
consistent with the amount of data provided in the SCTP_RESET_STREAMS
socket option.
Thanks to Peter Bostroem from Google for drawing my attention to
this part of the code.

MF10 r273001 (r272751 in head):
Ensure that the list of streams sent in a stream reset parameter fits
in an mbuf-cluster.
Thanks to Peter Bostroem for drawing my attention to this part of the code.

MF10 r273002 (r272841 in head):
Ensure that the flags field of sctp_tmit_chunks is initialized.
Thanks to Peter Bostroem from Google for reporting the issue.

Approved by: re (marius)
Update the pkg(8) repository configuration file for the
dvd package set 10.1-RELEASE to use the release packages.

This is a direct commit to releng/10.1.

Approved by:	re (rodrigc)
Sponsored by:	The FreeBSD Foundation
Make external NFS clients know when files have their attributes changed and
avoid cache the file's state indefinitely. The va_filerev is what is sent
to the client as the "change" attribute, the client is periodically fetching
the attributes and without this option the attribute remains as some garbage
value.

Reported by:	Kevin Buhr <buhr@asaurus.net>
Reviewed by:	delphij
Approved by:	re (gjb), delphij
Obtained from:	r272467
MFC r273109:

fget_unlocked currently reads 'fde' which is a structure consisting of
serveral fields. In effect the read is inatomic and may result in
obtaining file pointer with stale or incorrect capabilities.

Example race is with dup2.

Side effect is that capability checks can be circumvented.

Fix the problem with introduction of sequence counters.

MFC r269023,r272503,r272505,r272523,r272567,r272569,r272574:

Prepare fget_unlocked for reading fd table only once.

Some capsicum functions accept fdp + fd and lookup fde based on that.
Add variants which accept fde.

===============================

Add sequence counters with memory barriers.

Current implementation is somewhat simplistic and hackish,
will be improved later after possible memory barrier overhaul.

===============================

Plug capability races.

fp and appropriate capability lookups were not atomic, which could result in
improper capabilities being checked.

This could result either in protection bypass or in a spurious ENOTCAPABLE.

Make fp + capability check atomic with the help of sequence counters.

===============================

Put and #ifdef _KERNEL around the #include for opt_capsicum.h to
hopefully allow the build to finish after r272505.

===============================

filedesc: fix up breakage introduced in 272505

Include sequence counter supports incoditionally [1]. This fixes reprted build
problems with e.g. nvidia driver due to missing opt_capsicum.h.

Replace fishy looking sizeof with offsetof. Make fde_seq the last member in
order to simplify calculations.

===============================

Keep struct filedescent comments within 80-char limit.

===============================

seq_t needs to be visible to userspace

Approved by:	re (kib)
MFS10 r272883
MFC r272474
Fix ZFS ZVOL deadlock and rename issues

Approved by:	re@ (delphij)
Sponsored by:	Multiplay
Revert r270120 (partial), r270122:
  Restore ABI compatibility with 10.0-RELEASE.

Requested by:	many
Reviewed by:	delphij, ache
Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
MFH (r272830): change the hardcoded default back to DES
MFH (r272833): remove last vestige of MD5 password hashes

Approved by:	re (gjb)
MFS r272855, 266846:

  - Do not override sin6_scope_id in LLA when it is already set to non-zero.
    This fixes destination list in output of netstat -r.
  - Plug a memory leak.
  - Add RTM_VERSION check.
  - Fix a bug which can make sysctl() fail when -F is specified.
  - Increase WID_IF_DEFAULT() from 6 to 8 (the default for AF_INET6) because
    we have interfaces with longer names than 6 chars like epairN{a,b}.
  - Style fixes.

MFS r272847:

  - Add rwlock to struct dadq.  A panic could occur when a large number of
    addresses performed DAD at the same time.

MFS r272850:

  - Replace Sun RPC license in TI-RPC library with a 3-clause BSD license,
    with the explicit permission of Sun Microsystems in 2009.

  - Replace Sun Industry Standards Source License for Sun RPC code with a
    3-clause BSD license as specified by Oracle America, Inc. in 2010.
    This license change was approved by Wim Coekaerts, Senior Vice
    President, Linux and Virtualization at Oracle Corporation.

  - Replace Sun RPC license with a 3-clause BSD license.  This license change
    was approved in 2010 by Wim Coekaerts, Senior Vice President, Linux and
    Virtualization at Oracle Corporation.

  - Replace Sun RPC license for TI-RPC library with a 3-clause BSD license,
    with the explicit permission of Sun Microsystems in 2009.
    The code in question in this file was copied from
    lib/libc/rpc/pmap_getport.c.

MFS r272852,r272853:

  - Add relative specification in expiration time.
  - Add proto3 option for RTF_PROTO3.
  - Use %lu for members of struct rt_metrics.
  - Use long explicitly for the time difference.

MFS r272854:

  -  Return 0 if:

      1. "-u N" specified, no -f, and mdN found,
      2. no -u, "-f /pathname" specified, and mdN associated with
         /pathname found,
      3. "-u N" specified, "-f /pathname" specified, and both of them found,
      4. "-l" specified and no -f,
      5. "-l" specified, "-f /pathname" specified, and /pathname found.

    otherwise return -1.

MFS r272856:

  - Move configuration of IPv6 NDP flags to a point before handling ifconfig_IF.
    This fixes a race that a non-IPv4 interface can get an EUI64 LLA even if it
    has IFDISABLED nd6 flag at boot time.

MFS r272857:

  - Cancel DAD for an ifa when the ifp has ND6_IFF_IFDISABLED as early as
    possible and do not clear IN6_IFF_TENTATIVE.  If IFDISABLED was accidentally
    set after a DAD started, TENTATIVE could be cleared because no NA was
    received due to IFDISABLED, and as a result it could prevent DAD when
    manually clearing IFDISABLED after that.

MFS r272858:

  - Fix an issue in range specification handling when a "-foo" is specified in
    ifconfig_IF_aliasN.

MFS r272859:

  - Fix EtherIP.  TOS field must be initialized when the inner protocol is
    PF_LINK, and multicast/broadcast flag should always be dropped because
    the outer protocol uses unicast even when the inner address is not for
    unicast.  It had been broken since r236951 when gif_output() started to
    use IFQ_HANDOFF().

MFS r272860:

  - Recover sin6_scope_id of gateway addresses in riprecv() by using the
    if_index where a RIP packet was received.  This fixes a bug which
    prevented gateway addresses in fe80::/64 from being added.

MFS r272861:

  - Fix rc.d/gssd script to define the default values in a standard way.
  - Use a parameter argument in jls(8) instead of doing grep.

MFS r272862, r272870:

  - Restructure rc.d scripts for kerberos5 daemons.

MFS r272863:

  - Return false status only when adding a route is failed.  It could
    erroneously return false due to an afexists() check loop in routing_start().

MFS r272864:

  - Use ipv6_prefer when at least one ifconfig_IF_ipv6 is configured.

MFS r272865:

  - Fix a bug which prevented mount.fstab parameter from being converted
    when jail_JID_devfs_enable=NO.

MFS r272866:

  -  Fix header output when -P is specified and (ncpus - 1) != maxid.

MFS r272867:

  - Fix a bug which could break extended attributes in a dump output.
    This occurred when a file was >892kB long and had a large data (>1kB)
    in the extended attributes.

MFS r272868, r272869:

  - Make net.inet.ip.sourceroute, net.inet.ip.accept_sourceroute, and
    net.inet.ip.process_options vnet-aware.

MFS r272871:

  - Revert changes in r269180.  It could cause -c N option to enter an
    infinite loop if no reply packet is received.

MFS r272874:

  - Resurrect set_rcvar() as a function to define a rc.conf variable.
    It defines a variable and its default value in load_rc_config() just after
    rc.conf is loaded.  "rcvar" command shows the current and the default
    values.

MFS r272960:

  - Do not add late flag when file= is specified because it has a bad
    side-effect.  The specified file should exist before the fstab line.

Approved by:	re (gjb)
MFH (r272173): offer to enable local_unbound after installation

Approved by:	re (gjb)
MFS r273191: MFC r273060:

Use write_psize instead of write_asize when doing vdev_space_update.
Without this change the accounting of L2ARC usage would be wrong and
give 16EB free space because the number became negative and overflows.

Approved by:	re (gjb)
Merge r273184, r273185 from stable/10:
  - Use rn_detachhead() instead of direct free(9) for radix tables.
  - Free radix mask entries on main radix destroy.

PR:		194078
Approved by:	re (gjb)
MFstable10 r273198:
MFC r273093, r273096:

r273093:
  Merge the following from ^/projects/release-vmimage:
  r272436, r272437, r272792:

  r272436:
    Remove the first argument to panic(), which was initially
    intended to be the exit code, however when a non-zero exit
    code was returned to release/Makefile, this would prevent
    any remaining (and possibly successful) stages from being
    attempted.

  r272437:

    If the vm-base target fails, prevent the vm-image target
    from being run since it cannot possibly succeed.

  r272792:

    Add /usr/local/bin and /usr/local/sbin to PATH, needed
    if third-party software needs to use utilities outside
    of the base system during post-install stages (indexinfo
    is one culprit).

r273096:
  Merge the following from ^/projects/release-vmimage:
  r273076, r273077, r273079, r273095:

  r273076:
    Add a separate make(1) target to release/Makefile to
    build FreeBSD virtual machine disk images for use on
    the Microsoft Azure service.

    For now, this target is not directly connected to the
    build, however can be manually invoked.

    The 'vm-azure' target invokes {amd64,i386}/mk-azure.sh,
    which does the heavy lifting to produce proper VHDs.
    mk-azure.sh uses a configuration file, defaulting to
    tools/azure.conf if otherwise unset.

  r273077:
    Clear VM_RC_LIST.

  r273079:
    Fix signal list to trigger umount(8).

  r273095:
    Output an informational message when mkimg(1) runs, so it
    does not appear that the process has stopped while waiting
    for a 'y/n' response when waagent is deprovisioned.

Relnotes:	yes
Approved by:	re (delphij)
Sponsored by:	The FreeBSD Foundation