History log of /freebsd-current/crypto/openssh/monitor.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# edf85781 09-Oct-2023 Ed Maste <emaste@FreeBSD.org>

ssh: Update to OpenSSH 9.5p1

Excerpts from the release notes:

Potentially incompatible changes
--------------------------------

* ssh-keygen(1): generate Ed25519 keys by default.
[NOTE: This change was already merged into FreeBSD.]

* sshd(8): the Subsystem directive now accurately preserves quoting of
subsystem commands and arguments.

New features
------------

* ssh(1): add keystroke timing obfuscation to the client.

* ssh(1), sshd(8): Introduce a transport-level ping facility.

* sshd(8): allow override of Sybsystem directives in sshd Match blocks.

Full release notes at https://www.openssh.com/txt/release-9.5

Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 535af610 10-Aug-2023 Ed Maste <emaste@FreeBSD.org>

ssh: Update to OpenSSH 9.4p1

Excerpts from the release notes:

* ssh-agent(1): PKCS#11 modules must now be specified by their full
paths. Previously dlopen(3) could search for them in system
library directories.

* ssh(1): allow forwarding Unix Domain sockets via ssh -W.

* ssh(1): add support for configuration tags to ssh(1).
This adds a ssh_config(5) "Tag" directive and corresponding
"Match tag" predicate that may be used to select blocks of
configuration similar to the pf.conf(5) keywords of the same
name.

* ssh(1): add a "match localnetwork" predicate. This allows matching
on the addresses of available network interfaces and may be used to
vary the effective client configuration based on network location.

* ssh-agent(1): improve isolation between loaded PKCS#11 modules
by running separate ssh-pkcs11-helpers for each loaded provider.

* ssh-agent(1), ssh(1): improve defences against invalid PKCS#11
modules being loaded by checking that the requested module
contains the required symbol before loading it.

* ssh(1): don't incorrectly disable hostname canonicalization when
CanonicalizeHostname=yes and ProxyJump was expicitly set to
"none". bz3567

Full release notes at https://www.openssh.com/txt/release-9.4

Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 4d3fc8b0 16-Mar-2023 Ed Maste <emaste@FreeBSD.org>

ssh: Update to OpenSSH 9.3p1

This release fixes a number of security bugs and has minor new
features and bug fixes. Security fixes, from the release notes
(https://www.openssh.com/txt/release-9.3):

This release contains fixes for a security problem and a memory
safety problem. The memory safety problem is not believed to be
exploitable, but we report most network-reachable memory faults as
security bugs.

* ssh-add(1): when adding smartcard keys to ssh-agent(1) with the
per-hop destination constraints (ssh-add -h ...) added in OpenSSH
8.9, a logic error prevented the constraints from being
communicated to the agent. This resulted in the keys being added
without constraints. The common cases of non-smartcard keys and
keys without destination constraints are unaffected. This problem
was reported by Luci Stanescu.

* ssh(1): Portable OpenSSH provides an implementation of the
getrrsetbyname(3) function if the standard library does not
provide it, for use by the VerifyHostKeyDNS feature. A
specifically crafted DNS response could cause this function to
perform an out-of-bounds read of adjacent stack data, but this
condition does not appear to be exploitable beyond denial-of-
service to the ssh(1) client.

The getrrsetbyname(3) replacement is only included if the system's
standard library lacks this function and portable OpenSSH was not
compiled with the ldns library (--with-ldns). getrrsetbyname(3) is
only invoked if using VerifyHostKeyDNS to fetch SSHFP records. This
problem was found by the Coverity static analyzer.

Sponsored by: The FreeBSD Foundation


# 38a52bd3 19-Oct-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH 9.1p1

Release notes are available at https://www.openssh.com/txt/release-9.1

9.1 contains fixes for three minor memory safety problems; these have
lready been merged to the copy of OpenSSH 9.0 that is in the FreeBSD base
system.

Some highlights copied from the release notes:

Potentially-incompatible changes
--------------------------------

* ssh(1), sshd(8): SetEnv directives in ssh_config and sshd_config
are now first-match-wins to match other directives. Previously
if an environment variable was multiply specified the last set
value would have been used. bz3438

* ssh-keygen(8): ssh-keygen -A (generate all default host key types)
will no longer generate DSA keys, as these are insecure and have
not been used by default for some years.

New features
------------

* ssh(1), sshd(8): add a RequiredRSASize directive to set a minimum
RSA key length. Keys below this length will be ignored for user
authentication and for host authentication in sshd(8).

* sftp-server(8): add a "users-groups-by-id@openssh.com" extension
request that allows the client to obtain user/group names that
correspond to a set of uids/gids.

* sftp(1): use "users-groups-by-id@openssh.com" sftp-server
extension (when available) to fill in user/group names for
directory listings.

* sftp-server(8): support the "home-directory" extension request
defined in draft-ietf-secsh-filexfer-extensions-00. This overlaps
a bit with the existing "expand-path@openssh.com", but some other
clients support it.

* ssh-keygen(1), sshd(8): allow certificate validity intervals,
sshsig verification times and authorized_keys expiry-time options
to accept dates in the UTC time zone in addition to the default
of interpreting them in the system time zone. YYYYMMDD and
YYMMDDHHMM[SS] dates/times will be interpreted as UTC if suffixed
with a 'Z' character.

Also allow certificate validity intervals to be specified in raw
seconds-since-epoch as hex value, e.g. -V 0x1234:0x4567890. This
is intended for use by regress tests and other tools that call
ssh-keygen as part of a CA workflow. bz3468

* sftp(1): allow arguments to the sftp -D option, e.g. sftp -D
"/usr/libexec/sftp-server -el debug3"

* ssh-keygen(1): allow the existing -U (use agent) flag to work
with "-Y sign" operations, where it will be interpreted to require
that the private keys is hosted in an agent; bz3429

MFC after: 2 weeks
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 87c1498d 15-Apr-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH v9.0p1

Release notes are available at https://www.openssh.com/txt/release-9.0

Some highlights:

* ssh(1), sshd(8): use the hybrid Streamlined NTRU Prime + x25519 key
exchange method by default ("sntrup761x25519-sha512@openssh.com").
The NTRU algorithm is believed to resist attacks enabled by future
quantum computers and is paired with the X25519 ECDH key exchange
(the previous default) as a backstop against any weaknesses in
NTRU Prime that may be discovered in the future. The combination
ensures that the hybrid exchange offers at least as good security
as the status quo.

* sftp-server(8): support the "copy-data" extension to allow server-
side copying of files/data, following the design in
draft-ietf-secsh-filexfer-extensions-00. bz2948

* sftp(1): add a "cp" command to allow the sftp client to perform
server-side file copies.

This commit excludes the scp(1) change to use the SFTP protocol by
default; that change will immediately follow.

MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 1323ec57 13-Apr-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH v8.9p1

Release notes are available at https://www.openssh.com/txt/release-8.9

Some highlights:

* ssh(1), sshd(8), ssh-add(1), ssh-agent(1): add a system for
restricting forwarding and use of keys added to ssh-agent(1)

* ssh(1), sshd(8): add the sntrup761x25519-sha512@openssh.com hybrid
ECDH/x25519 + Streamlined NTRU Prime post-quantum KEX to the
default KEXAlgorithms list (after the ECDH methods but before the
prime-group DH ones). The next release of OpenSSH is likely to
make this key exchange the default method.

* sshd(8), portable OpenSSH only: this release removes in-built
support for MD5-hashed passwords. If you require these on your
system then we recommend linking against libxcrypt or similar.

Future deprecation notice
=========================

A near-future release of OpenSSH will switch scp(1) from using the
legacy scp/rcp protocol to using SFTP by default.

Legacy scp/rcp performs wildcard expansion of remote filenames (e.g.
"scp host:* .") through the remote shell. This has the side effect of
requiring double quoting of shell meta-characters in file names
included on scp(1) command-lines, otherwise they could be interpreted
as shell commands on the remote side.

MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 19261079 07-Sep-2021 Ed Maste <emaste@FreeBSD.org>

openssh: update to OpenSSH v8.7p1

Some notable changes, from upstream's release notes:

- sshd(8): Remove support for obsolete "host/port" syntax.
- ssh(1): When prompting whether to record a new host key, accept the key
fingerprint as a synonym for "yes".
- ssh-keygen(1): when acting as a CA and signing certificates with an RSA
key, default to using the rsa-sha2-512 signature algorithm.
- ssh(1), sshd(8), ssh-keygen(1): this release removes the "ssh-rsa"
(RSA/SHA1) algorithm from those accepted for certificate signatures.
- ssh-sk-helper(8): this is a new binary. It is used by the FIDO/U2F
support to provide address-space isolation for token middleware
libraries (including the internal one).
- ssh(1): this release enables UpdateHostkeys by default subject to some
conservative preconditions.
- scp(1): this release changes the behaviour of remote to remote copies
(e.g. "scp host-a:/path host-b:") to transfer through the local host
by default.
- scp(1): experimental support for transfers using the SFTP protocol as
a replacement for the venerable SCP/RCP protocol that it has
traditionally used.

Additional integration work is needed to support FIDO/U2F in the base
system.

Deprecation Notice
------------------

OpenSSH will disable the ssh-rsa signature scheme by default in the
next release.

Reviewed by: imp
MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29985


# 27ceebbc 31-Aug-2021 Ed Maste <emaste@FreeBSD.org>

openssh: simplify login class restrictions

Login class-based restrictions were introduced in 5b400a39b8ad. The
code was adapted for sshd's Capsicum sandbox and received many changes
over time, including at least fc3c19a9fcee, bd393de91cc3, and
e8c56fba2926.

During an attempt to upstream the work a much simpler approach was
suggested. Adopt it now in the in-tree OpenSSH to reduce conflicts with
future updates.

Submitted by: Yuchiro Naito (against OpenSSH-portable on GitHub)
Obtained from: https://github.com/openssh/openssh-portable/pull/262
Reviewed by: allanjude, kevans
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D31760

# e8c56fba 20-Nov-2019 Ed Maste <emaste@FreeBSD.org>

sshd: make getpwclass wrapper MON_ISAUTH not MON_AUTH

In r339216 a privsep wrapper was added for login_getpwclass to address
PR 231172. Unfortunately the change used the MON_AUTH flag in the
wrapper, and MON_AUTH includes MON_AUTHDECIDE which triggers an
auth_log() on each invocation. getpwclass() does not participate in the
authentication decision, so should be MON_ISAUTH instead.

PR: 234793
Submitted by: Henry Hu
Reviewed by: Yuichiro NAITO
MFC after: 1 week

# bd393de9 09-Oct-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix portability issues with the Capsicum patch committed in r339216:

- Wrap access to pw_change and pw_expire in the appropriate #ifdefs.
- Wrap calls to login_cap(3) API in appropriate #ifdefs.
- Add wrapper for transferring time_t, which is still only 32 bits wide
on FreeBSD i386.
- Use a temporary variable to deserialize size_t.

Approved by: re (gjb)

# fc3c19a9 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

sshd: address capsicum issues

* Add a wrapper to proxy login_getpwclass(3) as it is not allowed in
capability mode.
* Cache timezone data via caph_cache_tzdata() as we cannot access the
timezone file.
* Reverse resolve hostname before entering capability mode.

PR: 231172
Submitted by: naito.yuichiro@gmail.com
Reviewed by: cem, des
Approved by: re (rgrimes)
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D17128

# 2a01feab 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

openssh: cherry-pick OpenSSL 1.1.1 compatibility

Compatibility with existing OpenSSL versions is maintained.

Upstream commits:
482d23bcac upstream: hold our collective noses and use the openssl-1.1.x
48f54b9d12 adapt -portable to OpenSSL 1.1x API
86e0a9f3d2 upstream: use only openssl-1.1.x API here too
a3fd8074e2 upstream: missed a bit of openssl-1.0.x API in this unittest
cce8cbe0ed Fix openssl-1.1 fallout for --without-openssl.

Trivial conflicts in sshkey.c and test_sshkey.c were resolved.

Connect libressl-api-compat.c to the build, and regenerate config.h

Reviewed by: des
Approved by: re (rgrimes)
MFC after: 2 seeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D17444


# 190cef3d 10-Sep-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.8p1.

Approved by: re (kib@)


# 47dd1d1b 11-May-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.7p1.


# 4f52dfbb 08-May-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.6p1. This will be followed shortly by 7.7p1.

This completely removes client-side support for the SSH 1 protocol,
which was already disabled in 12 but is still enabled in 11. For that
reason, we will not be able to merge 7.6p1 or newer back to 11.


# d93a896e 03-Aug-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.5p1.


# ca86bcf2 05-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.4p1.


# 076ad2f8 01-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.3p1.


# acc1a9ef 10-Mar-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.2p2.


# 557f75e5 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.9p1.


# bc5531de 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.8p1.


# a0ee8cc6 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.7p1, retaining libwrap support (which has been removed
upstream) and a number of security fixes which we had already backported.

MFC after: 1 week


# 1e415e29 25-Aug-2015 Xin LI <delphij@FreeBSD.org>

Fix OpenSSH multiple vulnerabilities by backporting three changes
from OpenSSH-portable master.

Git revisions: 45b0eb752c94954a6de046bfaaf129e518ad4b5b
5e75f5198769056089fb06c4d738ab0e5abc66f7
d4697fe9a28dab7255c60433e4dd23cf7fce8a8b
Reviewed by: des
Security: FreeBSD-SA-15:22.openssh

