]> git.ipfire.org Git - thirdparty/openssh-portable.git/log
thirdparty/openssh-portable.git
34 hours agomention sntrup761x25519-sha512 in manpages V_9_7 anongit/V_9_7
Damien Miller [Tue, 12 Aug 2025 23:16:34 +0000 (09:16 +1000)] 
mention sntrup761x25519-sha512 in manpages

Spotted by Colin Watson

3 days agosupport sntrup761x25519-sha512 alias github-selfhosted/V_9_7 github/V_9_7
Damien Miller [Mon, 11 Aug 2025 06:25:25 +0000 (16:25 +1000)] 
support sntrup761x25519-sha512 alias

OpenSSH 9.7 supports the sntrup761x25519-sha512@openssh.com
key agreement algorithm. As part of standardisation, this algorithm
has been assigned the name sntrup761x25519-sha512.

This commit enables the existing algorithm under this new name.

16 months agoShow 9.7 branch on ci-status.
Darren Tucker [Sun, 24 Mar 2024 23:16:18 +0000 (10:16 +1100)] 
Show 9.7 branch on ci-status.

16 months agoImprove detection of -fzero-call-used-regs=used.
Darren Tucker [Sun, 24 Mar 2024 22:28:02 +0000 (09:28 +1100)] 
Improve detection of -fzero-call-used-regs=used.

Should better detect problems with gcc 13 on m68k.  bz#3673 from Colin
Watson via bz#3673 and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110934

Signed-off-by: Darren Tucker <dtucker@dtucker.net>
17 months agoversion number in README V_9_7_P1
Damien Miller [Mon, 11 Mar 2024 05:20:49 +0000 (16:20 +1100)] 
version number in README

17 months agocrank RPM spec versions
Damien Miller [Mon, 11 Mar 2024 05:20:08 +0000 (16:20 +1100)] 
crank RPM spec versions

17 months agoupstream: openssh-9.7
djm@openbsd.org [Mon, 11 Mar 2024 04:59:47 +0000 (04:59 +0000)] 
upstream: openssh-9.7

OpenBSD-Commit-ID: 618ececf58b8cdae016b149787af06240f7b0cbc

17 months agoTest against current OpenSSL and LibreSSL releases.
Darren Tucker [Mon, 11 Mar 2024 01:59:26 +0000 (12:59 +1100)] 
Test against current OpenSSL and LibreSSL releases.

Add LibreSSL 3.9.0, bump older branches to their respective current
releases.

17 months agoquote regexes used to test for algorithm support
Damien Miller [Sun, 10 Mar 2024 05:24:57 +0000 (16:24 +1100)] 
quote regexes used to test for algorithm support

Fixes test failures on Solaris 8 reported by Tom G. Christensen

17 months agoupstream: avoid logging in signal handler by converting mainloop to
djm@openbsd.org [Sat, 9 Mar 2024 05:12:13 +0000 (05:12 +0000)] 
upstream: avoid logging in signal handler by converting mainloop to

ppoll() bz3670, reported by Ben Hamilton; ok dtucker@

OpenBSD-Commit-ID: e58f18042b86425405ca09e6e9d7dfa1df9f5f7f

17 months agoupstream: skip more whitespace, fixes find-principals on
djm@openbsd.org [Fri, 8 Mar 2024 22:16:32 +0000 (22:16 +0000)] 
upstream: skip more whitespace, fixes find-principals on

allowed_signers files with blank lines; reported by Wiktor Kwapisiewicz

OpenBSD-Commit-ID: b3a22a2afd753d70766f34bc7f309c03706b5298

17 months agoupstream: Invoke ProxyCommand that uses stderr redirection via
dtucker@openbsd.org [Fri, 8 Mar 2024 11:34:10 +0000 (11:34 +0000)] 
upstream: Invoke ProxyCommand that uses stderr redirection via

$TEST_SHELL. Fixes test when run by a user whose login shell is tcsh.
Found by vinschen at redhat.com.

OpenBSD-Regress-ID: f68d79e7f00caa8d216ebe00ee5f0adbb944062a

17 months agoPrefer openssl binary from --with-ssl-dir directory.
Darren Tucker [Thu, 7 Mar 2024 06:18:14 +0000 (17:18 +1100)] 
Prefer openssl binary from --with-ssl-dir directory.

Use openssl in the directory specified by --with-ssl-dir as long
as it's functional.  Reported by The Doctor.

17 months agoupstream: fix memory leak in mux proxy mode when requesting forwarding.
djm@openbsd.org [Wed, 6 Mar 2024 02:59:59 +0000 (02:59 +0000)] 
upstream: fix memory leak in mux proxy mode when requesting forwarding.

