Integrate OpenSSL commit 9fe4603b8245425a4c46986ed000fca054231253:
Author: David Woodhouse <dwmw2@infradead.org>
Date:   Tue Feb 12 14:55:32 2013 +0000

    Check DTLS_BAD_VER for version number.

    The version check for DTLS1_VERSION was redundant as
    DTLS1_VERSION > TLS1_1_VERSION, however we do need to
    check for DTLS1_BAD_VER for compatibility.

    PR:2984
    (cherry picked from commit d980abb22e22661e98e5cee33d760ab0c7584ecc)

Approved by:	benl
Import vendor fixes:

197e0ea	Fix for TLS record tampering bug.  (CVE-2013-4353).
3462896	For DTLS we might need to retransmit messages from the
	previous session so keep a copy of write context in DTLS
	retransmission buffers instead of replacing it after
	sending CCS.  (CVE-2013-6450).
ca98926 When deciding whether to use TLS 1.2 PRF and record hash
	algorithms use the version number in the corresponding
	SSL_METHOD structure instead of the SSL structure.  The
	SSL structure version is sometimes inaccurate.
	Note: OpenSSL 1.0.2 and later effectively do this already.
	(CVE-2013-6449).
Import OpenSSL 1.0.1f.

Approved by:	so (delphij), benl (silence)
3947 zpool(1M) references nonexistent zfs-features(5)
4540 zpool(1M) man page doesn't describe "readonly" property
3948 zfs sync=default is not accepted
4611 zfs(1M) still mentions 'send -r' in synopsis
4415 zpool(1M) man page missing "import -m" description

illumos/illumos-gate@409f1c06a8ed7e94e186a77bff5bfe5f77c5ebb1
4570 Document dedupditto pool property
4572 Dedup-related documentation additions for zpool and zdb.
1371 Add -D option description to zpool(1M) manpage

illumos/illumos-gate@e902ed8e4d63380fc7ba67f74c52053dcedf7761
4571 Add documentation for -T and interval to "zpool list"

illumos/illumos-gate@b55998b6d68438193f311140cafa2104f2038571
4573 ZFS snapshot alias

illumos/illumos-gate@7dbbcd8300f0241d3ec9686f2a0a06107c1b90cb
3993 zpool(1M) and zfs(1M) should support -p for "list" and "get"
4700 "zpool get" doesn't support -H or -o options

illumos/illumos-gate@c58b352673e88983cd2b8a388a8c7625f35e2f18
Import OpenSSL 1.0.1g.

Approved by:	benl (maintainer)
4374 dn_free_ranges should use range_tree_t

(MD code for highbit64 omitted)

illumos/illumos-gate@bf16b11e8deb633dd6c4296d46e92399d1582df4
3897 zfs filesystem and snapshot limits

illumos/illumos@a2afb611b30628fb74ad9eade4ae465f9031e262
3835 zfs need not store 2 copies of all metadata

illumos/illumos-gate@edf345e6b8342e8627ec20ce821a977a62cee19d
2915 DTrace in a zone should see "cpu", "curpsinfo", et al
2916 DTrace in a zone should be able to access fds[]
2917 DTrace in a zone should have limited provider access

illumos/illumos-gate@b0f673c4626e4cb1db7785287eaeed2731dfefe8
4477 DTrace should speak JSON

illumos/illumos-gate@f497f9fe231e0e400f339c84a7d80c4aae2ac4d5
4248 dtrace(1M) should never create DOF with empty probes section
4249 Only probes from the first DTrace object file will be included

illumos/illumos-gate@54a20ab41aadcb81c53e72fc65886e964e9add59

The r258379 import of this change omitted the tests.
The code that combines adjacent ranges for BIO_DELETEs to optimize
trims to the device assumes the list is sorted. Don't apply the
optimization of not sorting the queue when we have SSDs to the
delete_queue, since it causes more discard traffic to the drive. While
one could argue that the higher levels should coalesce the trims,
that's not done today, so some optimization at this level is needed.

CR: https://phabric.freebsd.org/D142
vt fontcvt: -w sets the width, not height
Try to fix DWC OTG regression issues with full and low speed devices:
- Remove double buffering interrupt and isochronous traffic via the
transaction translator. It can be avoided because the DWC OTG will
always delay the start split transactions for interrupt and
isochronous traffic, but will not delay the complete split
transactions, if we set the odd frame bit correctly.
- Need to check the transfer cache field in the device done function
to be sure all allocated channels are freed and not the transfer first
one. This seems to resolve the control endpoint transfer type quirk
which is now removed.
- Make sure any received data upon TX is dumped else RX path will
stop.
- Transmit isochronous data before receiving isochronous data as a
means to optimise the TT schedule.
- Implement a simple TT bandwidth scheduler.
- Cleanup use of old "td->error" variable.
- On interrupt IN traffic via the transaction translator we simply
ignore missed transfer opportunities and silently retry the
transaction upon next available time slot.

MFC after:	3 days
Need to check the transfer cache field in the device done function
to be sure all allocated channels are freed and not the transfer first
one.
- Verify that we don't load more data into a FIFO than it is
configured to handle.
- Add code to handle suspend and resume.

MFC after:	3 days