# b83788ff 25-Mar-2014 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.6p1.


# f7167e0e 31-Jan-2014 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.5p1.


# e4a9863f 21-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to 6.3p1.

Approved by: re (gjb)


# 6888a9be 22-Mar-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.2p1. The most important new features are support
for a key revocation list and more fine-grained authentication control.


# 462c32cb 03-Sep-2012 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade OpenSSH to 6.1p1.


# e146993e 05-Oct-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.9p1.

MFC after: 3 months


# 4a421b63 04-May-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.8p2.


# e2f6069c 11-Nov-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.6p1.


# b15c8340 09-Mar-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.4p1.

MFC after: 1 month


# 7aee6ffe 01-Oct-2009 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.3p1.


# cce7d346 22-May-2009 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.2p1.

MFC after: 3 months


# d4af9e69 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.1p1.

I have worked hard to reduce diffs against the vendor branch. One
notable change in that respect is that we no longer prefer DSA over
RSA - the reasons for doing so went away years ago. This may cause
some surprises, as ssh will warn about unknown host keys even for
hosts whose keys haven't changed.

MFC after: 6 weeks


# 7cbfb014 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Revert an old hack I put in to replace S/Key with OPIE. We haven't used
that code in ages - we use pam_opie(8) instead - so this is a NOP.

# e3ae3b09 22-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Properly flatten openssh/dist.

# 62efe23a 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 92eb0aa1 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.5p1.

# 333ee039 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

MFC after: 1 week

# 761efaa7 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.4p1.

# 9d2c6627 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge vendor patch for BSM problem in protocol version 1.

MFC after: 1 week

# 30c2033a 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor patch for a problem that prevented using protocol version 1 when
BSM was enabled.

# b74df5b2 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

# 021d409f 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.3p1.

# d4ecd108 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 043840df 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.2p1.

# aa49c926 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 4518870c 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.1p1.

# 5e8dbd04 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.0p1.

# 21e764df 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts

# d74d50a8 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.9p1.

# 5962c0e9 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 52028650 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8.1p1.

# 1ec0d754 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# efcad6b7 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8p1.

# cf2b5f3b 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts and remove obsolete files.

Sponsored by: registrar.no

# d95e11bf 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.7.1p2.

# e73e9afa 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# d0c8c0bc 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.6.1p1.

# 07fd326c 31-Jan-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix keyboard-interactive authentication for ssh1. The problem was twofold:

- The PAM kbdint device sometimes doesn't know authentication succeeded
until you re-query it. The ssh1 kbdint code would never re-query the
device, so authentication would always fail. This patch has been
submitted to the OpenSSH developers.

- The monitor code for PAM sometimes forgot to tell the monitor that
authentication had succeeded. This caused the monitor to veto the
privsep child's decision to allow the connection.

These patches have been tested with OpenSSH clients on -STABLE, NetBSD and
Linux, and with ssh.com's ssh1 on Solaris.

Sponsored by: DARPA, NAI Labs

# f388f5ef 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 4b17dab0 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.5p1.

# 7ac32603 09-Sep-2002 Hajimu UMEMOTO <ume@FreeBSD.org>

sshd didn't handle actual size of struct sockaddr correctly,
and did copy it as long as just size of struct sockaddr. So,
If connection is via IPv6, sshd didn't log hostname into utmp
correctly.
This problem occured only under FreeBSD because of our hack.
However, this is potential problem of OpenSSH-portable, and
they agreed to fix this.
Though, there is no fixed version of OpenSSH-portable available
yet, since this problem is serious for IPv6 users, I commit the
fix.

Reported by: many people
Reviewed by: current@ and stable@ (no objection)
MFC after: 3 days

# 645ca8e8 10-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Don't forget to clear the buffer before reusing it.

# 669e440e 02-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix a braino in mm_answer_pam_respond() which would cause sshd to abort if
PAM authentication failed due to an incorrect response.

# a82e551f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

Sponsored by: DARPA, NAI Labs

# ee21a45f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.4p1.

# 382d19ee 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

PAM support, the FreeBSD way.

Sponsored by: DARPA, NAI Labs

# edb557f8 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Support OPIE as an alternative to S/Key.

Sponsored by: DARPA, NAI Labs

# 989dd127 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Forcibly revert to mainline.

# 83d2307d 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3p1.

# 80628bac 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts. Known issues:

- sshd fails to set TERM correctly.
- privilege separation may break PAM and is currently turned off.
- man pages have not yet been updated

I will have these issues resolved, and privilege separation turned on by
default, in time for DP2.

Sponsored by: DARPA, NAI Labs

# 545d5eca 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3.

# 535af610 10-Aug-2023 Ed Maste <emaste@FreeBSD.org>

ssh: Update to OpenSSH 9.4p1

Excerpts from the release notes:

* ssh-agent(1): PKCS#11 modules must now be specified by their full
paths. Previously dlopen(3) could search for them in system
library directories.

* ssh(1): allow forwarding Unix Domain sockets via ssh -W.

* ssh(1): add support for configuration tags to ssh(1).
This adds a ssh_config(5) "Tag" directive and corresponding
"Match tag" predicate that may be used to select blocks of
configuration similar to the pf.conf(5) keywords of the same
name.

* ssh(1): add a "match localnetwork" predicate. This allows matching
on the addresses of available network interfaces and may be used to
vary the effective client configuration based on network location.

* ssh-agent(1): improve isolation between loaded PKCS#11 modules
by running separate ssh-pkcs11-helpers for each loaded provider.

* ssh-agent(1), ssh(1): improve defences against invalid PKCS#11
modules being loaded by checking that the requested module
contains the required symbol before loading it.

* ssh(1): don't incorrectly disable hostname canonicalization when
CanonicalizeHostname=yes and ProxyJump was expicitly set to
"none". bz3567

Full release notes at https://www.openssh.com/txt/release-9.4

Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 4d3fc8b0 16-Mar-2023 Ed Maste <emaste@FreeBSD.org>

ssh: Update to OpenSSH 9.3p1

This release fixes a number of security bugs and has minor new
features and bug fixes. Security fixes, from the release notes
(https://www.openssh.com/txt/release-9.3):

This release contains fixes for a security problem and a memory
safety problem. The memory safety problem is not believed to be
exploitable, but we report most network-reachable memory faults as
security bugs.

* ssh-add(1): when adding smartcard keys to ssh-agent(1) with the
per-hop destination constraints (ssh-add -h ...) added in OpenSSH
8.9, a logic error prevented the constraints from being
communicated to the agent. This resulted in the keys being added
without constraints. The common cases of non-smartcard keys and
keys without destination constraints are unaffected. This problem
was reported by Luci Stanescu.

* ssh(1): Portable OpenSSH provides an implementation of the
getrrsetbyname(3) function if the standard library does not
provide it, for use by the VerifyHostKeyDNS feature. A
specifically crafted DNS response could cause this function to
perform an out-of-bounds read of adjacent stack data, but this
condition does not appear to be exploitable beyond denial-of-
service to the ssh(1) client.

The getrrsetbyname(3) replacement is only included if the system's
standard library lacks this function and portable OpenSSH was not
compiled with the ldns library (--with-ldns). getrrsetbyname(3) is
only invoked if using VerifyHostKeyDNS to fetch SSHFP records. This
problem was found by the Coverity static analyzer.

Sponsored by: The FreeBSD Foundation


# 38a52bd3 19-Oct-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH 9.1p1

Release notes are available at https://www.openssh.com/txt/release-9.1

9.1 contains fixes for three minor memory safety problems; these have
lready been merged to the copy of OpenSSH 9.0 that is in the FreeBSD base
system.

Some highlights copied from the release notes:

Potentially-incompatible changes
--------------------------------

* ssh(1), sshd(8): SetEnv directives in ssh_config and sshd_config
are now first-match-wins to match other directives. Previously
if an environment variable was multiply specified the last set
value would have been used. bz3438

* ssh-keygen(8): ssh-keygen -A (generate all default host key types)
will no longer generate DSA keys, as these are insecure and have
not been used by default for some years.

New features
------------

* ssh(1), sshd(8): add a RequiredRSASize directive to set a minimum
RSA key length. Keys below this length will be ignored for user
authentication and for host authentication in sshd(8).

* sftp-server(8): add a "users-groups-by-id@openssh.com" extension
request that allows the client to obtain user/group names that
correspond to a set of uids/gids.

* sftp(1): use "users-groups-by-id@openssh.com" sftp-server
extension (when available) to fill in user/group names for
directory listings.

* sftp-server(8): support the "home-directory" extension request
defined in draft-ietf-secsh-filexfer-extensions-00. This overlaps
a bit with the existing "expand-path@openssh.com", but some other
clients support it.

* ssh-keygen(1), sshd(8): allow certificate validity intervals,
sshsig verification times and authorized_keys expiry-time options
to accept dates in the UTC time zone in addition to the default
of interpreting them in the system time zone. YYYYMMDD and
YYMMDDHHMM[SS] dates/times will be interpreted as UTC if suffixed
with a 'Z' character.

Also allow certificate validity intervals to be specified in raw
seconds-since-epoch as hex value, e.g. -V 0x1234:0x4567890. This
is intended for use by regress tests and other tools that call
ssh-keygen as part of a CA workflow. bz3468

* sftp(1): allow arguments to the sftp -D option, e.g. sftp -D
"/usr/libexec/sftp-server -el debug3"

* ssh-keygen(1): allow the existing -U (use agent) flag to work
with "-Y sign" operations, where it will be interpreted to require
that the private keys is hosted in an agent; bz3429

MFC after: 2 weeks
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 87c1498d 15-Apr-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH v9.0p1

Release notes are available at https://www.openssh.com/txt/release-9.0

Some highlights:

* ssh(1), sshd(8): use the hybrid Streamlined NTRU Prime + x25519 key
exchange method by default ("sntrup761x25519-sha512@openssh.com").
The NTRU algorithm is believed to resist attacks enabled by future
quantum computers and is paired with the X25519 ECDH key exchange
(the previous default) as a backstop against any weaknesses in
NTRU Prime that may be discovered in the future. The combination
ensures that the hybrid exchange offers at least as good security
as the status quo.

* sftp-server(8): support the "copy-data" extension to allow server-
side copying of files/data, following the design in
draft-ietf-secsh-filexfer-extensions-00. bz2948

* sftp(1): add a "cp" command to allow the sftp client to perform
server-side file copies.

This commit excludes the scp(1) change to use the SFTP protocol by
default; that change will immediately follow.

MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 1323ec57 13-Apr-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH v8.9p1

Release notes are available at https://www.openssh.com/txt/release-8.9

Some highlights:

* ssh(1), sshd(8), ssh-add(1), ssh-agent(1): add a system for
restricting forwarding and use of keys added to ssh-agent(1)

* ssh(1), sshd(8): add the sntrup761x25519-sha512@openssh.com hybrid
ECDH/x25519 + Streamlined NTRU Prime post-quantum KEX to the
default KEXAlgorithms list (after the ECDH methods but before the
prime-group DH ones). The next release of OpenSSH is likely to
make this key exchange the default method.

* sshd(8), portable OpenSSH only: this release removes in-built
support for MD5-hashed passwords. If you require these on your
system then we recommend linking against libxcrypt or similar.

Future deprecation notice
=========================

A near-future release of OpenSSH will switch scp(1) from using the
legacy scp/rcp protocol to using SFTP by default.

Legacy scp/rcp performs wildcard expansion of remote filenames (e.g.
"scp host:* .") through the remote shell. This has the side effect of
requiring double quoting of shell meta-characters in file names
included on scp(1) command-lines, otherwise they could be interpreted
as shell commands on the remote side.

MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 19261079 07-Sep-2021 Ed Maste <emaste@FreeBSD.org>

openssh: update to OpenSSH v8.7p1

Some notable changes, from upstream's release notes:

- sshd(8): Remove support for obsolete "host/port" syntax.
- ssh(1): When prompting whether to record a new host key, accept the key
fingerprint as a synonym for "yes".
- ssh-keygen(1): when acting as a CA and signing certificates with an RSA
key, default to using the rsa-sha2-512 signature algorithm.
- ssh(1), sshd(8), ssh-keygen(1): this release removes the "ssh-rsa"
(RSA/SHA1) algorithm from those accepted for certificate signatures.
- ssh-sk-helper(8): this is a new binary. It is used by the FIDO/U2F
support to provide address-space isolation for token middleware
libraries (including the internal one).
- ssh(1): this release enables UpdateHostkeys by default subject to some
conservative preconditions.
- scp(1): this release changes the behaviour of remote to remote copies
(e.g. "scp host-a:/path host-b:") to transfer through the local host
by default.
- scp(1): experimental support for transfers using the SFTP protocol as
a replacement for the venerable SCP/RCP protocol that it has
traditionally used.

Additional integration work is needed to support FIDO/U2F in the base
system.

Deprecation Notice
------------------

OpenSSH will disable the ssh-rsa signature scheme by default in the
next release.

Reviewed by: imp
MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29985


# 27ceebbc 31-Aug-2021 Ed Maste <emaste@FreeBSD.org>

openssh: simplify login class restrictions

Login class-based restrictions were introduced in 5b400a39b8ad. The
code was adapted for sshd's Capsicum sandbox and received many changes
over time, including at least fc3c19a9fcee, bd393de91cc3, and
e8c56fba2926.

During an attempt to upstream the work a much simpler approach was
suggested. Adopt it now in the in-tree OpenSSH to reduce conflicts with
future updates.

Submitted by: Yuchiro Naito (against OpenSSH-portable on GitHub)
Obtained from: https://github.com/openssh/openssh-portable/pull/262
Reviewed by: allanjude, kevans
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D31760

# e8c56fba 20-Nov-2019 Ed Maste <emaste@FreeBSD.org>

sshd: make getpwclass wrapper MON_ISAUTH not MON_AUTH

In r339216 a privsep wrapper was added for login_getpwclass to address
PR 231172. Unfortunately the change used the MON_AUTH flag in the
wrapper, and MON_AUTH includes MON_AUTHDECIDE which triggers an
auth_log() on each invocation. getpwclass() does not participate in the
authentication decision, so should be MON_ISAUTH instead.

PR: 234793
Submitted by: Henry Hu
Reviewed by: Yuichiro NAITO
MFC after: 1 week

# bd393de9 09-Oct-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix portability issues with the Capsicum patch committed in r339216:

- Wrap access to pw_change and pw_expire in the appropriate #ifdefs.
- Wrap calls to login_cap(3) API in appropriate #ifdefs.
- Add wrapper for transferring time_t, which is still only 32 bits wide
on FreeBSD i386.
- Use a temporary variable to deserialize size_t.

Approved by: re (gjb)

# fc3c19a9 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

sshd: address capsicum issues

* Add a wrapper to proxy login_getpwclass(3) as it is not allowed in
capability mode.
* Cache timezone data via caph_cache_tzdata() as we cannot access the
timezone file.
* Reverse resolve hostname before entering capability mode.

PR: 231172
Submitted by: naito.yuichiro@gmail.com
Reviewed by: cem, des
Approved by: re (rgrimes)
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D17128

# 2a01feab 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

openssh: cherry-pick OpenSSL 1.1.1 compatibility

Compatibility with existing OpenSSL versions is maintained.

Upstream commits:
482d23bcac upstream: hold our collective noses and use the openssl-1.1.x
48f54b9d12 adapt -portable to OpenSSL 1.1x API
86e0a9f3d2 upstream: use only openssl-1.1.x API here too
a3fd8074e2 upstream: missed a bit of openssl-1.0.x API in this unittest
cce8cbe0ed Fix openssl-1.1 fallout for --without-openssl.

Trivial conflicts in sshkey.c and test_sshkey.c were resolved.

Connect libressl-api-compat.c to the build, and regenerate config.h

Reviewed by: des
Approved by: re (rgrimes)
MFC after: 2 seeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D17444


# 190cef3d 10-Sep-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.8p1.

Approved by: re (kib@)


# 47dd1d1b 11-May-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.7p1.


# 4f52dfbb 08-May-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.6p1. This will be followed shortly by 7.7p1.

This completely removes client-side support for the SSH 1 protocol,
which was already disabled in 12 but is still enabled in 11. For that
reason, we will not be able to merge 7.6p1 or newer back to 11.


# d93a896e 03-Aug-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.5p1.


# ca86bcf2 05-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.4p1.


# 076ad2f8 01-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.3p1.


# acc1a9ef 10-Mar-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.2p2.


# 557f75e5 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.9p1.


# bc5531de 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.8p1.


# a0ee8cc6 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.7p1, retaining libwrap support (which has been removed
upstream) and a number of security fixes which we had already backported.