found by RASU JSC, reported by Maks Mishin in GHPR#467

OpenBSD-Commit-ID: 97d96a166b1ad4b8d229864a553e3e56d3116860

17 months agoupstream: wrap a few PKCS#11-specific bits in ENABLE_PKCS11
djm@openbsd.org [Wed, 6 Mar 2024 00:31:04 +0000 (00:31 +0000)] 
upstream: wrap a few PKCS#11-specific bits in ENABLE_PKCS11

OpenBSD-Commit-ID: 463e4a69eef3426a43a2b922c4e7b2011885d923

17 months agodisable RSA tests when algorithm is not supported
Damien Miller [Wed, 6 Mar 2024 00:31:36 +0000 (11:31 +1100)] 
disable RSA tests when algorithm is not supported

Unbreaks "make test" when compiled --without-openssl.

Similar treatment to how we do DSA and ECDSA.

17 months agoadd a --without-retpoline configure option
Damien Miller [Tue, 5 Mar 2024 23:33:20 +0000 (10:33 +1100)] 
add a --without-retpoline configure option

discussed with deraadt and dtucker a while ago

17 months agoupstream: fix leak of CanonicalizePermittedCNAMEs on error path;
djm@openbsd.org [Mon, 4 Mar 2024 04:13:18 +0000 (04:13 +0000)] 
upstream: fix leak of CanonicalizePermittedCNAMEs on error path;

spotted by Coverity (CID 438039)

OpenBSD-Commit-ID: 208839699939721f452a4418afc028a9f9d3d8af

17 months agoupstream: Separate parsing of string array options from applying them
djm@openbsd.org [Mon, 4 Mar 2024 02:16:11 +0000 (02:16 +0000)] 
upstream: Separate parsing of string array options from applying them

to the active configuration. This fixes the config parser from erroneously
rejecting cases like:

AuthenticationMethods password
Match User ivy
 AuthenticationMethods any

bz3657 ok markus@

OpenBSD-Commit-ID: 7f196cba634c2a3dba115f3fac3c4635a2199491

17 months agoAdd nbsd10 test target.
Darren Tucker [Thu, 22 Feb 2024 06:59:35 +0000 (17:59 +1100)] 
Add nbsd10 test target.

17 months agomore descriptive configure test name
Damien Miller [Thu, 22 Feb 2024 01:06:10 +0000 (12:06 +1100)] 
more descriptive configure test name

17 months agoupstream: explain arguments of internal-sftp GHPR#454 from Niklas
djm@openbsd.org [Wed, 21 Feb 2024 06:17:29 +0000 (06:17 +0000)] 
upstream: explain arguments of internal-sftp GHPR#454 from Niklas

Hambüchen
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

OpenBSD-Commit-ID: 0335d641ae6b5b6201b9ffd5dd06345ebbd0a3f3

17 months agoupstream: clarify permissions requirements for ChrootDirectory Part
djm@openbsd.org [Wed, 21 Feb 2024 06:06:43 +0000 (06:06 +0000)] 
upstream: clarify permissions requirements for ChrootDirectory Part

of GHPR#454 from Niklas Hambüchen
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

OpenBSD-Commit-ID: d37bc8786317a11649c62ff5e2936441186ef7a0

17 months agoupstream: .Cm for a keyword. Part of GHPR#454 from Niklas Hambüchen
djm@openbsd.org [Wed, 21 Feb 2024 06:05:06 +0000 (06:05 +0000)] 
upstream: .Cm for a keyword. Part of GHPR#454 from Niklas Hambüchen

OpenBSD-Commit-ID: d59c52559f926fa82859035d79749fbb4a3ce18a

17 months agoupstream: fix typo in match directive predicate (s/tagged/tag) GHPR#462
djm@openbsd.org [Wed, 21 Feb 2024 06:01:13 +0000 (06:01 +0000)] 
upstream: fix typo in match directive predicate (s/tagged/tag) GHPR#462

from Tobias Manske

OpenBSD-Commit-ID: 05b23b772677d48aa82eefd7ebebd369ae758908

17 months agoupstream: fix proxy multiplexing mode, broken when keystroke timing
djm@openbsd.org [Wed, 21 Feb 2024 05:57:34 +0000 (05:57 +0000)] 
upstream: fix proxy multiplexing mode, broken when keystroke timing

obfuscation was added. GHPR#463 from montag451

OpenBSD-Commit-ID: 4e412d59b3f557d431f1d81c715a3bc0491cc677

17 months agoupstream: don't append a gratuitous space to the end of subsystem
djm@openbsd.org [Tue, 20 Feb 2024 04:10:03 +0000 (04:10 +0000)] 
upstream: don't append a gratuitous space to the end of subsystem

