Xin LI c1e80940f3 Update userland arc4random() with OpenBSD's Chacha20 based arc4random().
ObsoleteFiles.inc:

    Remove manual pages for arc4random_addrandom(3) and
    arc4random_stir(3).

  contrib/ntp/lib/isc/random.c:
  contrib/ntp/sntp/libevent/evutil_rand.c:

    Eliminate in-tree usage of arc4random_addrandom().

  crypto/heimdal/lib/roken/rand.c:
  crypto/openssh/config.h:

    Eliminate in-tree usage of arc4random_stir().

  include/stdlib.h:

    Remove arc4random_stir() and arc4random_addrandom() prototypes,
    provide temporary shims for transistion period.

  lib/libc/gen/Makefile.inc:

    Hook arc4random-compat.c to build, add hint for Chacha20 source for
    kernel, and remove arc4random_addrandom(3) and arc4random_stir(3)
    links.

  lib/libc/gen/arc4random.c:

    Adopt OpenBSD arc4random.c,v 1.54 with bare minimum changes, use the
    sys/crypto/chacha20 implementation of keystream.

  lib/libc/gen/Symbol.map:

    Remove arc4random_stir and arc4random_addrandom interfaces.

  lib/libc/gen/arc4random.h:

    Adopt OpenBSD arc4random.h,v 1.4 but provide _ARC4_LOCK of our own.

  lib/libc/gen/arc4random.3:

    Adopt OpenBSD arc4random.3,v 1.35 but keep FreeBSD r114444 and
    r118247.

  lib/libc/gen/arc4random-compat.c:

    Compatibility shims for arc4random_stir and arc4random_addrandom
    functions to preserve ABI.  Log once when called but do nothing
    otherwise.

  lib/libc/gen/getentropy.c:
  lib/libc/include/libc_private.h:

    Fold __arc4_sysctl into getentropy.c (renamed to arnd_sysctl).
    Remove from libc_private.h as a result.

  sys/crypto/chacha20/chacha.c:
  sys/crypto/chacha20/chacha.h:

    Make it possible to use the kernel implementation in libc.

PR:		182610
Reviewed by:	cem, markm
Obtained from:	OpenBSD
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D16760
2018-08-19 17:40:50 +00:00
..
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2017-03-06 01:37:05 +00:00
2017-03-06 01:37:05 +00:00
2017-03-06 01:37:05 +00:00
2017-03-06 01:37:05 +00:00
2017-03-06 01:37:05 +00:00
2017-03-06 01:37:05 +00:00
2017-03-06 01:37:05 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2016-03-11 00:15:29 +00:00
2017-03-02 00:11:32 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2017-03-06 01:37:05 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2016-01-19 18:28:23 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2017-03-06 01:37:05 +00:00
2017-03-02 00:11:32 +00:00
2017-03-02 00:11:32 +00:00
2014-01-31 13:12:02 +00:00
2017-03-06 01:37:05 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2013-09-21 21:36:09 +00:00
2016-01-19 18:28:23 +00:00
2017-03-06 01:37:05 +00:00
2016-01-19 18:28:23 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2017-03-06 01:37:05 +00:00
2017-03-06 01:37:05 +00:00
2018-05-11 13:22:43 +00:00
2017-03-06 01:37:05 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2017-03-02 00:11:32 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2014-01-31 13:12:02 +00:00
2018-05-11 13:22:43 +00:00
2017-03-06 01:37:05 +00:00
2014-01-31 13:12:02 +00:00
2014-01-31 13:12:02 +00:00
2013-09-21 21:36:09 +00:00
2017-08-04 12:57:24 +00:00
2014-01-31 13:12:02 +00:00
2014-01-31 13:12:02 +00:00
2016-01-19 18:28:23 +00:00
2016-01-19 18:55:44 +00:00
2017-03-06 01:37:05 +00:00
2018-05-11 13:22:43 +00:00
2016-01-19 18:55:44 +00:00
2016-01-19 18:28:23 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2017-03-02 00:11:32 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2017-03-02 00:11:32 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2016-01-19 18:28:23 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2016-01-19 18:28:23 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2016-03-11 00:15:29 +00:00
2018-05-11 13:22:43 +00:00
2017-03-02 00:11:32 +00:00
2018-05-11 13:22:43 +00:00
2017-08-04 12:57:24 +00:00
2017-08-04 12:57:24 +00:00
2018-05-11 13:22:43 +00:00
2017-03-06 01:37:05 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2017-03-02 00:11:32 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2017-03-06 01:37:05 +00:00
2016-01-19 18:28:23 +00:00
2016-01-19 18:28:23 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2016-01-20 22:57:10 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2014-01-31 13:12:02 +00:00
2016-03-11 00:15:29 +00:00
2017-03-06 01:37:05 +00:00
2017-03-06 01:37:05 +00:00
2014-01-31 13:12:02 +00:00
2017-03-02 00:11:32 +00:00
2016-01-19 18:28:23 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2014-01-31 13:12:02 +00:00
2016-01-19 18:28:23 +00:00
2016-01-20 22:57:10 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2017-03-06 01:37:05 +00:00
2018-05-11 13:22:43 +00:00
2016-03-11 00:15:29 +00:00
2016-01-19 18:55:44 +00:00
2014-03-25 11:05:34 +00:00
2017-03-06 01:37:05 +00:00
2014-01-31 13:12:02 +00:00
2016-03-11 00:15:29 +00:00
2017-03-06 01:37:05 +00:00
2016-03-11 00:15:29 +00:00
2014-01-31 13:12:02 +00:00
2014-01-31 13:12:02 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2016-03-11 00:15:29 +00:00
2016-01-19 18:28:23 +00:00
2016-01-19 18:28:23 +00:00
2016-03-11 00:15:29 +00:00
2016-01-19 18:28:23 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2017-03-02 00:11:32 +00:00
2016-01-19 18:28:23 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2017-03-06 01:37:05 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2017-03-02 00:11:32 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2016-03-11 00:15:29 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2016-01-19 18:28:23 +00:00
2018-05-11 13:22:43 +00:00
2014-01-31 13:12:02 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2017-03-02 00:11:32 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2016-03-11 00:15:29 +00:00
2013-09-21 21:36:09 +00:00
2018-05-11 13:22:43 +00:00
2017-03-06 01:37:05 +00:00
2017-03-06 01:37:05 +00:00
2018-05-11 13:22:43 +00:00
2016-03-11 00:15:29 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2013-09-21 21:36:09 +00:00
2017-03-06 01:37:05 +00:00
2016-01-19 18:55:44 +00:00
2014-01-31 13:12:02 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00
2018-05-11 13:22:43 +00:00