MFC after: 1 week


# 1e415e29 25-Aug-2015 Xin LI <delphij@FreeBSD.org>

Fix OpenSSH multiple vulnerabilities by backporting three changes
from OpenSSH-portable master.

Git revisions: 45b0eb752c94954a6de046bfaaf129e518ad4b5b
5e75f5198769056089fb06c4d738ab0e5abc66f7
d4697fe9a28dab7255c60433e4dd23cf7fce8a8b
Reviewed by: des
Security: FreeBSD-SA-15:22.openssh

# b83788ff 25-Mar-2014 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.6p1.


# f7167e0e 31-Jan-2014 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.5p1.


# e4a9863f 21-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to 6.3p1.

Approved by: re (gjb)


# 6888a9be 22-Mar-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.2p1. The most important new features are support
for a key revocation list and more fine-grained authentication control.


# 462c32cb 03-Sep-2012 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade OpenSSH to 6.1p1.


# e146993e 05-Oct-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.9p1.

MFC after: 3 months


# 4a421b63 04-May-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.8p2.


# e2f6069c 11-Nov-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.6p1.


# b15c8340 09-Mar-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.4p1.

MFC after: 1 month


# 7aee6ffe 01-Oct-2009 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.3p1.


# cce7d346 22-May-2009 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.2p1.

MFC after: 3 months


# d4af9e69 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.1p1.

I have worked hard to reduce diffs against the vendor branch. One
notable change in that respect is that we no longer prefer DSA over
RSA - the reasons for doing so went away years ago. This may cause
some surprises, as ssh will warn about unknown host keys even for
hosts whose keys haven't changed.

MFC after: 6 weeks


# 7cbfb014 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Revert an old hack I put in to replace S/Key with OPIE. We haven't used
that code in ages - we use pam_opie(8) instead - so this is a NOP.

# e3ae3b09 22-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Properly flatten openssh/dist.

# 62efe23a 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 92eb0aa1 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.5p1.

# 333ee039 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

MFC after: 1 week

# 761efaa7 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.4p1.

# 9d2c6627 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge vendor patch for BSM problem in protocol version 1.

MFC after: 1 week

# 30c2033a 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor patch for a problem that prevented using protocol version 1 when
BSM was enabled.

# b74df5b2 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

# 021d409f 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.3p1.

# d4ecd108 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 043840df 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.2p1.

# aa49c926 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 4518870c 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.1p1.

# 5e8dbd04 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.0p1.

# 21e764df 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts

# d74d50a8 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.9p1.

# 5962c0e9 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 52028650 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8.1p1.

# 1ec0d754 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# efcad6b7 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8p1.

# cf2b5f3b 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts and remove obsolete files.

Sponsored by: registrar.no

# d95e11bf 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.7.1p2.

# e73e9afa 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# d0c8c0bc 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.6.1p1.

# 07fd326c 31-Jan-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix keyboard-interactive authentication for ssh1. The problem was twofold:

- The PAM kbdint device sometimes doesn't know authentication succeeded
until you re-query it. The ssh1 kbdint code would never re-query the
device, so authentication would always fail. This patch has been
submitted to the OpenSSH developers.

- The monitor code for PAM sometimes forgot to tell the monitor that
authentication had succeeded. This caused the monitor to veto the
privsep child's decision to allow the connection.

These patches have been tested with OpenSSH clients on -STABLE, NetBSD and
Linux, and with ssh.com's ssh1 on Solaris.

Sponsored by: DARPA, NAI Labs

# f388f5ef 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 4b17dab0 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.5p1.

# 7ac32603 09-Sep-2002 Hajimu UMEMOTO <ume@FreeBSD.org>

sshd didn't handle actual size of struct sockaddr correctly,
and did copy it as long as just size of struct sockaddr. So,
If connection is via IPv6, sshd didn't log hostname into utmp
correctly.
This problem occured only under FreeBSD because of our hack.
However, this is potential problem of OpenSSH-portable, and
they agreed to fix this.
Though, there is no fixed version of OpenSSH-portable available
yet, since this problem is serious for IPv6 users, I commit the
fix.

Reported by: many people
Reviewed by: current@ and stable@ (no objection)
MFC after: 3 days

# 645ca8e8 10-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Don't forget to clear the buffer before reusing it.

# 669e440e 02-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix a braino in mm_answer_pam_respond() which would cause sshd to abort if
PAM authentication failed due to an incorrect response.

# a82e551f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

Sponsored by: DARPA, NAI Labs

# ee21a45f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.4p1.

# 382d19ee 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

PAM support, the FreeBSD way.

Sponsored by: DARPA, NAI Labs

# edb557f8 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Support OPIE as an alternative to S/Key.

Sponsored by: DARPA, NAI Labs

# 989dd127 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Forcibly revert to mainline.

# 83d2307d 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3p1.

# 80628bac 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts. Known issues:

- sshd fails to set TERM correctly.
- privilege separation may break PAM and is currently turned off.
- man pages have not yet been updated

I will have these issues resolved, and privilege separation turned on by
default, in time for DP2.

Sponsored by: DARPA, NAI Labs

# 545d5eca 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3.

# 4d3fc8b0 16-Mar-2023 Ed Maste <emaste@FreeBSD.org>

ssh: Update to OpenSSH 9.3p1