arguments; bz3667

OpenBSD-Commit-ID: e11023aeb3f30b77a674e37b8292c862926d5dc6

17 months agoupstream: Always define puttysetup function.
dtucker@openbsd.org [Mon, 19 Feb 2024 09:25:52 +0000 (09:25 +0000)] 
upstream: Always define puttysetup function.

OpenBSD-Regress-ID: b4c0ccfa4006a1bc5dfd99ccf21c854d3ce2aee0

17 months agoupstream: Exapnd PuTTY test coverage.
dtucker@openbsd.org [Fri, 9 Feb 2024 08:56:59 +0000 (08:56 +0000)] 
upstream: Exapnd PuTTY test coverage.

Expand the set of ciphers, MACs and KEX methods in the PuTTY interop
tests.

OpenBSD-Regress-ID: dd28d97d48efe7329a396d0d505ee2907bf7fc57

17 months agoupstream: Factor out PuTTY setup.
dtucker@openbsd.org [Fri, 9 Feb 2024 08:47:42 +0000 (08:47 +0000)] 
upstream: Factor out PuTTY setup.

Factor out PuTTY and call only when needed.

This allows us to avoid PuTTY key setup when it's not needed, which
speeds up the overall test run by a couple of percent.

OpenBSD-Regress-ID: c25eaccc3c91bc874400f7c85ce40e9032358c1c

17 months agoupstream: clean sshd random relinking kit; ok miod@
naddy@openbsd.org [Sat, 10 Feb 2024 11:28:52 +0000 (11:28 +0000)] 
upstream: clean sshd random relinking kit; ok miod@

OpenBSD-Commit-ID: 509bb19bb9762a4b3b589af98bac2e730541b6d4

17 months agoupstream: whitespace
djm@openbsd.org [Fri, 2 Feb 2024 00:13:34 +0000 (00:13 +0000)] 
upstream: whitespace

OpenBSD-Commit-ID: b24680bc755b621ea801ff8edf6f0f02b68edae1

17 months agoImprove error message for OpenSSL header check.
Darren Tucker [Mon, 19 Feb 2024 06:29:31 +0000 (17:29 +1100)] 
Improve error message for OpenSSL header check.

bz#3668, ok djm@

18 months agoInterop test against PuTTY snapshot and releases.
Darren Tucker [Wed, 7 Feb 2024 02:45:02 +0000 (13:45 +1100)] 
Interop test against PuTTY snapshot and releases.

18 months agoPut privsep dir on OS X on /usr/local.
Darren Tucker [Tue, 6 Feb 2024 05:21:05 +0000 (16:21 +1100)] 
Put privsep dir on OS X on /usr/local.

On some runners we can't create /var/empty, so put it some place we can
write.  Should fix test breakage on Max OS X 11.

18 months agoAdd --disable-fd-passing option.
Darren Tucker [Tue, 6 Feb 2024 00:19:42 +0000 (11:19 +1100)] 
Add --disable-fd-passing option.

.. and enable for the minix3 test VM.  This will cause it to more reliably
skip tests that need FD passing and should fix the current test breakage.

18 months agoUse "skip" function instead doing it ourselves.
Darren Tucker [Tue, 6 Feb 2024 00:18:44 +0000 (11:18 +1100)] 
Use "skip" function instead doing it ourselves.

18 months agoignore some vim droppings
Damien Miller [Thu, 1 Feb 2024 03:01:18 +0000 (14:01 +1100)] 
ignore some vim droppings

18 months agoupstream: whitespace
djm@openbsd.org [Thu, 1 Feb 2024 02:37:33 +0000 (02:37 +0000)] 
upstream: whitespace

OpenBSD-Commit-ID: bf9e4a1049562ee4322684fbdce07142f04fdbb7

18 months agoskip tests that use multiplexing on Windows
Damien Miller [Tue, 16 Jan 2024 03:40:18 +0000 (14:40 +1100)] 
skip tests that use multiplexing on Windows

Some tests here use multiplexing, skip these if DISABLE_FD_PASSING
is set. Should unbreak tests on Windows.

19 months agoupstream: don't disable RSA test when DSA is disabled; bug introduced
djm@openbsd.org [Thu, 11 Jan 2024 04:50:28 +0000 (04:50 +0000)] 
upstream: don't disable RSA test when DSA is disabled; bug introduced

in last commit

OpenBSD-Regress-ID: 8780a7250bf742b33010e9336359a1c516f2d7b5