See https://www.openssh.com/releasenotes.html#7.7p1 for the release notes.

Please read https://www.openssh.com/report.html for bug reporting
instructions and note that we do not use Github for bug reporting or
patch/pull-request management.

- A Japanese translation of this document and of the release notes is
- available at https://www.unixuser.org/~haruyama/security/openssh/index.html
- Thanks to HARUYAMA Seigo <haruyama@unixuser.org>

This is the port of OpenBSD's excellent OpenSSH[0] to Linux and other
Unices.

OpenSSH is based on the last free version of Tatu Ylonen's sample
implementation with all patent-encumbered algorithms removed (to
external libraries), all known security bugs fixed, new features
reintroduced and many other clean-ups.  OpenSSH has been created by
Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt,
and Dug Song. It has a homepage at https://www.openssh.com/

This port consists of the re-introduction of autoconf support, PAM
support, EGD[1]/PRNGD[2] support and replacements for OpenBSD library
functions that are (regrettably) absent from other unices. This port
has been best tested on AIX, Cygwin, HP-UX, Linux, MacOS/X,
NetBSD, OpenBSD, OpenServer, Solaris and UnixWare.

This version actively tracks changes in the OpenBSD CVS repository.

The PAM support is now more functional than the popular packages of
commercial ssh-1.2.x. It checks "account" and "session" modules for
all logins, not just when using password authentication.

OpenSSH depends on Zlib[3], OpenSSL[4], and optionally PAM[5] and
libedit[6]

There is now several mailing lists for this port of OpenSSH. Please
refer to https://www.openssh.com/list.html for details on how to join.

Please send bug reports and patches to the mailing list
openssh-unix-dev@mindrot.org. The list is open to posting by unsubscribed
users.  Code contribution are welcomed, but please follow the OpenBSD
style guidelines[7].

Please refer to the INSTALL document for information on how to install
OpenSSH on your system.

Damien Miller <djm@mindrot.org>

Miscellania -

This version of OpenSSH is based upon code retrieved from the OpenBSD
CVS repository which in turn was based on the last free sample
implementation released by Tatu Ylonen.

References -

[0] https://www.openssh.com/
[1] http://www.lothar.com/tech/crypto/
[2] http://prngd.sourceforge.net/
[3] https://www.zlib.net/
[4] https://www.openssl.org/
[5] https://www.openpam.org
    https://www.kernel.org/pub/linux/libs/pam/
    (PAM also is standard on Solaris and HP-UX 11)
[6] https://thrysoee.dk/editline/ (portable version)
[7] https://man.openbsd.org/style.9