This release fixes a number of security bugs and has minor new
features and bug fixes. Security fixes, from the release notes
(https://www.openssh.com/txt/release-9.3):

This release contains fixes for a security problem and a memory
safety problem. The memory safety problem is not believed to be
exploitable, but we report most network-reachable memory faults as
security bugs.

* ssh-add(1): when adding smartcard keys to ssh-agent(1) with the
per-hop destination constraints (ssh-add -h ...) added in OpenSSH
8.9, a logic error prevented the constraints from being
communicated to the agent. This resulted in the keys being added
without constraints. The common cases of non-smartcard keys and
keys without destination constraints are unaffected. This problem
was reported by Luci Stanescu.

* ssh(1): Portable OpenSSH provides an implementation of the
getrrsetbyname(3) function if the standard library does not
provide it, for use by the VerifyHostKeyDNS feature. A
specifically crafted DNS response could cause this function to
perform an out-of-bounds read of adjacent stack data, but this
condition does not appear to be exploitable beyond denial-of-
service to the ssh(1) client.

The getrrsetbyname(3) replacement is only included if the system's
standard library lacks this function and portable OpenSSH was not
compiled with the ldns library (--with-ldns). getrrsetbyname(3) is
only invoked if using VerifyHostKeyDNS to fetch SSHFP records. This
problem was found by the Coverity static analyzer.

Sponsored by: The FreeBSD Foundation


# 38a52bd3 19-Oct-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH 9.1p1

Release notes are available at https://www.openssh.com/txt/release-9.1

9.1 contains fixes for three minor memory safety problems; these have
lready been merged to the copy of OpenSSH 9.0 that is in the FreeBSD base
system.

Some highlights copied from the release notes:

Potentially-incompatible changes
--------------------------------

* ssh(1), sshd(8): SetEnv directives in ssh_config and sshd_config
are now first-match-wins to match other directives. Previously
if an environment variable was multiply specified the last set
value would have been used. bz3438

* ssh-keygen(8): ssh-keygen -A (generate all default host key types)
will no longer generate DSA keys, as these are insecure and have
not been used by default for some years.

New features
------------

* ssh(1), sshd(8): add a RequiredRSASize directive to set a minimum
RSA key length. Keys below this length will be ignored for user
authentication and for host authentication in sshd(8).

* sftp-server(8): add a "users-groups-by-id@openssh.com" extension
request that allows the client to obtain user/group names that
correspond to a set of uids/gids.

* sftp(1): use "users-groups-by-id@openssh.com" sftp-server
extension (when available) to fill in user/group names for
directory listings.

* sftp-server(8): support the "home-directory" extension request
defined in draft-ietf-secsh-filexfer-extensions-00. This overlaps
a bit with the existing "expand-path@openssh.com", but some other
clients support it.

* ssh-keygen(1), sshd(8): allow certificate validity intervals,
sshsig verification times and authorized_keys expiry-time options
to accept dates in the UTC time zone in addition to the default
of interpreting them in the system time zone. YYYYMMDD and
YYMMDDHHMM[SS] dates/times will be interpreted as UTC if suffixed
with a 'Z' character.

Also allow certificate validity intervals to be specified in raw
seconds-since-epoch as hex value, e.g. -V 0x1234:0x4567890. This
is intended for use by regress tests and other tools that call
ssh-keygen as part of a CA workflow. bz3468

* sftp(1): allow arguments to the sftp -D option, e.g. sftp -D
"/usr/libexec/sftp-server -el debug3"

* ssh-keygen(1): allow the existing -U (use agent) flag to work
with "-Y sign" operations, where it will be interpreted to require
that the private keys is hosted in an agent; bz3429

MFC after: 2 weeks
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 87c1498d 15-Apr-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH v9.0p1

Release notes are available at https://www.openssh.com/txt/release-9.0

Some highlights:

* ssh(1), sshd(8): use the hybrid Streamlined NTRU Prime + x25519 key
exchange method by default ("sntrup761x25519-sha512@openssh.com").
The NTRU algorithm is believed to resist attacks enabled by future
quantum computers and is paired with the X25519 ECDH key exchange
(the previous default) as a backstop against any weaknesses in
NTRU Prime that may be discovered in the future. The combination
ensures that the hybrid exchange offers at least as good security
as the status quo.

* sftp-server(8): support the "copy-data" extension to allow server-
side copying of files/data, following the design in
draft-ietf-secsh-filexfer-extensions-00. bz2948

* sftp(1): add a "cp" command to allow the sftp client to perform
server-side file copies.

This commit excludes the scp(1) change to use the SFTP protocol by
default; that change will immediately follow.

MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 1323ec57 13-Apr-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH v8.9p1

Release notes are available at https://www.openssh.com/txt/release-8.9

Some highlights:

* ssh(1), sshd(8), ssh-add(1), ssh-agent(1): add a system for
restricting forwarding and use of keys added to ssh-agent(1)

* ssh(1), sshd(8): add the sntrup761x25519-sha512@openssh.com hybrid
ECDH/x25519 + Streamlined NTRU Prime post-quantum KEX to the
default KEXAlgorithms list (after the ECDH methods but before the
prime-group DH ones). The next release of OpenSSH is likely to
make this key exchange the default method.

* sshd(8), portable OpenSSH only: this release removes in-built
support for MD5-hashed passwords. If you require these on your
system then we recommend linking against libxcrypt or similar.

Future deprecation notice
=========================

A near-future release of OpenSSH will switch scp(1) from using the
legacy scp/rcp protocol to using SFTP by default.

Legacy scp/rcp performs wildcard expansion of remote filenames (e.g.
"scp host:* .") through the remote shell. This has the side effect of
requiring double quoting of shell meta-characters in file names
included on scp(1) command-lines, otherwise they could be interpreted
as shell commands on the remote side.

MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 19261079 07-Sep-2021 Ed Maste <emaste@FreeBSD.org>

openssh: update to OpenSSH v8.7p1

Some notable changes, from upstream's release notes:

- sshd(8): Remove support for obsolete "host/port" syntax.
- ssh(1): When prompting whether to record a new host key, accept the key
fingerprint as a synonym for "yes".
- ssh-keygen(1): when acting as a CA and signing certificates with an RSA
key, default to using the rsa-sha2-512 signature algorithm.
- ssh(1), sshd(8), ssh-keygen(1): this release removes the "ssh-rsa"
(RSA/SHA1) algorithm from those accepted for certificate signatures.
- ssh-sk-helper(8): this is a new binary. It is used by the FIDO/U2F
support to provide address-space isolation for token middleware
libraries (including the internal one).
- ssh(1): this release enables UpdateHostkeys by default subject to some
conservative preconditions.
- scp(1): this release changes the behaviour of remote to remote copies
(e.g. "scp host-a:/path host-b:") to transfer through the local host
by default.
- scp(1): experimental support for transfers using the SFTP protocol as
a replacement for the venerable SCP/RCP protocol that it has
traditionally used.

Additional integration work is needed to support FIDO/U2F in the base
system.

Deprecation Notice
------------------

OpenSSH will disable the ssh-rsa signature scheme by default in the
next release.

Reviewed by: imp
MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29985


# 27ceebbc 31-Aug-2021 Ed Maste <emaste@FreeBSD.org>

openssh: simplify login class restrictions

Login class-based restrictions were introduced in 5b400a39b8ad. The
code was adapted for sshd's Capsicum sandbox and received many changes
over time, including at least fc3c19a9fcee, bd393de91cc3, and
e8c56fba2926.

During an attempt to upstream the work a much simpler approach was
suggested. Adopt it now in the in-tree OpenSSH to reduce conflicts with
future updates.

Submitted by: Yuchiro Naito (against OpenSSH-portable on GitHub)
Obtained from: https://github.com/openssh/openssh-portable/pull/262
Reviewed by: allanjude, kevans
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D31760

# e8c56fba 20-Nov-2019 Ed Maste <emaste@FreeBSD.org>

sshd: make getpwclass wrapper MON_ISAUTH not MON_AUTH

In r339216 a privsep wrapper was added for login_getpwclass to address
PR 231172. Unfortunately the change used the MON_AUTH flag in the
wrapper, and MON_AUTH includes MON_AUTHDECIDE which triggers an
auth_log() on each invocation. getpwclass() does not participate in the
authentication decision, so should be MON_ISAUTH instead.

PR: 234793
Submitted by: Henry Hu
Reviewed by: Yuichiro NAITO
MFC after: 1 week

# bd393de9 09-Oct-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix portability issues with the Capsicum patch committed in r339216:

- Wrap access to pw_change and pw_expire in the appropriate #ifdefs.
- Wrap calls to login_cap(3) API in appropriate #ifdefs.
- Add wrapper for transferring time_t, which is still only 32 bits wide
on FreeBSD i386.
- Use a temporary variable to deserialize size_t.

Approved by: re (gjb)

# fc3c19a9 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

sshd: address capsicum issues

* Add a wrapper to proxy login_getpwclass(3) as it is not allowed in
capability mode.
* Cache timezone data via caph_cache_tzdata() as we cannot access the
timezone file.
* Reverse resolve hostname before entering capability mode.

PR: 231172
Submitted by: naito.yuichiro@gmail.com
Reviewed by: cem, des
Approved by: re (rgrimes)
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D17128

# 2a01feab 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

openssh: cherry-pick OpenSSL 1.1.1 compatibility

Compatibility with existing OpenSSL versions is maintained.

Upstream commits:
482d23bcac upstream: hold our collective noses and use the openssl-1.1.x
48f54b9d12 adapt -portable to OpenSSL 1.1x API
86e0a9f3d2 upstream: use only openssl-1.1.x API here too
a3fd8074e2 upstream: missed a bit of openssl-1.0.x API in this unittest
cce8cbe0ed Fix openssl-1.1 fallout for --without-openssl.

Trivial conflicts in sshkey.c and test_sshkey.c were resolved.

Connect libressl-api-compat.c to the build, and regenerate config.h

Reviewed by: des
Approved by: re (rgrimes)
MFC after: 2 seeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D17444


# 190cef3d 10-Sep-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.8p1.

Approved by: re (kib@)


# 47dd1d1b 11-May-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.7p1.


# 4f52dfbb 08-May-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.6p1. This will be followed shortly by 7.7p1.

This completely removes client-side support for the SSH 1 protocol,
which was already disabled in 12 but is still enabled in 11. For that
reason, we will not be able to merge 7.6p1 or newer back to 11.


# d93a896e 03-Aug-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.5p1.


# ca86bcf2 05-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.4p1.


# 076ad2f8 01-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.3p1.


# acc1a9ef 10-Mar-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.2p2.


# 557f75e5 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.9p1.


# bc5531de 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.8p1.


# a0ee8cc6 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.7p1, retaining libwrap support (which has been removed
upstream) and a number of security fixes which we had already backported.

MFC after: 1 week


# 1e415e29 25-Aug-2015 Xin LI <delphij@FreeBSD.org>

Fix OpenSSH multiple vulnerabilities by backporting three changes
from OpenSSH-portable master.

Git revisions: 45b0eb752c94954a6de046bfaaf129e518ad4b5b
5e75f5198769056089fb06c4d738ab0e5abc66f7
d4697fe9a28dab7255c60433e4dd23cf7fce8a8b
Reviewed by: des
Security: FreeBSD-SA-15:22.openssh

# b83788ff 25-Mar-2014 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.6p1.


# f7167e0e 31-Jan-2014 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.5p1.


# e4a9863f 21-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to 6.3p1.

Approved by: re (gjb)


# 6888a9be 22-Mar-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.2p1. The most important new features are support
for a key revocation list and more fine-grained authentication control.


# 462c32cb 03-Sep-2012 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade OpenSSH to 6.1p1.


# e146993e 05-Oct-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.9p1.

MFC after: 3 months


# 4a421b63 04-May-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.8p2.


# e2f6069c 11-Nov-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.6p1.


# b15c8340 09-Mar-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.4p1.

MFC after: 1 month


# 7aee6ffe 01-Oct-2009 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.3p1.


# cce7d346 22-May-2009 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.2p1.

MFC after: 3 months


# d4af9e69 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.1p1.

I have worked hard to reduce diffs against the vendor branch. One
notable change in that respect is that we no longer prefer DSA over
RSA - the reasons for doing so went away years ago. This may cause
some surprises, as ssh will warn about unknown host keys even for
hosts whose keys haven't changed.

MFC after: 6 weeks


# 7cbfb014 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Revert an old hack I put in to replace S/Key with OPIE. We haven't used
that code in ages - we use pam_opie(8) instead - so this is a NOP.

# e3ae3b09 22-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Properly flatten openssh/dist.

# 62efe23a 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 92eb0aa1 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.5p1.

# 333ee039 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

MFC after: 1 week

# 761efaa7 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.4p1.

# 9d2c6627 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge vendor patch for BSM problem in protocol version 1.

MFC after: 1 week

# 30c2033a 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor patch for a problem that prevented using protocol version 1 when
BSM was enabled.

# b74df5b2 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

# 021d409f 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.3p1.

# d4ecd108 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 043840df 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.2p1.

# aa49c926 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 4518870c 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.1p1.

# 5e8dbd04 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.0p1.

# 21e764df 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts

# d74d50a8 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.9p1.

# 5962c0e9 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 52028650 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8.1p1.

# 1ec0d754 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# efcad6b7 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8p1.

# cf2b5f3b 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts and remove obsolete files.

Sponsored by: registrar.no

# d95e11bf 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.7.1p2.

# e73e9afa 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# d0c8c0bc 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.6.1p1.

# 07fd326c 31-Jan-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix keyboard-interactive authentication for ssh1. The problem was twofold:

- The PAM kbdint device sometimes doesn't know authentication succeeded
until you re-query it. The ssh1 kbdint code would never re-query the
device, so authentication would always fail. This patch has been
submitted to the OpenSSH developers.

- The monitor code for PAM sometimes forgot to tell the monitor that
authentication had succeeded. This caused the monitor to veto the
privsep child's decision to allow the connection.

These patches have been tested with OpenSSH clients on -STABLE, NetBSD and
Linux, and with ssh.com's ssh1 on Solaris.

Sponsored by: DARPA, NAI Labs

# f388f5ef 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 4b17dab0 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.5p1.

# 7ac32603 09-Sep-2002 Hajimu UMEMOTO <ume@FreeBSD.org>

sshd didn't handle actual size of struct sockaddr correctly,
and did copy it as long as just size of struct sockaddr. So,
If connection is via IPv6, sshd didn't log hostname into utmp
correctly.
This problem occured only under FreeBSD because of our hack.
However, this is potential problem of OpenSSH-portable, and
they agreed to fix this.
Though, there is no fixed version of OpenSSH-portable available
yet, since this problem is serious for IPv6 users, I commit the
fix.

Reported by: many people
Reviewed by: current@ and stable@ (no objection)
MFC after: 3 days

# 645ca8e8 10-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Don't forget to clear the buffer before reusing it.

# 669e440e 02-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix a braino in mm_answer_pam_respond() which would cause sshd to abort if
PAM authentication failed due to an incorrect response.

# a82e551f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

Sponsored by: DARPA, NAI Labs

# ee21a45f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.4p1.

# 382d19ee 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

PAM support, the FreeBSD way.

Sponsored by: DARPA, NAI Labs

# edb557f8 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Support OPIE as an alternative to S/Key.

Sponsored by: DARPA, NAI Labs

# 989dd127 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Forcibly revert to mainline.

# 83d2307d 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3p1.

# 80628bac 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts. Known issues:

- sshd fails to set TERM correctly.
- privilege separation may break PAM and is currently turned off.
- man pages have not yet been updated

I will have these issues resolved, and privilege separation turned on by
default, in time for DP2.

Sponsored by: DARPA, NAI Labs

# 545d5eca 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3.

# 38a52bd3 19-Oct-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH 9.1p1

Release notes are available at https://www.openssh.com/txt/release-9.1

9.1 contains fixes for three minor memory safety problems; these have
lready been merged to the copy of OpenSSH 9.0 that is in the FreeBSD base
system.

Some highlights copied from the release notes:

Potentially-incompatible changes
--------------------------------

* ssh(1), sshd(8): SetEnv directives in ssh_config and sshd_config
are now first-match-wins to match other directives. Previously
if an environment variable was multiply specified the last set
value would have been used. bz3438

* ssh-keygen(8): ssh-keygen -A (generate all default host key types)
will no longer generate DSA keys, as these are insecure and have
not been used by default for some years.

New features
------------

* ssh(1), sshd(8): add a RequiredRSASize directive to set a minimum
RSA key length. Keys below this length will be ignored for user
authentication and for host authentication in sshd(8).

* sftp-server(8): add a "users-groups-by-id@openssh.com" extension
request that allows the client to obtain user/group names that
correspond to a set of uids/gids.

* sftp(1): use "users-groups-by-id@openssh.com" sftp-server
extension (when available) to fill in user/group names for
directory listings.

* sftp-server(8): support the "home-directory" extension request
defined in draft-ietf-secsh-filexfer-extensions-00. This overlaps
a bit with the existing "expand-path@openssh.com", but some other
clients support it.

* ssh-keygen(1), sshd(8): allow certificate validity intervals,
sshsig verification times and authorized_keys expiry-time options
to accept dates in the UTC time zone in addition to the default
of interpreting them in the system time zone. YYYYMMDD and
YYMMDDHHMM[SS] dates/times will be interpreted as UTC if suffixed
with a 'Z' character.

Also allow certificate validity intervals to be specified in raw
seconds-since-epoch as hex value, e.g. -V 0x1234:0x4567890. This
is intended for use by regress tests and other tools that call
ssh-keygen as part of a CA workflow. bz3468

* sftp(1): allow arguments to the sftp -D option, e.g. sftp -D
"/usr/libexec/sftp-server -el debug3"

* ssh-keygen(1): allow the existing -U (use agent) flag to work
with "-Y sign" operations, where it will be interpreted to require
that the private keys is hosted in an agent; bz3429