19 months agoupstream: make DSA testing optional, defaulting to on
djm@openbsd.org [Thu, 11 Jan 2024 01:45:58 +0000 (01:45 +0000)] 
upstream: make DSA testing optional, defaulting to on

ok markus

OpenBSD-Regress-ID: dfc27b5574e3f19dc4043395594cea5f90b8572a

19 months agoupstream: ensure key_fd is filled when DSA is disabled; spotted by
djm@openbsd.org [Thu, 11 Jan 2024 01:51:16 +0000 (01:51 +0000)] 
upstream: ensure key_fd is filled when DSA is disabled; spotted by

tb@

OpenBSD-Commit-ID: 9dd417b6eec3cf67e870f147464a8d93f076dce7

19 months agoupstream: make DSA key support compile-time optional, defaulting to
djm@openbsd.org [Thu, 11 Jan 2024 01:45:36 +0000 (01:45 +0000)] 
upstream: make DSA key support compile-time optional, defaulting to

on

ok markus@

OpenBSD-Commit-ID: 4f8e98fc1fd6de399d0921d5b31b3127a03f581d

19 months agoupstream: fix incorrect capitalisation;
jmc@openbsd.org [Wed, 10 Jan 2024 06:33:13 +0000 (06:33 +0000)] 
upstream: fix incorrect capitalisation;

OpenBSD-Commit-ID: cb07eb06e15fa2334660ac73e98f29b6a1931984

19 months agoupstream: extend ChannelTimeout regression test to exercise multiplexed
djm@openbsd.org [Tue, 9 Jan 2024 22:19:36 +0000 (22:19 +0000)] 
upstream: extend ChannelTimeout regression test to exercise multiplexed

connections and the new "global" timeout type. ok dtucker@

OpenBSD-Regress-ID: f10d19f697024e9941acad7c2057f73d6eacb8a2

19 months agoupstream: add a "global" ChannelTimeout type to ssh(1) and sshd(8)
djm@openbsd.org [Tue, 9 Jan 2024 22:19:00 +0000 (22:19 +0000)] 
upstream: add a "global" ChannelTimeout type to ssh(1) and sshd(8)

that watches all open channels and will close all open channels if there is
no traffic on any of them for the specified interval. This is in addition to
the existing per-channel timeouts added a few releases ago.

This supports use-cases like having a session + x11 forwarding channel
open where one may be idle for an extended period but the other is
actively used. The global timeout would allow closing both channels when
both have been idle for too long.

ok dtucker@

OpenBSD-Commit-ID: 0054157d24d2eaa5dc1a9a9859afefc13d1d7eb3

19 months agoupstream: adapt ssh_api.c code for kex-strict
djm@openbsd.org [Tue, 9 Jan 2024 21:39:14 +0000 (21:39 +0000)] 
upstream: adapt ssh_api.c code for kex-strict

from markus@ ok me

OpenBSD-Commit-ID: 4d9f256852af2a5b882b12cae9447f8f00f933ac

19 months agonite that recent OSX tun/tap is unsupported
Damien Miller [Mon, 8 Jan 2024 05:26:37 +0000 (16:26 +1100)] 
nite that recent OSX tun/tap is unsupported

19 months agoREADME.platform: update tuntap url
Sevan Janiyan [Wed, 27 Dec 2023 04:57:49 +0000 (04:57 +0000)] 
README.platform: update tuntap url

19 months agoFix compilation error in ssh-pcks11-client.c
Rose [Tue, 19 Dec 2023 16:48:20 +0000 (11:48 -0500)] 
Fix compilation error in ssh-pcks11-client.c

Compilation fails becaus of an undefined reference to helper_by_ec,
because we forgot the preprocessor conditional that excludes that function
from being called in unsupported configurations.

19 months agoupstream: Remove outdated note from PROTOCOL.mux
djm@openbsd.org [Mon, 8 Jan 2024 05:11:18 +0000 (05:11 +0000)] 
upstream: Remove outdated note from PROTOCOL.mux

Port forward close by control master is already implemented
by `mux_master_process_close_fwd` in `mux.c`

GHPR442 from bigb4ng

OpenBSD-Commit-ID: ad0734fe5916d2dc7dd02b588906cea4df0482fb

19 months agoupstream: fix missing field in users-groups-by-id@openssh.com reply
djm@openbsd.org [Mon, 8 Jan 2024 05:05:15 +0000 (05:05 +0000)] 
upstream: fix missing field in users-groups-by-id@openssh.com reply

documentation

GHPR441 from TJ Saunders

OpenBSD-Commit-ID: ff5733ff6ef4cd24e0758ebeed557aa91184c674