MFC after: 2 weeks
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 87c1498d 15-Apr-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH v9.0p1

Release notes are available at https://www.openssh.com/txt/release-9.0

Some highlights:

* ssh(1), sshd(8): use the hybrid Streamlined NTRU Prime + x25519 key
exchange method by default ("sntrup761x25519-sha512@openssh.com").
The NTRU algorithm is believed to resist attacks enabled by future
quantum computers and is paired with the X25519 ECDH key exchange
(the previous default) as a backstop against any weaknesses in
NTRU Prime that may be discovered in the future. The combination
ensures that the hybrid exchange offers at least as good security
as the status quo.

* sftp-server(8): support the "copy-data" extension to allow server-
side copying of files/data, following the design in
draft-ietf-secsh-filexfer-extensions-00. bz2948

* sftp(1): add a "cp" command to allow the sftp client to perform
server-side file copies.

This commit excludes the scp(1) change to use the SFTP protocol by
default; that change will immediately follow.

MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 1323ec57 13-Apr-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH v8.9p1

Release notes are available at https://www.openssh.com/txt/release-8.9

Some highlights:

* ssh(1), sshd(8), ssh-add(1), ssh-agent(1): add a system for
restricting forwarding and use of keys added to ssh-agent(1)

* ssh(1), sshd(8): add the sntrup761x25519-sha512@openssh.com hybrid
ECDH/x25519 + Streamlined NTRU Prime post-quantum KEX to the
default KEXAlgorithms list (after the ECDH methods but before the
prime-group DH ones). The next release of OpenSSH is likely to
make this key exchange the default method.

* sshd(8), portable OpenSSH only: this release removes in-built
support for MD5-hashed passwords. If you require these on your
system then we recommend linking against libxcrypt or similar.

Future deprecation notice
=========================

A near-future release of OpenSSH will switch scp(1) from using the
legacy scp/rcp protocol to using SFTP by default.

Legacy scp/rcp performs wildcard expansion of remote filenames (e.g.
"scp host:* .") through the remote shell. This has the side effect of
requiring double quoting of shell meta-characters in file names
included on scp(1) command-lines, otherwise they could be interpreted
as shell commands on the remote side.

MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 19261079 07-Sep-2021 Ed Maste <emaste@FreeBSD.org>

openssh: update to OpenSSH v8.7p1

Some notable changes, from upstream's release notes:

- sshd(8): Remove support for obsolete "host/port" syntax.
- ssh(1): When prompting whether to record a new host key, accept the key
fingerprint as a synonym for "yes".
- ssh-keygen(1): when acting as a CA and signing certificates with an RSA
key, default to using the rsa-sha2-512 signature algorithm.
- ssh(1), sshd(8), ssh-keygen(1): this release removes the "ssh-rsa"
(RSA/SHA1) algorithm from those accepted for certificate signatures.
- ssh-sk-helper(8): this is a new binary. It is used by the FIDO/U2F
support to provide address-space isolation for token middleware
libraries (including the internal one).
- ssh(1): this release enables UpdateHostkeys by default subject to some
conservative preconditions.
- scp(1): this release changes the behaviour of remote to remote copies
(e.g. "scp host-a:/path host-b:") to transfer through the local host
by default.
- scp(1): experimental support for transfers using the SFTP protocol as
a replacement for the venerable SCP/RCP protocol that it has
traditionally used.

Additional integration work is needed to support FIDO/U2F in the base
system.

Deprecation Notice
------------------

OpenSSH will disable the ssh-rsa signature scheme by default in the
next release.

Reviewed by: imp
MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29985


# 27ceebbc 31-Aug-2021 Ed Maste <emaste@FreeBSD.org>

openssh: simplify login class restrictions

Login class-based restrictions were introduced in 5b400a39b8ad. The
code was adapted for sshd's Capsicum sandbox and received many changes
over time, including at least fc3c19a9fcee, bd393de91cc3, and
e8c56fba2926.

During an attempt to upstream the work a much simpler approach was
suggested. Adopt it now in the in-tree OpenSSH to reduce conflicts with
future updates.

Submitted by: Yuchiro Naito (against OpenSSH-portable on GitHub)
Obtained from: https://github.com/openssh/openssh-portable/pull/262
Reviewed by: allanjude, kevans
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D31760

# e8c56fba 20-Nov-2019 Ed Maste <emaste@FreeBSD.org>

sshd: make getpwclass wrapper MON_ISAUTH not MON_AUTH

In r339216 a privsep wrapper was added for login_getpwclass to address
PR 231172. Unfortunately the change used the MON_AUTH flag in the
wrapper, and MON_AUTH includes MON_AUTHDECIDE which triggers an
auth_log() on each invocation. getpwclass() does not participate in the
authentication decision, so should be MON_ISAUTH instead.

PR: 234793
Submitted by: Henry Hu
Reviewed by: Yuichiro NAITO
MFC after: 1 week

# bd393de9 09-Oct-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix portability issues with the Capsicum patch committed in r339216:

- Wrap access to pw_change and pw_expire in the appropriate #ifdefs.
- Wrap calls to login_cap(3) API in appropriate #ifdefs.
- Add wrapper for transferring time_t, which is still only 32 bits wide
on FreeBSD i386.
- Use a temporary variable to deserialize size_t.

Approved by: re (gjb)

# fc3c19a9 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

sshd: address capsicum issues

* Add a wrapper to proxy login_getpwclass(3) as it is not allowed in
capability mode.
* Cache timezone data via caph_cache_tzdata() as we cannot access the
timezone file.
* Reverse resolve hostname before entering capability mode.

PR: 231172
Submitted by: naito.yuichiro@gmail.com
Reviewed by: cem, des
Approved by: re (rgrimes)
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D17128

# 2a01feab 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

openssh: cherry-pick OpenSSL 1.1.1 compatibility

Compatibility with existing OpenSSL versions is maintained.

Upstream commits:
482d23bcac upstream: hold our collective noses and use the openssl-1.1.x
48f54b9d12 adapt -portable to OpenSSL 1.1x API
86e0a9f3d2 upstream: use only openssl-1.1.x API here too
a3fd8074e2 upstream: missed a bit of openssl-1.0.x API in this unittest
cce8cbe0ed Fix openssl-1.1 fallout for --without-openssl.

Trivial conflicts in sshkey.c and test_sshkey.c were resolved.

Connect libressl-api-compat.c to the build, and regenerate config.h

Reviewed by: des
Approved by: re (rgrimes)
MFC after: 2 seeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D17444


# 190cef3d 10-Sep-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.8p1.

Approved by: re (kib@)


# 47dd1d1b 11-May-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.7p1.


# 4f52dfbb 08-May-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.6p1. This will be followed shortly by 7.7p1.

This completely removes client-side support for the SSH 1 protocol,
which was already disabled in 12 but is still enabled in 11. For that
reason, we will not be able to merge 7.6p1 or newer back to 11.


# d93a896e 03-Aug-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.5p1.


# ca86bcf2 05-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.4p1.


# 076ad2f8 01-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.3p1.


# acc1a9ef 10-Mar-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.2p2.


# 557f75e5 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.9p1.


# bc5531de 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.8p1.


# a0ee8cc6 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.7p1, retaining libwrap support (which has been removed
upstream) and a number of security fixes which we had already backported.

MFC after: 1 week


# 1e415e29 25-Aug-2015 Xin LI <delphij@FreeBSD.org>

Fix OpenSSH multiple vulnerabilities by backporting three changes
from OpenSSH-portable master.

Git revisions: 45b0eb752c94954a6de046bfaaf129e518ad4b5b
5e75f5198769056089fb06c4d738ab0e5abc66f7
d4697fe9a28dab7255c60433e4dd23cf7fce8a8b
Reviewed by: des
Security: FreeBSD-SA-15:22.openssh

# b83788ff 25-Mar-2014 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.6p1.


# f7167e0e 31-Jan-2014 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.5p1.


# e4a9863f 21-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to 6.3p1.

Approved by: re (gjb)


# 6888a9be 22-Mar-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.2p1. The most important new features are support
for a key revocation list and more fine-grained authentication control.


# 462c32cb 03-Sep-2012 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade OpenSSH to 6.1p1.


# e146993e 05-Oct-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.9p1.

MFC after: 3 months


# 4a421b63 04-May-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.8p2.


# e2f6069c 11-Nov-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.6p1.


# b15c8340 09-Mar-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.4p1.

MFC after: 1 month


# 7aee6ffe 01-Oct-2009 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.3p1.


# cce7d346 22-May-2009 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.2p1.

MFC after: 3 months


# d4af9e69 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.1p1.

I have worked hard to reduce diffs against the vendor branch. One
notable change in that respect is that we no longer prefer DSA over
RSA - the reasons for doing so went away years ago. This may cause
some surprises, as ssh will warn about unknown host keys even for
hosts whose keys haven't changed.

MFC after: 6 weeks


# 7cbfb014 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Revert an old hack I put in to replace S/Key with OPIE. We haven't used
that code in ages - we use pam_opie(8) instead - so this is a NOP.

# e3ae3b09 22-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Properly flatten openssh/dist.

# 62efe23a 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 92eb0aa1 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.5p1.

# 333ee039 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

MFC after: 1 week

# 761efaa7 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.4p1.

# 9d2c6627 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge vendor patch for BSM problem in protocol version 1.

MFC after: 1 week

# 30c2033a 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor patch for a problem that prevented using protocol version 1 when
BSM was enabled.

# b74df5b2 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

# 021d409f 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.3p1.

# d4ecd108 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 043840df 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.2p1.

# aa49c926 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 4518870c 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.1p1.

# 5e8dbd04 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.0p1.

# 21e764df 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts

# d74d50a8 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.9p1.

# 5962c0e9 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 52028650 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8.1p1.

# 1ec0d754 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# efcad6b7 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8p1.

# cf2b5f3b 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts and remove obsolete files.

Sponsored by: registrar.no

# d95e11bf 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.7.1p2.

# e73e9afa 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# d0c8c0bc 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.6.1p1.

# 07fd326c 31-Jan-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix keyboard-interactive authentication for ssh1. The problem was twofold:

- The PAM kbdint device sometimes doesn't know authentication succeeded
until you re-query it. The ssh1 kbdint code would never re-query the
device, so authentication would always fail. This patch has been
submitted to the OpenSSH developers.

- The monitor code for PAM sometimes forgot to tell the monitor that
authentication had succeeded. This caused the monitor to veto the
privsep child's decision to allow the connection.

These patches have been tested with OpenSSH clients on -STABLE, NetBSD and
Linux, and with ssh.com's ssh1 on Solaris.

Sponsored by: DARPA, NAI Labs

# f388f5ef 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 4b17dab0 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.5p1.

# 7ac32603 09-Sep-2002 Hajimu UMEMOTO <ume@FreeBSD.org>

sshd didn't handle actual size of struct sockaddr correctly,
and did copy it as long as just size of struct sockaddr. So,
If connection is via IPv6, sshd didn't log hostname into utmp
correctly.
This problem occured only under FreeBSD because of our hack.
However, this is potential problem of OpenSSH-portable, and
they agreed to fix this.
Though, there is no fixed version of OpenSSH-portable available
yet, since this problem is serious for IPv6 users, I commit the
fix.

Reported by: many people
Reviewed by: current@ and stable@ (no objection)
MFC after: 3 days

# 645ca8e8 10-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Don't forget to clear the buffer before reusing it.

# 669e440e 02-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix a braino in mm_answer_pam_respond() which would cause sshd to abort if
PAM authentication failed due to an incorrect response.

# a82e551f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

Sponsored by: DARPA, NAI Labs

# ee21a45f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.4p1.

# 382d19ee 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

PAM support, the FreeBSD way.

Sponsored by: DARPA, NAI Labs

# edb557f8 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Support OPIE as an alternative to S/Key.

Sponsored by: DARPA, NAI Labs

# 989dd127 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Forcibly revert to mainline.

# 83d2307d 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3p1.

# 80628bac 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts. Known issues:

- sshd fails to set TERM correctly.
- privilege separation may break PAM and is currently turned off.
- man pages have not yet been updated

I will have these issues resolved, and privilege separation turned on by
default, in time for DP2.

Sponsored by: DARPA, NAI Labs

# 545d5eca 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3.

# 87c1498d 15-Apr-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH v9.0p1

Release notes are available at https://www.openssh.com/txt/release-9.0

Some highlights:

* ssh(1), sshd(8): use the hybrid Streamlined NTRU Prime + x25519 key
exchange method by default ("sntrup761x25519-sha512@openssh.com").
The NTRU algorithm is believed to resist attacks enabled by future
quantum computers and is paired with the X25519 ECDH key exchange
(the previous default) as a backstop against any weaknesses in
NTRU Prime that may be discovered in the future. The combination
ensures that the hybrid exchange offers at least as good security
as the status quo.

* sftp-server(8): support the "copy-data" extension to allow server-
side copying of files/data, following the design in
draft-ietf-secsh-filexfer-extensions-00. bz2948

* sftp(1): add a "cp" command to allow the sftp client to perform
server-side file copies.

This commit excludes the scp(1) change to use the SFTP protocol by
default; that change will immediately follow.

MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 1323ec57 13-Apr-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH v8.9p1

Release notes are available at https://www.openssh.com/txt/release-8.9

Some highlights:

* ssh(1), sshd(8), ssh-add(1), ssh-agent(1): add a system for
restricting forwarding and use of keys added to ssh-agent(1)

* ssh(1), sshd(8): add the sntrup761x25519-sha512@openssh.com hybrid
ECDH/x25519 + Streamlined NTRU Prime post-quantum KEX to the
default KEXAlgorithms list (after the ECDH methods but before the
prime-group DH ones). The next release of OpenSSH is likely to
make this key exchange the default method.

* sshd(8), portable OpenSSH only: this release removes in-built
support for MD5-hashed passwords. If you require these on your
system then we recommend linking against libxcrypt or similar.

Future deprecation notice
=========================

A near-future release of OpenSSH will switch scp(1) from using the
legacy scp/rcp protocol to using SFTP by default.

Legacy scp/rcp performs wildcard expansion of remote filenames (e.g.
"scp host:* .") through the remote shell. This has the side effect of
requiring double quoting of shell meta-characters in file names
included on scp(1) command-lines, otherwise they could be interpreted
as shell commands on the remote side.

MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 19261079 07-Sep-2021 Ed Maste <emaste@FreeBSD.org>

openssh: update to OpenSSH v8.7p1

Some notable changes, from upstream's release notes:

- sshd(8): Remove support for obsolete "host/port" syntax.
- ssh(1): When prompting whether to record a new host key, accept the key
fingerprint as a synonym for "yes".
- ssh-keygen(1): when acting as a CA and signing certificates with an RSA
key, default to using the rsa-sha2-512 signature algorithm.
- ssh(1), sshd(8), ssh-keygen(1): this release removes the "ssh-rsa"
(RSA/SHA1) algorithm from those accepted for certificate signatures.
- ssh-sk-helper(8): this is a new binary. It is used by the FIDO/U2F
support to provide address-space isolation for token middleware
libraries (including the internal one).
- ssh(1): this release enables UpdateHostkeys by default subject to some
conservative preconditions.
- scp(1): this release changes the behaviour of remote to remote copies
(e.g. "scp host-a:/path host-b:") to transfer through the local host
by default.
- scp(1): experimental support for transfers using the SFTP protocol as
a replacement for the venerable SCP/RCP protocol that it has
traditionally used.

Additional integration work is needed to support FIDO/U2F in the base
system.

Deprecation Notice
------------------

OpenSSH will disable the ssh-rsa signature scheme by default in the
next release.

Reviewed by: imp
MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29985


# 27ceebbc 31-Aug-2021 Ed Maste <emaste@FreeBSD.org>

openssh: simplify login class restrictions

Login class-based restrictions were introduced in 5b400a39b8ad. The
code was adapted for sshd's Capsicum sandbox and received many changes
over time, including at least fc3c19a9fcee, bd393de91cc3, and
e8c56fba2926.

During an attempt to upstream the work a much simpler approach was
suggested. Adopt it now in the in-tree OpenSSH to reduce conflicts with
future updates.

Submitted by: Yuchiro Naito (against OpenSSH-portable on GitHub)
Obtained from: https://github.com/openssh/openssh-portable/pull/262
Reviewed by: allanjude, kevans
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D31760

# e8c56fba 20-Nov-2019 Ed Maste <emaste@FreeBSD.org>

sshd: make getpwclass wrapper MON_ISAUTH not MON_AUTH

In r339216 a privsep wrapper was added for login_getpwclass to address
PR 231172. Unfortunately the change used the MON_AUTH flag in the
wrapper, and MON_AUTH includes MON_AUTHDECIDE which triggers an
auth_log() on each invocation. getpwclass() does not participate in the
authentication decision, so should be MON_ISAUTH instead.

PR: 234793
Submitted by: Henry Hu
Reviewed by: Yuichiro NAITO
MFC after: 1 week

# bd393de9 09-Oct-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix portability issues with the Capsicum patch committed in r339216:

- Wrap access to pw_change and pw_expire in the appropriate #ifdefs.
- Wrap calls to login_cap(3) API in appropriate #ifdefs.
- Add wrapper for transferring time_t, which is still only 32 bits wide
on FreeBSD i386.
- Use a temporary variable to deserialize size_t.

Approved by: re (gjb)

# fc3c19a9 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

sshd: address capsicum issues

* Add a wrapper to proxy login_getpwclass(3) as it is not allowed in
capability mode.
* Cache timezone data via caph_cache_tzdata() as we cannot access the
timezone file.
* Reverse resolve hostname before entering capability mode.

PR: 231172
Submitted by: naito.yuichiro@gmail.com
Reviewed by: cem, des
Approved by: re (rgrimes)
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D17128

# 2a01feab 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

openssh: cherry-pick OpenSSL 1.1.1 compatibility

Compatibility with existing OpenSSL versions is maintained.

Upstream commits:
482d23bcac upstream: hold our collective noses and use the openssl-1.1.x
48f54b9d12 adapt -portable to OpenSSL 1.1x API
86e0a9f3d2 upstream: use only openssl-1.1.x API here too
a3fd8074e2 upstream: missed a bit of openssl-1.0.x API in this unittest
cce8cbe0ed Fix openssl-1.1 fallout for --without-openssl.

Trivial conflicts in sshkey.c and test_sshkey.c were resolved.

Connect libressl-api-compat.c to the build, and regenerate config.h

Reviewed by: des
Approved by: re (rgrimes)
MFC after: 2 seeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D17444


# 190cef3d 10-Sep-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.8p1.

Approved by: re (kib@)


# 47dd1d1b 11-May-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.7p1.


# 4f52dfbb 08-May-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.6p1. This will be followed shortly by 7.7p1.

This completely removes client-side support for the SSH 1 protocol,
which was already disabled in 12 but is still enabled in 11. For that
reason, we will not be able to merge 7.6p1 or newer back to 11.


# d93a896e 03-Aug-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.5p1.


# ca86bcf2 05-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.4p1.


# 076ad2f8 01-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.3p1.


# acc1a9ef 10-Mar-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.2p2.


# 557f75e5 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.9p1.


# bc5531de 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.8p1.


# a0ee8cc6 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.7p1, retaining libwrap support (which has been removed
upstream) and a number of security fixes which we had already backported.

MFC after: 1 week


# 1e415e29 25-Aug-2015 Xin LI <delphij@FreeBSD.org>

Fix OpenSSH multiple vulnerabilities by backporting three changes
from OpenSSH-portable master.

Git revisions: 45b0eb752c94954a6de046bfaaf129e518ad4b5b
5e75f5198769056089fb06c4d738ab0e5abc66f7
d4697fe9a28dab7255c60433e4dd23cf7fce8a8b
Reviewed by: des
Security: FreeBSD-SA-15:22.openssh

# b83788ff 25-Mar-2014 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.6p1.


# f7167e0e 31-Jan-2014 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.5p1.


# e4a9863f 21-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to 6.3p1.

Approved by: re (gjb)


# 6888a9be 22-Mar-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.2p1. The most important new features are support
for a key revocation list and more fine-grained authentication control.


# 462c32cb 03-Sep-2012 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade OpenSSH to 6.1p1.


# e146993e 05-Oct-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.9p1.

MFC after: 3 months


# 4a421b63 04-May-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.8p2.


# e2f6069c 11-Nov-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.6p1.


# b15c8340 09-Mar-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.4p1.

MFC after: 1 month


# 7aee6ffe 01-Oct-2009 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.3p1.


# cce7d346 22-May-2009 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.2p1.

MFC after: 3 months


# d4af9e69 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.1p1.

I have worked hard to reduce diffs against the vendor branch. One
notable change in that respect is that we no longer prefer DSA over
RSA - the reasons for doing so went away years ago. This may cause
some surprises, as ssh will warn about unknown host keys even for
hosts whose keys haven't changed.

MFC after: 6 weeks


# 7cbfb014 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Revert an old hack I put in to replace S/Key with OPIE. We haven't used
that code in ages - we use pam_opie(8) instead - so this is a NOP.

# e3ae3b09 22-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Properly flatten openssh/dist.

# 62efe23a 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 92eb0aa1 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.5p1.

# 333ee039 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

MFC after: 1 week

# 761efaa7 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.4p1.

# 9d2c6627 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge vendor patch for BSM problem in protocol version 1.

MFC after: 1 week

# 30c2033a 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor patch for a problem that prevented using protocol version 1 when
BSM was enabled.

# b74df5b2 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

# 021d409f 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.3p1.

# d4ecd108 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 043840df 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.2p1.

# aa49c926 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 4518870c 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.1p1.

# 5e8dbd04 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.0p1.

# 21e764df 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts

# d74d50a8 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.9p1.

# 5962c0e9 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 52028650 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8.1p1.

# 1ec0d754 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# efcad6b7 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8p1.

# cf2b5f3b 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts and remove obsolete files.

Sponsored by: registrar.no

# d95e11bf 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.7.1p2.

# e73e9afa 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# d0c8c0bc 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.6.1p1.

# 07fd326c 31-Jan-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix keyboard-interactive authentication for ssh1. The problem was twofold:

- The PAM kbdint device sometimes doesn't know authentication succeeded
until you re-query it. The ssh1 kbdint code would never re-query the
device, so authentication would always fail. This patch has been
submitted to the OpenSSH developers.

- The monitor code for PAM sometimes forgot to tell the monitor that
authentication had succeeded. This caused the monitor to veto the
privsep child's decision to allow the connection.

These patches have been tested with OpenSSH clients on -STABLE, NetBSD and
Linux, and with ssh.com's ssh1 on Solaris.

Sponsored by: DARPA, NAI Labs

# f388f5ef 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 4b17dab0 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.5p1.

# 7ac32603 09-Sep-2002 Hajimu UMEMOTO <ume@FreeBSD.org>

sshd didn't handle actual size of struct sockaddr correctly,
and did copy it as long as just size of struct sockaddr. So,
If connection is via IPv6, sshd didn't log hostname into utmp
correctly.
This problem occured only under FreeBSD because of our hack.
However, this is potential problem of OpenSSH-portable, and
they agreed to fix this.
Though, there is no fixed version of OpenSSH-portable available
yet, since this problem is serious for IPv6 users, I commit the
fix.

Reported by: many people
Reviewed by: current@ and stable@ (no objection)
MFC after: 3 days

# 645ca8e8 10-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Don't forget to clear the buffer before reusing it.

# 669e440e 02-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix a braino in mm_answer_pam_respond() which would cause sshd to abort if
PAM authentication failed due to an incorrect response.

# a82e551f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

Sponsored by: DARPA, NAI Labs

# ee21a45f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.4p1.

# 382d19ee 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

PAM support, the FreeBSD way.

Sponsored by: DARPA, NAI Labs

# edb557f8 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Support OPIE as an alternative to S/Key.

Sponsored by: DARPA, NAI Labs

# 989dd127 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Forcibly revert to mainline.

# 83d2307d 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3p1.

# 80628bac 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts. Known issues:

- sshd fails to set TERM correctly.
- privilege separation may break PAM and is currently turned off.
- man pages have not yet been updated

I will have these issues resolved, and privilege separation turned on by
default, in time for DP2.

Sponsored by: DARPA, NAI Labs

# 545d5eca 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3.

# 1323ec57 13-Apr-2022 Ed Maste <emaste@FreeBSD.org>

ssh: update to OpenSSH v8.9p1

Release notes are available at https://www.openssh.com/txt/release-8.9

Some highlights:

* ssh(1), sshd(8), ssh-add(1), ssh-agent(1): add a system for
restricting forwarding and use of keys added to ssh-agent(1)

* ssh(1), sshd(8): add the sntrup761x25519-sha512@openssh.com hybrid
ECDH/x25519 + Streamlined NTRU Prime post-quantum KEX to the
default KEXAlgorithms list (after the ECDH methods but before the
prime-group DH ones). The next release of OpenSSH is likely to
make this key exchange the default method.

* sshd(8), portable OpenSSH only: this release removes in-built
support for MD5-hashed passwords. If you require these on your
system then we recommend linking against libxcrypt or similar.

Future deprecation notice
=========================

A near-future release of OpenSSH will switch scp(1) from using the
legacy scp/rcp protocol to using SFTP by default.

Legacy scp/rcp performs wildcard expansion of remote filenames (e.g.
"scp host:* .") through the remote shell. This has the side effect of
requiring double quoting of shell meta-characters in file names
included on scp(1) command-lines, otherwise they could be interpreted
as shell commands on the remote side.

MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# 19261079 07-Sep-2021 Ed Maste <emaste@FreeBSD.org>

openssh: update to OpenSSH v8.7p1

Some notable changes, from upstream's release notes:

- sshd(8): Remove support for obsolete "host/port" syntax.
- ssh(1): When prompting whether to record a new host key, accept the key
fingerprint as a synonym for "yes".
- ssh-keygen(1): when acting as a CA and signing certificates with an RSA
key, default to using the rsa-sha2-512 signature algorithm.
- ssh(1), sshd(8), ssh-keygen(1): this release removes the "ssh-rsa"
(RSA/SHA1) algorithm from those accepted for certificate signatures.
- ssh-sk-helper(8): this is a new binary. It is used by the FIDO/U2F
support to provide address-space isolation for token middleware
libraries (including the internal one).
- ssh(1): this release enables UpdateHostkeys by default subject to some
conservative preconditions.
- scp(1): this release changes the behaviour of remote to remote copies
(e.g. "scp host-a:/path host-b:") to transfer through the local host
by default.
- scp(1): experimental support for transfers using the SFTP protocol as
a replacement for the venerable SCP/RCP protocol that it has
traditionally used.

Additional integration work is needed to support FIDO/U2F in the base
system.

Deprecation Notice
------------------

OpenSSH will disable the ssh-rsa signature scheme by default in the
next release.

Reviewed by: imp
MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29985


# 27ceebbc 31-Aug-2021 Ed Maste <emaste@FreeBSD.org>

openssh: simplify login class restrictions

Login class-based restrictions were introduced in 5b400a39b8ad. The
code was adapted for sshd's Capsicum sandbox and received many changes
over time, including at least fc3c19a9fcee, bd393de91cc3, and
e8c56fba2926.

During an attempt to upstream the work a much simpler approach was
suggested. Adopt it now in the in-tree OpenSSH to reduce conflicts with
future updates.

Submitted by: Yuchiro Naito (against OpenSSH-portable on GitHub)
Obtained from: https://github.com/openssh/openssh-portable/pull/262
Reviewed by: allanjude, kevans
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D31760

# e8c56fba 20-Nov-2019 Ed Maste <emaste@FreeBSD.org>

sshd: make getpwclass wrapper MON_ISAUTH not MON_AUTH

In r339216 a privsep wrapper was added for login_getpwclass to address
PR 231172. Unfortunately the change used the MON_AUTH flag in the
wrapper, and MON_AUTH includes MON_AUTHDECIDE which triggers an
auth_log() on each invocation. getpwclass() does not participate in the
authentication decision, so should be MON_ISAUTH instead.

PR: 234793
Submitted by: Henry Hu
Reviewed by: Yuichiro NAITO
MFC after: 1 week

# bd393de9 09-Oct-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix portability issues with the Capsicum patch committed in r339216:

- Wrap access to pw_change and pw_expire in the appropriate #ifdefs.
- Wrap calls to login_cap(3) API in appropriate #ifdefs.
- Add wrapper for transferring time_t, which is still only 32 bits wide
on FreeBSD i386.
- Use a temporary variable to deserialize size_t.

Approved by: re (gjb)

# fc3c19a9 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

sshd: address capsicum issues

* Add a wrapper to proxy login_getpwclass(3) as it is not allowed in
capability mode.
* Cache timezone data via caph_cache_tzdata() as we cannot access the
timezone file.
* Reverse resolve hostname before entering capability mode.

PR: 231172
Submitted by: naito.yuichiro@gmail.com
Reviewed by: cem, des
Approved by: re (rgrimes)
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D17128

# 2a01feab 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

openssh: cherry-pick OpenSSL 1.1.1 compatibility

Compatibility with existing OpenSSL versions is maintained.

Upstream commits:
482d23bcac upstream: hold our collective noses and use the openssl-1.1.x
48f54b9d12 adapt -portable to OpenSSL 1.1x API
86e0a9f3d2 upstream: use only openssl-1.1.x API here too
a3fd8074e2 upstream: missed a bit of openssl-1.0.x API in this unittest
cce8cbe0ed Fix openssl-1.1 fallout for --without-openssl.

Trivial conflicts in sshkey.c and test_sshkey.c were resolved.

Connect libressl-api-compat.c to the build, and regenerate config.h

Reviewed by: des
Approved by: re (rgrimes)
MFC after: 2 seeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D17444


# 190cef3d 10-Sep-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.8p1.

Approved by: re (kib@)


# 47dd1d1b 11-May-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.7p1.


# 4f52dfbb 08-May-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.6p1. This will be followed shortly by 7.7p1.

This completely removes client-side support for the SSH 1 protocol,
which was already disabled in 12 but is still enabled in 11. For that
reason, we will not be able to merge 7.6p1 or newer back to 11.


# d93a896e 03-Aug-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.5p1.


# ca86bcf2 05-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.4p1.


# 076ad2f8 01-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.3p1.


# acc1a9ef 10-Mar-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.2p2.


# 557f75e5 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.9p1.


# bc5531de 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.8p1.


# a0ee8cc6 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.7p1, retaining libwrap support (which has been removed
upstream) and a number of security fixes which we had already backported.

MFC after: 1 week


# 1e415e29 25-Aug-2015 Xin LI <delphij@FreeBSD.org>

Fix OpenSSH multiple vulnerabilities by backporting three changes
from OpenSSH-portable master.

Git revisions: 45b0eb752c94954a6de046bfaaf129e518ad4b5b
5e75f5198769056089fb06c4d738ab0e5abc66f7
d4697fe9a28dab7255c60433e4dd23cf7fce8a8b
Reviewed by: des
Security: FreeBSD-SA-15:22.openssh

# b83788ff 25-Mar-2014 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.6p1.


# f7167e0e 31-Jan-2014 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.5p1.


# e4a9863f 21-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to 6.3p1.

Approved by: re (gjb)


# 6888a9be 22-Mar-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.2p1. The most important new features are support
for a key revocation list and more fine-grained authentication control.


# 462c32cb 03-Sep-2012 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade OpenSSH to 6.1p1.


# e146993e 05-Oct-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.9p1.

MFC after: 3 months


# 4a421b63 04-May-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.8p2.


# e2f6069c 11-Nov-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.6p1.


# b15c8340 09-Mar-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.4p1.

MFC after: 1 month


# 7aee6ffe 01-Oct-2009 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.3p1.


# cce7d346 22-May-2009 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.2p1.

MFC after: 3 months


# d4af9e69 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.1p1.

I have worked hard to reduce diffs against the vendor branch. One
notable change in that respect is that we no longer prefer DSA over
RSA - the reasons for doing so went away years ago. This may cause
some surprises, as ssh will warn about unknown host keys even for
hosts whose keys haven't changed.

MFC after: 6 weeks


# 7cbfb014 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Revert an old hack I put in to replace S/Key with OPIE. We haven't used
that code in ages - we use pam_opie(8) instead - so this is a NOP.

# e3ae3b09 22-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Properly flatten openssh/dist.

# 62efe23a 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 92eb0aa1 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.5p1.

# 333ee039 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

MFC after: 1 week

# 761efaa7 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.4p1.

# 9d2c6627 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge vendor patch for BSM problem in protocol version 1.

MFC after: 1 week

# 30c2033a 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor patch for a problem that prevented using protocol version 1 when
BSM was enabled.

# b74df5b2 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

# 021d409f 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.3p1.

# d4ecd108 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 043840df 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.2p1.

# aa49c926 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 4518870c 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.1p1.

# 5e8dbd04 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.0p1.

# 21e764df 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts

# d74d50a8 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.9p1.

# 5962c0e9 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 52028650 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8.1p1.

# 1ec0d754 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# efcad6b7 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8p1.

# cf2b5f3b 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts and remove obsolete files.

Sponsored by: registrar.no

# d95e11bf 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.7.1p2.

# e73e9afa 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# d0c8c0bc 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.6.1p1.

# 07fd326c 31-Jan-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix keyboard-interactive authentication for ssh1. The problem was twofold:

- The PAM kbdint device sometimes doesn't know authentication succeeded
until you re-query it. The ssh1 kbdint code would never re-query the
device, so authentication would always fail. This patch has been
submitted to the OpenSSH developers.

- The monitor code for PAM sometimes forgot to tell the monitor that
authentication had succeeded. This caused the monitor to veto the
privsep child's decision to allow the connection.

These patches have been tested with OpenSSH clients on -STABLE, NetBSD and
Linux, and with ssh.com's ssh1 on Solaris.

Sponsored by: DARPA, NAI Labs

# f388f5ef 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 4b17dab0 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.5p1.

# 7ac32603 09-Sep-2002 Hajimu UMEMOTO <ume@FreeBSD.org>

sshd didn't handle actual size of struct sockaddr correctly,
and did copy it as long as just size of struct sockaddr. So,
If connection is via IPv6, sshd didn't log hostname into utmp
correctly.
This problem occured only under FreeBSD because of our hack.
However, this is potential problem of OpenSSH-portable, and
they agreed to fix this.
Though, there is no fixed version of OpenSSH-portable available
yet, since this problem is serious for IPv6 users, I commit the
fix.

Reported by: many people
Reviewed by: current@ and stable@ (no objection)
MFC after: 3 days

# 645ca8e8 10-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Don't forget to clear the buffer before reusing it.

# 669e440e 02-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix a braino in mm_answer_pam_respond() which would cause sshd to abort if
PAM authentication failed due to an incorrect response.

# a82e551f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

Sponsored by: DARPA, NAI Labs

# ee21a45f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.4p1.

# 382d19ee 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

PAM support, the FreeBSD way.

Sponsored by: DARPA, NAI Labs

# edb557f8 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Support OPIE as an alternative to S/Key.

Sponsored by: DARPA, NAI Labs

# 989dd127 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Forcibly revert to mainline.

# 83d2307d 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3p1.

# 80628bac 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts. Known issues:

- sshd fails to set TERM correctly.
- privilege separation may break PAM and is currently turned off.
- man pages have not yet been updated

I will have these issues resolved, and privilege separation turned on by
default, in time for DP2.

Sponsored by: DARPA, NAI Labs

# 545d5eca 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3.

# 19261079 07-Sep-2021 Ed Maste <emaste@FreeBSD.org>

openssh: update to OpenSSH v8.7p1

Some notable changes, from upstream's release notes:

- sshd(8): Remove support for obsolete "host/port" syntax.
- ssh(1): When prompting whether to record a new host key, accept the key
fingerprint as a synonym for "yes".
- ssh-keygen(1): when acting as a CA and signing certificates with an RSA
key, default to using the rsa-sha2-512 signature algorithm.
- ssh(1), sshd(8), ssh-keygen(1): this release removes the "ssh-rsa"
(RSA/SHA1) algorithm from those accepted for certificate signatures.
- ssh-sk-helper(8): this is a new binary. It is used by the FIDO/U2F
support to provide address-space isolation for token middleware
libraries (including the internal one).
- ssh(1): this release enables UpdateHostkeys by default subject to some
conservative preconditions.
- scp(1): this release changes the behaviour of remote to remote copies
(e.g. "scp host-a:/path host-b:") to transfer through the local host
by default.
- scp(1): experimental support for transfers using the SFTP protocol as
a replacement for the venerable SCP/RCP protocol that it has
traditionally used.

Additional integration work is needed to support FIDO/U2F in the base
system.

Deprecation Notice
------------------

OpenSSH will disable the ssh-rsa signature scheme by default in the
next release.

Reviewed by: imp
MFC after: 1 month
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29985


# 27ceebbc 31-Aug-2021 Ed Maste <emaste@FreeBSD.org>

openssh: simplify login class restrictions

Login class-based restrictions were introduced in 5b400a39b8ad. The
code was adapted for sshd's Capsicum sandbox and received many changes
over time, including at least fc3c19a9fcee, bd393de91cc3, and
e8c56fba2926.

During an attempt to upstream the work a much simpler approach was
suggested. Adopt it now in the in-tree OpenSSH to reduce conflicts with
future updates.

Submitted by: Yuchiro Naito (against OpenSSH-portable on GitHub)
Obtained from: https://github.com/openssh/openssh-portable/pull/262
Reviewed by: allanjude, kevans
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D31760

# e8c56fba 20-Nov-2019 Ed Maste <emaste@FreeBSD.org>

sshd: make getpwclass wrapper MON_ISAUTH not MON_AUTH

In r339216 a privsep wrapper was added for login_getpwclass to address
PR 231172. Unfortunately the change used the MON_AUTH flag in the
wrapper, and MON_AUTH includes MON_AUTHDECIDE which triggers an
auth_log() on each invocation. getpwclass() does not participate in the
authentication decision, so should be MON_ISAUTH instead.

PR: 234793
Submitted by: Henry Hu
Reviewed by: Yuichiro NAITO
MFC after: 1 week

# bd393de9 09-Oct-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix portability issues with the Capsicum patch committed in r339216:

- Wrap access to pw_change and pw_expire in the appropriate #ifdefs.
- Wrap calls to login_cap(3) API in appropriate #ifdefs.
- Add wrapper for transferring time_t, which is still only 32 bits wide
on FreeBSD i386.
- Use a temporary variable to deserialize size_t.

Approved by: re (gjb)

# fc3c19a9 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

sshd: address capsicum issues

* Add a wrapper to proxy login_getpwclass(3) as it is not allowed in
capability mode.
* Cache timezone data via caph_cache_tzdata() as we cannot access the
timezone file.
* Reverse resolve hostname before entering capability mode.

PR: 231172
Submitted by: naito.yuichiro@gmail.com
Reviewed by: cem, des
Approved by: re (rgrimes)
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D17128

# 2a01feab 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

openssh: cherry-pick OpenSSL 1.1.1 compatibility

Compatibility with existing OpenSSL versions is maintained.

Upstream commits:
482d23bcac upstream: hold our collective noses and use the openssl-1.1.x
48f54b9d12 adapt -portable to OpenSSL 1.1x API
86e0a9f3d2 upstream: use only openssl-1.1.x API here too
a3fd8074e2 upstream: missed a bit of openssl-1.0.x API in this unittest
cce8cbe0ed Fix openssl-1.1 fallout for --without-openssl.

Trivial conflicts in sshkey.c and test_sshkey.c were resolved.