19 months agoupstream: make kex-strict section more explicit about its intent:
djm@openbsd.org [Mon, 8 Jan 2024 04:10:03 +0000 (04:10 +0000)] 
upstream: make kex-strict section more explicit about its intent:

banning all messages not strictly required in KEX

OpenBSD-Commit-ID: fc33a2d7f3b7013a7fb7500bdbaa8254ebc88116

19 months agoupdate fuzzer example makefile to clang16
Damien Miller [Mon, 8 Jan 2024 03:46:19 +0000 (14:46 +1100)] 
update fuzzer example makefile to clang16

19 months agounbreak fuzzers - missing pkcs11_make_cert()
Damien Miller [Mon, 8 Jan 2024 03:45:49 +0000 (14:45 +1100)] 
unbreak fuzzers - missing pkcs11_make_cert()

provide stub for use in fuzzer harness

19 months agounbreak fuzzers for clang16
Damien Miller [Mon, 8 Jan 2024 03:45:14 +0000 (14:45 +1100)] 
unbreak fuzzers for clang16

getopt() needs a throw() attribute to compile, so supply one when compiling
things with C++

19 months agoupstream: remove ext-info-* in the kex.c code, not in callers;
djm@openbsd.org [Mon, 8 Jan 2024 00:34:33 +0000 (00:34 +0000)] 
upstream: remove ext-info-* in the kex.c code, not in callers;

with/ok markus@

OpenBSD-Commit-ID: c06fe2d3a0605c517ff7d65e38ec7b2d1b0b2799

19 months agoupstream: fix typo; spotted by Albert Chin
djm@openbsd.org [Mon, 8 Jan 2024 00:30:39 +0000 (00:30 +0000)] 
upstream: fix typo; spotted by Albert Chin

OpenBSD-Commit-ID: 77140b520a43375b886e535eb8bd842a268f9368

19 months agoupstream: Import regenerated moduli.
dtucker@openbsd.org [Thu, 4 Jan 2024 09:51:49 +0000 (09:51 +0000)] 
upstream: Import regenerated moduli.

OpenBSD-Commit-ID: 5a636f6ca7f25bfe775df4952f7aac90a7fcbbee

19 months agoupstream: spelling; ok markus@
jsg@openbsd.org [Wed, 20 Dec 2023 00:06:25 +0000 (00:06 +0000)] 
upstream: spelling; ok markus@

OpenBSD-Commit-ID: 9d01f2e9d59a999d5d42fc3b3efcf8dfb892e31b

19 months agoupstream: sort -C, and add to usage(); ok djm
jmc@openbsd.org [Tue, 19 Dec 2023 06:57:34 +0000 (06:57 +0000)] 
upstream: sort -C, and add to usage(); ok djm

OpenBSD-Commit-ID: 80141b2a5d60c8593e3c65ca3c53c431262c812f

19 months agoupstream: correct section numbers; from Ed Maste
djm@openbsd.org [Tue, 19 Dec 2023 06:41:14 +0000 (06:41 +0000)] 
upstream: correct section numbers; from Ed Maste

OpenBSD-Commit-ID: e289576ee5651528404cb2fb68945556052cf83f

19 months agoupstream: match flag type (s/int/u_int)
djm@openbsd.org [Mon, 18 Dec 2023 15:58:56 +0000 (15:58 +0000)] 
upstream: match flag type (s/int/u_int)

OpenBSD-Commit-ID: 9422289747c35ccb7b31d0e1888ccd5e74ad566a

19 months agobetter detection of broken -fzero-call-used-regs
Damien Miller [Fri, 22 Dec 2023 06:56:26 +0000 (17:56 +1100)] 
better detection of broken -fzero-call-used-regs

gcc 13.2.0 on ppc64le refuses to compile some function, including
cipher.c:compression_alg_list() with an error:

> sorry, unimplemented: argument ‘used’ is not supportedcw
> for ‘-fzero-call-used-regs’ on this target

This extends the autoconf will-it-work test with a similarly-
structured function that seems to catch this.

Spotted/tested by Colin Watson; bz3645

19 months agocrank versions V_9_6_P1
Damien Miller [Mon, 18 Dec 2023 14:59:50 +0000 (01:59 +1100)] 
crank versions

19 months agodepend
Damien Miller [Mon, 18 Dec 2023 14:59:06 +0000 (01:59 +1100)] 
depend

19 months agoupstream: regress test for agent PKCS#11-backed certificates
djm@openbsd.org [Mon, 18 Dec 2023 14:50:08 +0000 (14:50 +0000)] 
upstream: regress test for agent PKCS#11-backed certificates

OpenBSD-Regress-ID: 38f681777cb944a8cc3bf9d0ad62959a16764df9