Connect libressl-api-compat.c to the build, and regenerate config.h

Reviewed by: des
Approved by: re (rgrimes)
MFC after: 2 seeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D17444


# 190cef3d 10-Sep-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.8p1.

Approved by: re (kib@)


# 47dd1d1b 11-May-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.7p1.


# 4f52dfbb 08-May-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.6p1. This will be followed shortly by 7.7p1.

This completely removes client-side support for the SSH 1 protocol,
which was already disabled in 12 but is still enabled in 11. For that
reason, we will not be able to merge 7.6p1 or newer back to 11.


# d93a896e 03-Aug-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.5p1.


# ca86bcf2 05-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.4p1.


# 076ad2f8 01-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.3p1.


# acc1a9ef 10-Mar-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 7.2p2.


# 557f75e5 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.9p1.


# bc5531de 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.8p1.


# a0ee8cc6 19-Jan-2016 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.7p1, retaining libwrap support (which has been removed
upstream) and a number of security fixes which we had already backported.

MFC after: 1 week


# 1e415e29 25-Aug-2015 Xin LI <delphij@FreeBSD.org>

Fix OpenSSH multiple vulnerabilities by backporting three changes
from OpenSSH-portable master.

Git revisions: 45b0eb752c94954a6de046bfaaf129e518ad4b5b
5e75f5198769056089fb06c4d738ab0e5abc66f7
d4697fe9a28dab7255c60433e4dd23cf7fce8a8b
Reviewed by: des
Security: FreeBSD-SA-15:22.openssh

# b83788ff 25-Mar-2014 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.6p1.


# f7167e0e 31-Jan-2014 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.5p1.


# e4a9863f 21-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to 6.3p1.

Approved by: re (gjb)


# 6888a9be 22-Mar-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 6.2p1. The most important new features are support
for a key revocation list and more fine-grained authentication control.


# 462c32cb 03-Sep-2012 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade OpenSSH to 6.1p1.


# e146993e 05-Oct-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.9p1.

MFC after: 3 months


# 4a421b63 04-May-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.8p2.


# e2f6069c 11-Nov-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.6p1.


# b15c8340 09-Mar-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.4p1.

MFC after: 1 month


# 7aee6ffe 01-Oct-2009 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.3p1.


# cce7d346 22-May-2009 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.2p1.

MFC after: 3 months


# d4af9e69 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Upgrade to OpenSSH 5.1p1.

I have worked hard to reduce diffs against the vendor branch. One
notable change in that respect is that we no longer prefer DSA over
RSA - the reasons for doing so went away years ago. This may cause
some surprises, as ssh will warn about unknown host keys even for
hosts whose keys haven't changed.

MFC after: 6 weeks


# 7cbfb014 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Revert an old hack I put in to replace S/Key with OPIE. We haven't used
that code in ages - we use pam_opie(8) instead - so this is a NOP.

# e3ae3b09 22-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Properly flatten openssh/dist.

# 62efe23a 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 92eb0aa1 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.5p1.

# 333ee039 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

MFC after: 1 week

# 761efaa7 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.4p1.

# 9d2c6627 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge vendor patch for BSM problem in protocol version 1.

MFC after: 1 week

# 30c2033a 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor patch for a problem that prevented using protocol version 1 when
BSM was enabled.

# b74df5b2 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

# 021d409f 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.3p1.

# d4ecd108 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 043840df 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.2p1.

# aa49c926 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 4518870c 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.1p1.

# 5e8dbd04 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.0p1.

# 21e764df 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts

# d74d50a8 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.9p1.

# 5962c0e9 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 52028650 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8.1p1.

# 1ec0d754 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# efcad6b7 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8p1.

# cf2b5f3b 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts and remove obsolete files.

Sponsored by: registrar.no

# d95e11bf 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.7.1p2.

# e73e9afa 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# d0c8c0bc 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.6.1p1.

# 07fd326c 31-Jan-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix keyboard-interactive authentication for ssh1. The problem was twofold:

- The PAM kbdint device sometimes doesn't know authentication succeeded
until you re-query it. The ssh1 kbdint code would never re-query the
device, so authentication would always fail. This patch has been
submitted to the OpenSSH developers.

- The monitor code for PAM sometimes forgot to tell the monitor that
authentication had succeeded. This caused the monitor to veto the
privsep child's decision to allow the connection.

These patches have been tested with OpenSSH clients on -STABLE, NetBSD and
Linux, and with ssh.com's ssh1 on Solaris.

Sponsored by: DARPA, NAI Labs

# f388f5ef 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

# 4b17dab0 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.5p1.

# 7ac32603 09-Sep-2002 Hajimu UMEMOTO <ume@FreeBSD.org>

sshd didn't handle actual size of struct sockaddr correctly,
and did copy it as long as just size of struct sockaddr. So,
If connection is via IPv6, sshd didn't log hostname into utmp
correctly.
This problem occured only under FreeBSD because of our hack.
However, this is potential problem of OpenSSH-portable, and
they agreed to fix this.
Though, there is no fixed version of OpenSSH-portable available
yet, since this problem is serious for IPv6 users, I commit the
fix.

Reported by: many people
Reviewed by: current@ and stable@ (no objection)
MFC after: 3 days

# 645ca8e8 10-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Don't forget to clear the buffer before reusing it.

# 669e440e 02-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix a braino in mm_answer_pam_respond() which would cause sshd to abort if
PAM authentication failed due to an incorrect response.

# a82e551f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

Sponsored by: DARPA, NAI Labs

# ee21a45f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.4p1.

# 382d19ee 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

PAM support, the FreeBSD way.

Sponsored by: DARPA, NAI Labs

# edb557f8 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Support OPIE as an alternative to S/Key.

Sponsored by: DARPA, NAI Labs

# 989dd127 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Forcibly revert to mainline.

# 83d2307d 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3p1.

# 80628bac 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts. Known issues:

- sshd fails to set TERM correctly.
- privilege separation may break PAM and is currently turned off.
- man pages have not yet been updated

I will have these issues resolved, and privilege separation turned on by
default, in time for DP2.

Sponsored by: DARPA, NAI Labs

# 545d5eca 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3.

# 27ceebbc 31-Aug-2021 Ed Maste <emaste@FreeBSD.org>

openssh: simplify login class restrictions

Login class-based restrictions were introduced in 5b400a39b8ad. The
code was adapted for sshd's Capsicum sandbox and received many changes
over time, including at least fc3c19a9fcee, bd393de91cc3, and
e8c56fba2926.

During an attempt to upstream the work a much simpler approach was
suggested. Adopt it now in the in-tree OpenSSH to reduce conflicts with
future updates.

Submitted by: Yuchiro Naito (against OpenSSH-portable on GitHub)
Obtained from: https://github.com/openssh/openssh-portable/pull/262
Reviewed by: allanjude, kevans
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D31760


# e8c56fba 20-Nov-2019 Ed Maste <emaste@FreeBSD.org>

sshd: make getpwclass wrapper MON_ISAUTH not MON_AUTH

In r339216 a privsep wrapper was added for login_getpwclass to address
PR 231172. Unfortunately the change used the MON_AUTH flag in the
wrapper, and MON_AUTH includes MON_AUTHDECIDE which triggers an
auth_log() on each invocation. getpwclass() does not participate in the
authentication decision, so should be MON_ISAUTH instead.

PR: 234793
Submitted by: Henry Hu
Reviewed by: Yuichiro NAITO
MFC after: 1 week


# bd393de9 09-Oct-2018 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix portability issues with the Capsicum patch committed in r339216:

- Wrap access to pw_change and pw_expire in the appropriate #ifdefs.
- Wrap calls to login_cap(3) API in appropriate #ifdefs.
- Add wrapper for transferring time_t, which is still only 32 bits wide
on FreeBSD i386.
- Use a temporary variable to deserialize size_t.

Approved by: re (gjb)


# fc3c19a9 06-Oct-2018 Ed Maste <emaste@FreeBSD.org>

sshd: address capsicum issues

* Add a wrapper to proxy login_getpwclass(3) as it is not allowed in
capability mode.
* Cache timezone data via caph_cache_tzdata() as we cannot access the
timezone file.
* Reverse resolve hostname before entering capability mode.

PR: 231172
Submitted by: naito.yuichiro@gmail.com
Reviewed by: cem, des
Approved by: re (rgrimes)
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D17128


# 3e058dbd 19-Sep-2018 Ed Maste <emaste@FreeBSD.org>

openssh: cherry-pick OpenSSL 1.1.1 compatibility

Upstream commits:
482d23bcac upstream: hold our collective noses and use the openssl-1.1.x
48f54b9d12 adapt -portable to OpenSSL 1.1x API
86e0a9f3d2 upstream: use only openssl-1.1.x API here too
a3fd8074e2 upstream: missed a bit of openssl-1.0.x API in this unittest
cce8cbe0ed Fix openssl-1.1 fallout for --without-openssl.

Trivial conflicts in sshkey.c and test_sshkey.c were resolved.

Sponsored by: The FreeBSD Foundation


# 1e415e29 25-Aug-2015 Xin LI <delphij@FreeBSD.org>

Fix OpenSSH multiple vulnerabilities by backporting three changes
from OpenSSH-portable master.

Git revisions: 45b0eb752c94954a6de046bfaaf129e518ad4b5b
5e75f5198769056089fb06c4d738ab0e5abc66f7
d4697fe9a28dab7255c60433e4dd23cf7fce8a8b
Reviewed by: des
Security: FreeBSD-SA-15:22.openssh


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 124981e1 21-Apr-2010 Dag-Erling Smørgrav <des@FreeBSD.org>

MFH OpenSSH 5.4p1


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 7cbfb014 31-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Revert an old hack I put in to replace S/Key with OPIE. We haven't used
that code in ages - we use pam_opie(8) instead - so this is a NOP.


# 62efe23a 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.


# 92eb0aa1 10-Nov-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.5p1.


# 333ee039 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.

MFC after: 1 week


# 761efaa7 30-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.4p1.


# 9d2c6627 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge vendor patch for BSM problem in protocol version 1.

MFC after: 1 week


# 30c2033a 16-Sep-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor patch for a problem that prevented using protocol version 1 when
BSM was enabled.


# b74df5b2 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Merge conflicts.


# 021d409f 22-Mar-2006 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.3p1.


# d4ecd108 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.


# 043840df 03-Sep-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.2p1.


# aa49c926 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.


# 4518870c 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.1p1.


# 5e8dbd04 05-Jun-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 4.0p1.


# 21e764df 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts


# d74d50a8 28-Oct-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.9p1.


# 5962c0e9 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.


# 52028650 20-Apr-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8.1p1.


# 1ec0d754 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.


# efcad6b7 26-Feb-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.8p1.


# cf2b5f3b 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts and remove obsolete files.

Sponsored by: registrar.no


# d95e11bf 07-Jan-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.7.1p2.


# e73e9afa 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.


# d0c8c0bc 23-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.6.1p1.


# 07fd326c 31-Jan-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix keyboard-interactive authentication for ssh1. The problem was twofold:

- The PAM kbdint device sometimes doesn't know authentication succeeded
until you re-query it. The ssh1 kbdint code would never re-query the
device, so authentication would always fail. This patch has been
submitted to the OpenSSH developers.

- The monitor code for PAM sometimes forgot to tell the monitor that
authentication had succeeded. This caused the monitor to veto the
privsep child's decision to allow the connection.

These patches have been tested with OpenSSH clients on -STABLE, NetBSD and
Linux, and with ssh.com's ssh1 on Solaris.

Sponsored by: DARPA, NAI Labs


# f388f5ef 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.


# 4b17dab0 29-Oct-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH-portable 3.5p1.


# 7ac32603 09-Sep-2002 Hajimu UMEMOTO <ume@FreeBSD.org>

sshd didn't handle actual size of struct sockaddr correctly,
and did copy it as long as just size of struct sockaddr. So,
If connection is via IPv6, sshd didn't log hostname into utmp
correctly.
This problem occured only under FreeBSD because of our hack.
However, this is potential problem of OpenSSH-portable, and
they agreed to fix this.
Though, there is no fixed version of OpenSSH-portable available
yet, since this problem is serious for IPv6 users, I commit the
fix.

Reported by: many people
Reviewed by: current@ and stable@ (no objection)
MFC after: 3 days


# 645ca8e8 10-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Don't forget to clear the buffer before reusing it.


# 669e440e 02-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix a braino in mm_answer_pam_respond() which would cause sshd to abort if
PAM authentication failed due to an incorrect response.


# a82e551f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts.

Sponsored by: DARPA, NAI Labs


# ee21a45f 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.4p1.


# 382d19ee 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

PAM support, the FreeBSD way.

Sponsored by: DARPA, NAI Labs


# edb557f8 29-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Support OPIE as an alternative to S/Key.

Sponsored by: DARPA, NAI Labs


# 989dd127 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Forcibly revert to mainline.


# 83d2307d 27-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3p1.


# 80628bac 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Resolve conflicts. Known issues:

- sshd fails to set TERM correctly.
- privilege separation may break PAM and is currently turned off.
- man pages have not yet been updated

I will have these issues resolved, and privilege separation turned on by
default, in time for DP2.

Sponsored by: DARPA, NAI Labs


# 545d5eca 23-Jun-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Vendor import of OpenSSH 3.3.