19 months agoupstream: regress test for constrained PKCS#11 keys
djm@openbsd.org [Mon, 18 Dec 2023 14:49:39 +0000 (14:49 +0000)] 
upstream: regress test for constrained PKCS#11 keys

OpenBSD-Regress-ID: b2f26ae95d609d12257b43aef7cd7714c82618ff

19 months agoupstream: openssh-9.6
djm@openbsd.org [Mon, 18 Dec 2023 14:48:44 +0000 (14:48 +0000)] 
upstream: openssh-9.6

OpenBSD-Commit-ID: 21759837cf0e0092d9a2079f8fb562071c11016b

19 months agoupstream: ssh-agent: record failed session-bind attempts
djm@openbsd.org [Mon, 18 Dec 2023 14:48:08 +0000 (14:48 +0000)] 
upstream: ssh-agent: record failed session-bind attempts

Record failed attempts to session-bind a connection and refuse signing
operations on that connection henceforth.

Prevents a future situation where we add a new hostkey type that is not
recognised by an older ssh-agent, that consequently causes session-bind
to fail (this situation is only likely to arise when people mix ssh(1)
and ssh-agent(1) of different versions on the same host). Previously,
after such a failure the agent socket would be considered unbound and
not subject to restriction.

Spotted by Jann Horn

OpenBSD-Commit-ID: b0fdd023e920aa4831413f640de4c5307b53552e

19 months agoupstream: ban user/hostnames with most shell metacharacters
djm@openbsd.org [Mon, 18 Dec 2023 14:47:44 +0000 (14:47 +0000)] 
upstream: ban user/hostnames with most shell metacharacters

This makes ssh(1) refuse user or host names provided on the
commandline that contain most shell metacharacters.

Some programs that invoke ssh(1) using untrusted data do not filter
metacharacters in arguments they supply. This could create
interactions with user-specified ProxyCommand and other directives
that allow shell injection attacks to occur.

It's a mistake to invoke ssh(1) with arbitrary untrusted arguments,
but getting this stuff right can be tricky, so this should prevent
most obvious ways of creating risky situations. It however is not
and cannot be perfect: ssh(1) has no practical way of interpreting
what shell quoting rules are in use and how they interact with the
user's specified ProxyCommand.

To allow configurations that use strange user or hostnames to
continue to work, this strictness is applied only to names coming
from the commandline. Names specified using User or Hostname
directives in ssh_config(5) are not affected.

feedback/ok millert@ markus@ dtucker@ deraadt@

OpenBSD-Commit-ID: 3b487348b5964f3e77b6b4d3da4c3b439e94b2d9

19 months agoupstream: stricter handling of channel window limits
djm@openbsd.org [Mon, 18 Dec 2023 14:47:20 +0000 (14:47 +0000)] 
upstream: stricter handling of channel window limits

This makes ssh/sshd more strict in handling non-compliant peers that
send more data than the advertised channel window allows. Previously
the additional data would be silently discarded. This change will
cause ssh/sshd to terminate the connection if the channel window is
exceeded by more than a small grace allowance.

ok markus@

OpenBSD-Commit-ID: 811e21b41831eba3dd7f67b3d409a438f20d3037

19 months agoupstream: Make it possible to load certs from PKCS#11 tokens
djm@openbsd.org [Mon, 18 Dec 2023 14:46:56 +0000 (14:46 +0000)] 
upstream: Make it possible to load certs from PKCS#11 tokens

Adds a protocol extension to allow grafting certificates supplied by
ssh-add to keys loaded from PKCS#11 tokens in the agent.

feedback/ok markus@

OpenBSD-Commit-ID: bb5433cd28ede2bc910996eb3c0b53e20f86037f

19 months agoupstream: apply destination constraints to all p11 keys
djm@openbsd.org [Mon, 18 Dec 2023 14:46:12 +0000 (14:46 +0000)] 
upstream: apply destination constraints to all p11 keys

Previously applied only to the first key returned from each token.

ok markus@

OpenBSD-Commit-ID: 36df3afb8eb94eec6b2541f063d0d164ef8b488d

19 months agoupstream: add "ext-info-in-auth@openssh.com" extension
djm@openbsd.org [Mon, 18 Dec 2023 14:45:49 +0000 (14:45 +0000)] 
upstream: add "ext-info-in-auth@openssh.com" extension

This adds another transport protocol extension to allow a sshd to send
SSH2_MSG_EXT_INFO during user authentication, after the server has
learned the username that is being logged in to.

This lets sshd to update the acceptable signature algoritms for public
key authentication, and allows these to be varied via sshd_config(5)
"Match" directives, which are evaluated after the server learns the
username being authenticated.

Full details in the PROTOCOL file

OpenBSD-Commit-ID: 1de7da7f2b6c32a46043d75fcd49b0cbb7db7779

19 months agoupstream: implement "strict key exchange" in ssh and sshd
djm@openbsd.org [Mon, 18 Dec 2023 14:45:17 +0000 (14:45 +0000)] 
upstream: implement "strict key exchange" in ssh and sshd

This adds a protocol extension to improve the integrity of the SSH
transport protocol, particular in and around the initial key exchange
(KEX) phase.

Full details of the extension are in the PROTOCOL file.

with markus@

OpenBSD-Commit-ID: 2a66ac962f0a630d7945fee54004ed9e9c439f14

19 months agobetter detection of broken -fzero-call-used-regs
Damien Miller [Mon, 18 Dec 2023 03:49:11 +0000 (14:49 +1100)] 
better detection of broken -fzero-call-used-regs

Use OSSH_CHECK_CFLAG_LINK() for detection of these flags and extend
test program to exercise varargs, which seems to catch more stuff.

ok dtucker@

20 months agoupstream: when invoking KnownHostsCommand to determine the order of
djm@openbsd.org [Wed, 13 Dec 2023 03:28:19 +0000 (03:28 +0000)] 
upstream: when invoking KnownHostsCommand to determine the order of

host key algorithms to request, ensure that the hostname passed to the
command is decorated with the port number for ports other than 22.

This matches the behaviour of KnownHostsCommand when invoked to look
up the actual host key.

bz3643, ok dtucker@

OpenBSD-Commit-ID: 5cfabc0b7c6c7ab473666df314f377b1f15420b1

20 months agoupstream: prevent leak in sshsig_match_principals; ok djm@
markus@openbsd.org [Fri, 8 Dec 2023 09:18:39 +0000 (09:18 +0000)] 
upstream: prevent leak in sshsig_match_principals; ok djm@

OpenBSD-Commit-ID: 594f61ad4819ff5c72dfe99ba666a17f0e1030ae

20 months agoupstream: short circuit debug log processing early if we're not going
djm@openbsd.org [Wed, 6 Dec 2023 21:06:48 +0000 (21:06 +0000)] 
upstream: short circuit debug log processing early if we're not going

to log anything. From Kobe Housen

OpenBSD-Commit-ID: 2bcddd695872a1bef137cfff7823044dcded90ea

20 months agoAdd tests for OpenSSL 3.2.0 and 3.2 stable branch.
Darren Tucker [Sun, 26 Nov 2023 22:37:28 +0000 (09:37 +1100)] 
Add tests for OpenSSL 3.2.0 and 3.2 stable branch.

20 months agoUse non-zero arg in compiler test program.
Darren Tucker [Fri, 24 Nov 2023 22:03:38 +0000 (09:03 +1100)] 
Use non-zero arg in compiler test program.

Now that we're running the test program, passing zero to the test function
can cause divide-by-zero exceptions which might show up in logs.

20 months agoupstream: Plug mem leak of msg when processing a quit message.
dtucker@openbsd.org [Fri, 24 Nov 2023 00:31:30 +0000 (00:31 +0000)] 
upstream: Plug mem leak of msg when processing a quit message.

Coverity CID#427852, ok djm@

OpenBSD-Commit-ID: bf85362addbe2134c3d8c4b80f16601fbff823b7

20 months agoupstream: Include existing mux path in debug message.
dtucker@openbsd.org [Thu, 23 Nov 2023 03:37:05 +0000 (03:37 +0000)] 
upstream: Include existing mux path in debug message.

OpenBSD-Commit-ID: 1c3641be10c2f4fbad2a1b088a441d072e18bf16

20 months agoAdd an Ubuntu 22.04 test VM.
Darren Tucker [Thu, 23 Nov 2023 08:41:27 +0000 (19:41 +1100)] 
Add an Ubuntu 22.04 test VM.

This is the same version as Github's runners so most of the testing on
it is over there, but having a local VM makes debugging much easier.

20 months agoAdd gcc-12 -Werror test on Ubuntu 22.04.
Darren Tucker [Thu, 23 Nov 2023 08:36:22 +0000 (19:36 +1100)] 
Add gcc-12 -Werror test on Ubuntu 22.04.

Explictly specify gcc-11 on Ubuntu 22.04 (it's the system compiler).

20 months agoCheck return value from write to prevent warning.
Darren Tucker [Thu, 23 Nov 2023 08:34:57 +0000 (19:34 +1100)] 
Check return value from write to prevent warning.

... and since we're testing for flags with -Werror, this caused
configure to mis-detect compiler flags.

20 months agoRun compiler test program when compiling natively.
Darren Tucker [Wed, 22 Nov 2023 10:18:55 +0000 (21:18 +1100)] 
Run compiler test program when compiling natively.

ok djm@

20 months agoFactor out compiler test program into a macro.
Darren Tucker [Wed, 22 Nov 2023 10:18:07 +0000 (21:18 +1100)] 
Factor out compiler test program into a macro.

ok djm@

20 months agoAdd fbsd14 VM to test pool.
Darren Tucker [Tue, 21 Nov 2023 21:55:36 +0000 (08:55 +1100)] 
Add fbsd14 VM to test pool.

20 months agoExpand -fzero-call-used-regs test to cover gcc 11.
Darren Tucker [Tue, 21 Nov 2023 05:19:29 +0000 (16:19 +1100)] 
Expand -fzero-call-used-regs test to cover gcc 11.

It turns out that gcc also has some problems with -fzero-call-used-regs,
at least v11 on mips.  Previously the test in OSSH_CHECK_CFLAG_COMPILE
was sufficient to catch it with "=all", but not sufficient for "=used".
Expand the testcase and include it in the other tests for good measure.
See bz#3629.  ok djm@.

20 months agoStop using -fzero-call-used-regs=all
Darren Tucker [Tue, 21 Nov 2023 03:04:34 +0000 (14:04 +1100)] 
Stop using -fzero-call-used-regs=all

... since it seems to be problematic with several different versions of
clang.  Only use -fzero-call-used-regs=used which is less
problematic, except with Apple's clang where we don't use it at all.
bz#3629, ok djm@

20 months agoAllow for vendor prefix on clang version numbers.
Darren Tucker [Tue, 21 Nov 2023 03:02:18 +0000 (14:02 +1100)] 
Allow for vendor prefix on clang version numbers.

Correctly detects the version of OpenBSD's native clang, as well as
Apple's.  Spotted tb@, ok djm@.

20 months agoupstream: set errno=EAFNOSUPPORT when filtering addresses that don't
djm@openbsd.org [Mon, 20 Nov 2023 02:50:00 +0000 (02:50 +0000)] 
upstream: set errno=EAFNOSUPPORT when filtering addresses that don't

match AddressFamily; yields slightly better error message if no address
matches. bz#3526

OpenBSD-Commit-ID: 29cea900ddd8b04a4d1968da5c4a893be2ebd9e6

20 months agoupstream: when connecting via socket (the default case), filter
djm@openbsd.org [Wed, 15 Nov 2023 23:03:38 +0000 (23:03 +0000)] 
upstream: when connecting via socket (the default case), filter

addresses by AddressFamily if one was specified. Fixes the case where, if
CanonicalizeHostname is enabled, ssh may ignore AddressFamily. bz5326; ok
dtucker

OpenBSD-Commit-ID: 6c7d7751f6cd055126b2b268a7b64dcafa447439

20 months agoupstream: when deciding whether to enable keystroke timing
djm@openbsd.org [Wed, 15 Nov 2023 22:51:49 +0000 (22:51 +0000)] 
upstream: when deciding whether to enable keystroke timing

obfuscation, only consider enabling it when a channel with a tty is open.

Avoids turning on the obfucation when X11 forwarding only is in use,
which slows it right down. Reported by Roger Marsh

OpenBSD-Commit-ID: c292f738db410f729190f92de100c39ec931a4f1

20 months agoupstream: Make sure sftp_get_limits() only returns 0 if 'limits'
tobhe@openbsd.org [Mon, 13 Nov 2023 09:18:19 +0000 (09:18 +0000)] 
upstream: Make sure sftp_get_limits() only returns 0 if 'limits'

was initialized. This fixes a potential uninitialized use of 'limits' in
sftp_init() if sftp_get_limits() returned early because of an unexpected
message type.

ok djm@

OpenBSD-Commit-ID: 1c177d7c3becc1d71bc8763eecf61873a1d3884c

21 months agoTest current releases of LibreSSL and OpenSSL.
Darren Tucker [Mon, 13 Nov 2023 09:03:31 +0000 (20:03 +1100)] 
Test current releases of LibreSSL and OpenSSL.

Retire some of the older releases.

21 months agoupstream: Specify ssh binary to use
dtucker@openbsd.org [Wed, 1 Nov 2023 02:08:38 +0000 (02:08 +0000)] 
upstream: Specify ssh binary to use

... instead of relying on installed one.  Fixes test failures in -portable
when running tests prior to installation.

OpenBSD-Regress-ID: b6d6ba71c23209c616efc805a60d9a445d53a685