]> git.ipfire.org Git - thirdparty/openssh-portable.git/log
thirdparty/openssh-portable.git
3 months agoupstream: Move ssherr.h to where portable needs it.
dtucker@openbsd.org [Sat, 7 Feb 2026 17:04:22 +0000 (17:04 +0000)] 
upstream: Move ssherr.h to where portable needs it.

(ID sync only)

OpenBSD-Commit-ID: 0488ce85f24864186678dcac7c9973ca44bd2cd5

3 months agoMove paths.h and poll.h includes to resync with upstream.
Darren Tucker [Sat, 7 Feb 2026 17:30:40 +0000 (04:30 +1100)] 
Move paths.h and poll.h includes to resync with upstream.

3 months agoMove poll.h include to resync with upstream.
Darren Tucker [Sat, 7 Feb 2026 17:28:28 +0000 (04:28 +1100)] 
Move poll.h include to resync with upstream.

3 months agoResync minor format diffs with upstream.
Darren Tucker [Sat, 7 Feb 2026 17:25:42 +0000 (04:25 +1100)] 
Resync minor format diffs with upstream.

3 months agoResync headers with upstream.
Darren Tucker [Sat, 7 Feb 2026 16:56:15 +0000 (03:56 +1100)] 
Resync headers with upstream.

3 months agoResync with upstream (unused header and whitespace).
Darren Tucker [Sat, 7 Feb 2026 16:52:31 +0000 (03:52 +1100)] 
Resync with upstream (unused header and whitespace).

3 months agoFix ut_type for btmp records
Artem Savkov [Tue, 18 Nov 2025 15:26:11 +0000 (16:26 +0100)] 
Fix ut_type for btmp records

According to man utmp ut_type is supposed to be only switched from
LOGIN_PROCESS to USER_PROCESS after succesfull authentication and this
is how sshd behaved before 671c44078.

Fixes: 671c44078 ("use construct_utmp to construct btmp records")
Signed-off-by: Artem Savkov <artem.savkov@gmail.com>
3 months agoupstream: bit of webauthn support missed in previous commit
djm@openbsd.org [Sat, 7 Feb 2026 02:02:00 +0000 (02:02 +0000)] 
upstream: bit of webauthn support missed in previous commit

OpenBSD-Commit-ID: 9768454543ded01b7c61567fc5b3e78664346be2

3 months agoupstream: Adjust Makefiles to include just-added
dtucker@openbsd.org [Fri, 6 Feb 2026 23:39:14 +0000 (23:39 +0000)] 
upstream: Adjust Makefiles to include just-added

ssherr_libcrypto where necessary.

OpenBSD-Regress-ID: 53d179a2db3ab931f2aa0e5447cf20cb9787a8bb

3 months agoupstream: Fetch the error reason from libcrypto
dtucker@openbsd.org [Fri, 6 Feb 2026 23:31:29 +0000 (23:31 +0000)] 
upstream: Fetch the error reason from libcrypto

if available, append it to the corresponding ssh error message and
optionall print the libcrypto full error stack (at debug1).  with &
ok tb@ djm@ millert@ schwarze@

Note that the quality of errors obtainable from libcrypto is somewhat
variable, so these may be any of: useful, misleading, incomplete
or missing entirely. As a result we reserve the right to change
what is returned or even stop returning it if it does more harm than
good.

OpenBSD-Commit-ID: 1ad599ac3eeddbe254fec6b9c1cf658fa70d572e

3 months agoTypographical Fixes
THE-Spellchecker [Sun, 4 Jan 2026 04:11:39 +0000 (22:11 -0600)] 
Typographical Fixes

3 months agoupstream: Typo fixes, mostly in comments.
dtucker@openbsd.org [Fri, 6 Feb 2026 22:59:18 +0000 (22:59 +0000)] 
upstream: Typo fixes, mostly in comments.

From THE-Spellchecker via github PR#620.

OpenBSD-Commit-ID: 64929fafa3caae5a162f23257917ecf33f8a3764

3 months agoEnable gss-auth tests on Kerberos test configs.
Darren Tucker [Fri, 6 Feb 2026 19:58:59 +0000 (06:58 +1100)] 
Enable gss-auth tests on Kerberos test configs.

3 months agoAdd a GSSAPI authentication test
Pavol Žáčik [Thu, 29 Jan 2026 10:01:19 +0000 (11:01 +0100)] 
Add a GSSAPI authentication test

3 months agoSplit sudo out to its own install line.
Darren Tucker [Thu, 1 Jan 2026 10:41:10 +0000 (21:41 +1100)] 
Split sudo out to its own install line.

3 months agoRemove obsolete comments.
Darren Tucker [Wed, 31 Dec 2025 05:35:29 +0000 (16:35 +1100)] 
Remove obsolete comments.

3 months agoRun tests on older OmniOS version too.
Darren Tucker [Wed, 31 Dec 2025 05:26:23 +0000 (16:26 +1100)] 
Run tests on older OmniOS version too.

3 months agoAdd OpenIndiana VM test target.
Darren Tucker [Wed, 31 Dec 2025 05:25:16 +0000 (16:25 +1100)] 
Add OpenIndiana VM test target.

3 months agoupstream: remove vestige of when we supported running without privsep
djm@openbsd.org [Fri, 6 Feb 2026 01:24:36 +0000 (01:24 +0000)] 
upstream: remove vestige of when we supported running without privsep

OpenBSD-Commit-ID: 5342c24d2330ef5ce357c294056f72b8123122c0

3 months agoupstream: Implement missing pieces of FIDO/webauthn signature support,
djm@openbsd.org [Thu, 5 Feb 2026 22:05:49 +0000 (22:05 +0000)] 
upstream: Implement missing pieces of FIDO/webauthn signature support,

mostly related to certificate handling and enable acceptance of this
signature format by default.  bz3748 GHPR624 GHPR625

Feedback tb / James Zhang; ok tb

OpenBSD-Commit-ID: ce3327b508086b24a3f7a6507aa5c49d8e9505e6

4 months agoupstream: Implement "query" extension from
djm@openbsd.org [Tue, 27 Jan 2026 06:48:29 +0000 (06:48 +0000)] 
upstream: Implement "query" extension from

draft-ietf-sshm-ssh-agent

feedback jsg@, tb@; ok tb@

OpenBSD-Commit-ID: adb2b79473ff86ba781ed5ab2735c1437b590f07

4 months agoupstream: Make it clear that DenyUsers/DenyGroups overrides
millert@openbsd.org [Thu, 22 Jan 2026 15:30:07 +0000 (15:30 +0000)] 
upstream: Make it clear that DenyUsers/DenyGroups overrides

AllowUsers/AllowGroups. Previously we specified the order in which the
directives are processed but it was ambiguous as to what happened if both
matched. OK djm@

OpenBSD-Commit-ID: 6ae0ab52ff796b78486b92a45cd7ec9310e20f4e

4 months agoupstream: In ssh(1), don't try to match certificates held in an
djm@openbsd.org [Wed, 21 Jan 2026 23:58:20 +0000 (23:58 +0000)] 
upstream: In ssh(1), don't try to match certificates held in an

agent to private keys.

This matching is done to support certificates that were
loaded without their private key material, but is unnecessary for
agent-hosted certificate which always have private key material
loaded in the agent. Worse, this matching would mess up the
request sent to the agent in such a way as to break usage of these
keys when the key usage was restricted in the agent.

Patch from Thibault Cools via bz3752, ok dtucker@

OpenBSD-Commit-ID: ebfe37817dad4841c53339930565242ec683d726

4 months agoupstream: If editline has been switched to vi mode (i.e. via "bind
sthen@openbsd.org [Wed, 21 Jan 2026 15:44:51 +0000 (15:44 +0000)] 
upstream: If editline has been switched to vi mode (i.e. via "bind

-v" in .editrc), setup a keybinding so that command mode can be entered. Diff
originally from Walter Alejandro Iglesias with tweaks. Feedback from Crystal
Kolipe. ok djm

OpenBSD-Commit-ID: 5786e17ccd83573e2d86418023f9bc768223336a

4 months agoupstream: Fill entropy in a single operation instead of hundreds.
dtucker@openbsd.org [Tue, 20 Jan 2026 22:56:11 +0000 (22:56 +0000)] 
upstream: Fill entropy in a single operation instead of hundreds.

The sntrup761 code we use from SUPERCOP fills entropy arrays 4 bytes at
a time.  On some platforms each of these operations has a significant
overhead, so instead fill it in a single operation and as a precaution
zero that array after it's used.

Analysis and code change is from Mike Frysinger via Github PR#621 with
feedback from djm@ and sed-ification from me.  ok djm@ beck@.

This change was submitted by Mike to SUPERCOP upstream so hopefully
future versions will already have it.

OpenBSD-Commit-ID: 0e85c82f79b1b396facac59e05b288c08048f15c

4 months agoupstream: rewrite SOCKS4/4A/5 parsing code to use sshbuf functions
djm@openbsd.org [Sun, 4 Jan 2026 09:52:58 +0000 (09:52 +0000)] 
upstream: rewrite SOCKS4/4A/5 parsing code to use sshbuf functions

instead of manual pointer fiddling. Should make the code safer and easier to
read. feedback/ok markus@

OpenBSD-Commit-ID: 5ebd841fbd78d8395774f002a19c1ddcf91ad047

5 months agoupstream: test the right thing, doofus
djm@openbsd.org [Tue, 30 Dec 2025 04:28:42 +0000 (04:28 +0000)] 
upstream: test the right thing, doofus

OpenBSD-Commit-ID: 31b2ec6e0b3dbd08c60ba2d969dd687cd80c25fd

5 months agoupstream: avoid possible NULL deref if
djm@openbsd.org [Tue, 30 Dec 2025 04:23:53 +0000 (04:23 +0000)] 
upstream: avoid possible NULL deref if

ssh_packet_check_rekey_blocklimit() called before the encrypted transport is
brought up.

OpenBSD-Commit-ID: fb998ccbe59865e33a8ab6a6577f254d39bdc72f

5 months agoupstream: unit tests for sshbuf_consume_upto_child()
djm@openbsd.org [Tue, 30 Dec 2025 00:12:58 +0000 (00:12 +0000)] 
upstream: unit tests for sshbuf_consume_upto_child()

OpenBSD-Regress-ID: 13cbd0370ebca7c61c35346b3e0356517719a447

5 months agoupstream: Remove bug compatibility for implementations that don't
djm@openbsd.org [Tue, 30 Dec 2025 00:35:37 +0000 (00:35 +0000)] 
upstream: Remove bug compatibility for implementations that don't

support rekeying. AFAIK this is only an ancient Sun SSH version.

If such an implementation tries to interoperate with OpenSSH, it
will eventually fail when the transport needs rekeying.

This is probably long enough to use it to download a modern SSH
implementation that lacks this problem :)

ok markus@ deraadt@

OpenBSD-Commit-ID: 228a502fee808cf8b7caee23169eb6a1ab1c331a

5 months agoupstream: Enforce maximum packet/block limit during
djm@openbsd.org [Tue, 30 Dec 2025 00:22:58 +0000 (00:22 +0000)] 
upstream: Enforce maximum packet/block limit during

pre-authentication phase

OpenSSH doesn't support rekeying before authentication completes to
minimise pre-auth attack surface.

Given LoginGraceTime, MaxAuthTries and strict KEX, it would be
difficult to send enough data or packets before authentication
completes to reach a point where rekeying is required, but we'd
prefer it to be completely impossible.

So this applies the default volume/packet rekeying limits to the
pre-auth phase. If these limits are exceeded the connection will
simply be closed.

ok dtucker markus

OpenBSD-Commit-ID: 70415098db739058006e4ebd1630b6bae8cc8bf6

5 months agoupstream: Add sshbuf_consume_upto_child(), to similify particular
djm@openbsd.org [Mon, 29 Dec 2025 23:52:09 +0000 (23:52 +0000)] 
upstream: Add sshbuf_consume_upto_child(), to similify particular

parsing patterns using parent/child buffer; ok markus@

OpenBSD-Commit-ID: c11ed27907751f2a16c1283313e77f88617e4852

5 months agoUpdate ssh-agent.1
Ludovic Rousseau [Sat, 27 Dec 2025 09:07:22 +0000 (10:07 +0100)] 
Update ssh-agent.1

Add a missing "/" in the default allowed providers list.

5 months agoupstream: correctly quote wildcard host certificate principal name,
djm@openbsd.org [Mon, 22 Dec 2025 03:36:43 +0000 (03:36 +0000)] 
upstream: correctly quote wildcard host certificate principal name,

lest it expand to an unrelated filename in the working directory

OpenBSD-Regress-ID: 8a9eb716d3ea7986d26c1a931758b996aa93c58e

5 months agoupstream: return 0 in void function; spotted by clang -Wextra
djm@openbsd.org [Mon, 22 Dec 2025 03:12:05 +0000 (03:12 +0000)] 
upstream: return 0 in void function; spotted by clang -Wextra

OpenBSD-Commit-ID: fe7461c93dfaef98a007a246af837a8275a1e539

5 months agoupstream: regression tests for certificates with empty principals
djm@openbsd.org [Mon, 22 Dec 2025 01:50:46 +0000 (01:50 +0000)] 
upstream: regression tests for certificates with empty principals

sections (which are now unconditionally refused) and for certificates with
wildcard principals (which should only be accepted in host certs)

OpenBSD-Regress-ID: fdca88845a68424060547b4f9f32f90a7cf82e73

5 months agoupstream: don't try to test webauthn signatures. Nothing in OpenSSH
djm@openbsd.org [Mon, 22 Dec 2025 01:31:07 +0000 (01:31 +0000)] 
upstream: don't try to test webauthn signatures. Nothing in OpenSSH

generates these (yet)

OpenBSD-Regress-ID: 48d59b7c4768c2a22ce3d8cf3b455e6ada9fc7b0

5 months agoupstream: When certificate support was added to OpenSSH,
djm@openbsd.org [Mon, 22 Dec 2025 01:49:03 +0000 (01:49 +0000)] 
upstream: When certificate support was added to OpenSSH,

certificates were originally specified to represent any principal if the
principals list was empty.

This was, in retrospect, a mistake as it created a fail-open
situation if a CA could be convinced to accidentally sign a
certificate with no principals. This actually happened in a 3rd-
party CA product (CVE-2024-7594).

Somewhat fortunately, the main pathway for using certificates in
sshd (TrustedUserCAKeys) never supported empty-principals
certificates, so the blast radius of such mistakes was
substantially reduced.

This change removes this footcannon and requires all certificates
include principals sections. It also fixes interpretation of
wildcard principals, and properly enables them for host
certificates only.

This is a behaviour change that will permanently break uses of
certificates with empty principals sections.

ok markus@

OpenBSD-Commit-ID: 0a901f03c567c100724a492cf91e02939904712e

5 months agoupstream: Don't misuse the sftp limits extension's open-handles
djm@openbsd.org [Mon, 22 Dec 2025 01:20:39 +0000 (01:20 +0000)] 
upstream: Don't misuse the sftp limits extension's open-handles

field. This value is supposed to be the number of handles a server will allow
to be opened and not a number of outstanding read/write requests that can be
sent during an upload/download.

ok markus@

OpenBSD-Commit-ID: 14ebb6690acbd488e748ce8ce3302bd7e1e8a5b0

5 months agoupstream: add a "ssh -O channels user@host" multiplexing command to
djm@openbsd.org [Mon, 22 Dec 2025 01:17:31 +0000 (01:17 +0000)] 
upstream: add a "ssh -O channels user@host" multiplexing command to

get a running mux process to show information about what channels are
currently open; ok dtucker@ markus@

OpenBSD-Commit-ID: 80bb3953b306a50839f9a4bc5679faebc32e5bb8

5 months agoupstream: typo in comment
djm@openbsd.org [Fri, 19 Dec 2025 01:27:19 +0000 (01:27 +0000)] 
upstream: typo in comment

OpenBSD-Commit-ID: f72306b86953e74f358096db141b4f9c00d33ed7

5 months agoupstream: correctly check subsystem command is not the empty string
djm@openbsd.org [Fri, 19 Dec 2025 01:26:39 +0000 (01:26 +0000)] 
upstream: correctly check subsystem command is not the empty string

(was repeatedly checking the subsystem name) spotted by Coverity (CID 898836)

OpenBSD-Commit-ID: dabea2b499de8280f76f7291dd52086df6831cb0

5 months agoupstream: regression test for bz3906: sshd crashing at connection
djm@openbsd.org [Fri, 19 Dec 2025 00:57:42 +0000 (00:57 +0000)] 
upstream: regression test for bz3906: sshd crashing at connection

time if the config lacks a subsystem directive but one is defined in a match
block.

OpenBSD-Regress-ID: 5290553665307ccddaec2499ec1eb196bb2efc84

5 months agoupstream: check that invalid subsystem directives inside Match
djm@openbsd.org [Fri, 19 Dec 2025 00:48:47 +0000 (00:48 +0000)] 
upstream: check that invalid subsystem directives inside Match

blocks are noticed at startup; bz#3906

OpenBSD-Regress-ID: b9171bde4cc24757a826b3da0e9eadc33995a453

5 months agoupstream: don't crash at connection time if the main sshd_config
djm@openbsd.org [Fri, 19 Dec 2025 00:56:34 +0000 (00:56 +0000)] 
upstream: don't crash at connection time if the main sshd_config

lacks any subsystem directive but one is defined in a Match block

bz#3906; ok dtucker

OpenBSD-Commit-ID: 2eb9024726d6f10eaa41958faeca9c9ba5ca7d8a

5 months agoupstream: detect invalid sshd_config Subsystem directives inside
djm@openbsd.org [Fri, 19 Dec 2025 00:48:04 +0000 (00:48 +0000)] 
upstream: detect invalid sshd_config Subsystem directives inside

Match blocks at startup rather than failing later at runtime;

noticed via bz#3906; ok dtucker

OpenBSD-Commit-ID: e6035ff0baa375de6c9f22c883ed530a8649dfed

5 months agoupstream: new sentence, new line
jsg@openbsd.org [Thu, 18 Dec 2025 23:54:10 +0000 (23:54 +0000)] 
upstream: new sentence, new line

OpenBSD-Commit-ID: 23974d7c98b2ba4fea7f5143676c34e04ffd4128

5 months agoupstream: fix markup, .CM -> .Cm
jsg@openbsd.org [Thu, 18 Dec 2025 23:51:56 +0000 (23:51 +0000)] 
upstream: fix markup, .CM -> .Cm

OpenBSD-Commit-ID: 4db8cb254792df8a4dce11825852e089ae3d053a

5 months agoupstream: Plug leak in ssh_digest_memory on error path.
dtucker@openbsd.org [Tue, 16 Dec 2025 08:36:43 +0000 (08:36 +0000)] 
upstream: Plug leak in ssh_digest_memory on error path.

Bonehead mistake spotted by otto@, ok djm@

OpenBSD-Commit-ID: 4ad67ac402e0b4c013f4f4e386d22b88969a5dd7

5 months agoupstream: Add 'invaliduser' penalty to PerSourcePenalties, which is
dtucker@openbsd.org [Tue, 16 Dec 2025 08:32:50 +0000 (08:32 +0000)] 
upstream: Add 'invaliduser' penalty to PerSourcePenalties, which is

applied to login attempts for usernames that do not match real accounts.
Defaults to 5s to match 'authfail' but allows administrators to block such
sources for longer if desired.  with & ok djm@

OpenBSD-Commit-ID: bb62797bcf2adceb96f608ce86d0bb042aff5834

5 months agoupstream: add a GssDelegateCreds option for the server, controlling
djm@openbsd.org [Mon, 8 Dec 2025 03:55:22 +0000 (03:55 +0000)] 
upstream: add a GssDelegateCreds option for the server, controlling

whether it accepts delgated credentials offered by the client. This option
mirrors GssDelegateCreds in ssh_config.

From Dmitry Belyavskiy via GHPR614; ok dtucker@

OpenBSD-Commit-ID: ac419354edb26cef9ad15692e0bed17a03997786

5 months agoupstream: errant line
djm@openbsd.org [Mon, 8 Dec 2025 00:45:00 +0000 (00:45 +0000)] 
upstream: errant line

OpenBSD-Commit-ID: 8542d59f5ba48a67c3ebd5de17f9fa408ec54ca5

5 months agoupstream: There is a warning next to the authorized_keys command=""
djm@openbsd.org [Mon, 8 Dec 2025 00:44:16 +0000 (00:44 +0000)] 
upstream: There is a warning next to the authorized_keys command=""

flag that forcing a command doesn't automatically disable forwarding. Add one
next to the sshd_config(5) ForceCommand directive too.

feedback deraadt@

OpenBSD-Commit-ID: bfe38b4d3cfbadbb8bafe38bc256f5a17a0ee75c

5 months agoupstream: increment correct variable when counting group
djm@openbsd.org [Mon, 8 Dec 2025 00:41:46 +0000 (00:41 +0000)] 
upstream: increment correct variable when counting group

memberships. Reported by Kevin Day via bz3903

OpenBSD-Commit-ID: 772b9aafd5165a7c407f08cb95f8b94cc5a4c1c0

5 months agoAdd OpenBSD 7.8 VM test target.
Darren Tucker [Sun, 7 Dec 2025 09:10:42 +0000 (20:10 +1100)] 
Add OpenBSD 7.8 VM test target.

5 months agoRemove generated compat includes during distclean.
Darren Tucker [Sun, 7 Dec 2025 02:43:02 +0000 (13:43 +1100)] 
Remove generated compat includes during distclean.

5 months agoDefine IPTOS_DSCP_VA if not already defined.
Darren Tucker [Sun, 7 Dec 2025 03:17:20 +0000 (14:17 +1100)] 
Define IPTOS_DSCP_VA if not already defined.

5 months agoupstream: allow network programs select DSCP_VA for network ToS
phessler@openbsd.org [Fri, 5 Dec 2025 17:48:47 +0000 (17:48 +0000)] 
upstream: allow network programs select DSCP_VA for network ToS

OK stsp@

OpenBSD-Commit-ID: 8019fd6e8c522b4b5f291a2c0e3bf2437cc70dc1

5 months agoupstream: Avoid "if ! thing || ! otherthing; then" constructs since
dtucker@openbsd.org [Sun, 7 Dec 2025 02:59:53 +0000 (02:59 +0000)] 
upstream: Avoid "if ! thing || ! otherthing; then" constructs since

they seem to cause portability problems.

OpenBSD-Regress-ID: ff001be683de43bf396cd5f9f6a54e0c7a99c3cf

5 months agoupstream: spaces->tab
dtucker@openbsd.org [Sun, 7 Dec 2025 02:49:41 +0000 (02:49 +0000)] 
upstream: spaces->tab

OpenBSD-Regress-ID: c78eb430da0ec2c4b6919ff4d27ef8e565ef52ff

5 months agoupstream: Append a newline, otherwise some sed's won't output anything.
dtucker@openbsd.org [Sat, 6 Dec 2025 07:10:24 +0000 (07:10 +0000)] 
upstream: Append a newline, otherwise some sed's won't output anything.

OpenBSD-Regress-ID: 507cb8c36bb7fc338f60a55bf7040f479536b3f7

5 months agoupstream: Don't check compressions stats when ssh does not support
dtucker@openbsd.org [Sat, 6 Dec 2025 03:23:27 +0000 (03:23 +0000)] 
upstream: Don't check compressions stats when ssh does not support

compression.

OpenBSD-Regress-ID: 026db51b2654a949e9a10b908443dab83b64c74a

5 months agoupstream: ASSERT_DOUBLE_* test helpers
djm@openbsd.org [Fri, 5 Dec 2025 11:13:35 +0000 (11:13 +0000)] 
upstream: ASSERT_DOUBLE_* test helpers

OpenBSD-Regress-ID: cdb5c4e95c0f00efb773ddba4056a49e33702cf9

5 months agoSet SSH_REGRESS_TMP after making tmpdir.
Darren Tucker [Fri, 5 Dec 2025 09:02:39 +0000 (20:02 +1100)] 
Set SSH_REGRESS_TMP after making tmpdir.

Put both of these later in the script so the cvsids don't cause
conflicts on every synced patch.

5 months agoupstream: Shell compatibility fix.
dtucker@openbsd.org [Fri, 5 Dec 2025 08:09:34 +0000 (08:09 +0000)] 
upstream: Shell compatibility fix.

OpenBSD-Regress-ID: bceaeb267d49c13e4a797c42e93b8f0cdb14dbd7

5 months agoupstream: unit tests for convtime_double()
djm@openbsd.org [Fri, 5 Dec 2025 07:43:24 +0000 (07:43 +0000)] 
upstream: unit tests for convtime_double()

OpenBSD-Regress-ID: d3ba7b894019b4128845d638c78fca37b3b6eecf

5 months agoupstream: convert PerSourcePenalties to using floating point time,
djm@openbsd.org [Fri, 5 Dec 2025 07:49:45 +0000 (07:49 +0000)] 
upstream: convert PerSourcePenalties to using floating point time,

allowing penalties to be less than a second. This is useful if you need to
penalise things you expect to occur at >=1 QPS.

feedback dtucker / deraadt; ok deraadt@

OpenBSD-Commit-ID: 89198be755722131b45a52d22d548e4c602201f0

5 months agoupstream: Add convtime_double() that converts a string interval,
djm@openbsd.org [Fri, 5 Dec 2025 07:43:12 +0000 (07:43 +0000)] 
upstream: Add convtime_double() that converts a string interval,

such as "3w2d4h5m10.5s", into a floating point number of seconds.

Reimplement the existing convtime() function using convtime_double()
(it just drops the fractional seconds)

lots of feedback deraadt@ / dtucker@; ok deraadt@

OpenBSD-Commit-ID: 053cdd0c72325a20efc6613caa847473fb89e36f

5 months agoupstream: Add test for ssh -Oconninfo mux command.
dtucker@openbsd.org [Fri, 5 Dec 2025 06:55:22 +0000 (06:55 +0000)] 
upstream: Add test for ssh -Oconninfo mux command.

OpenBSD-Regress-ID: e939edc41caad8b6ad00ff294f33b61ed32a1edd

5 months agoupstream: Add an ssh -Oconninfo command
dtucker@openbsd.org [Fri, 5 Dec 2025 06:16:27 +0000 (06:16 +0000)] 
upstream: Add an ssh -Oconninfo command

that shows connection information, similar to the ~I escapechar.
This is the first use of the mux extension mechanism, so it should be
both forward and backward compatible: a new client talking to an old
server will not allow the "conninfo" request to be sent, but everything
else should work seamlessly.  feedback and ok djm@

OpenBSD-Commit-ID: 50f047a85da277360558cabdfed59cb66f754341

5 months agoupstream: correctly quote filenames in verbose output for local->local
djm@openbsd.org [Wed, 3 Dec 2025 06:29:50 +0000 (06:29 +0000)] 
upstream: correctly quote filenames in verbose output for local->local

copies; from Colin Watson via bz3900; ok dtucker@

OpenBSD-Commit-ID: 5c09b030e2024651ebc8c1f9af6a8a2d37912150

6 months agoupstream: Add local hostname and pid to ~I escape connection info,
dtucker@openbsd.org [Sat, 29 Nov 2025 06:49:56 +0000 (06:49 +0000)] 
upstream: Add local hostname and pid to ~I escape connection info,

only display peer information for TCP connections including source address
and port This provides enough information to uniquely identify a connection
on the host or network.

OpenBSD-Commit-ID: aa18a4af2de41c298d1195d2566808585f8ce964

6 months agoupstream: Add compression stats to ~I connection info escape
dtucker@openbsd.org [Sat, 29 Nov 2025 05:00:50 +0000 (05:00 +0000)] 
upstream: Add compression stats to ~I connection info escape

option.

OpenBSD-Commit-ID: 83424b71fc226ea6b3dc8dda39f993475fdbd775

6 months agoupstream: Add Escape option ~I that shows information about the current
dtucker@openbsd.org [Thu, 27 Nov 2025 02:18:48 +0000 (02:18 +0000)] 
upstream: Add Escape option ~I that shows information about the current

SSH connection. ok djm@, "I like/want" sthen@ florian@

OpenBSD-Commit-ID: 0483fc0188ec899077e4bc8e1e353f7dfa9f5c1d

6 months agoupstream: move mention of default MaxStartups (which uses the
djm@openbsd.org [Tue, 25 Nov 2025 01:14:33 +0000 (01:14 +0000)] 
upstream: move mention of default MaxStartups (which uses the

form.

GHPR568 from Santiago Vila

OpenBSD-Commit-ID: 7e68771f3cad61ec67303607afb3b85639288b29

6 months agoupstream: Support writing ED25519 keys in PKCS8 format. GHPR570 from
djm@openbsd.org [Tue, 25 Nov 2025 01:08:35 +0000 (01:08 +0000)] 
upstream: Support writing ED25519 keys in PKCS8 format. GHPR570 from

Josh Brobst

OpenBSD-Commit-ID: 4f36019a38074b2929335fbe9cb8d9801e3177af

6 months agoupstream: avoid leak of fingerprint on error path; from Lidong Yan via
djm@openbsd.org [Tue, 25 Nov 2025 00:57:04 +0000 (00:57 +0000)] 
upstream: avoid leak of fingerprint on error path; from Lidong Yan via

GHPR611

OpenBSD-Commit-ID: 253f6f7d729d8636da23ac9925b60b494e85a810

6 months agoupstream: don't set the PerSourceNetBlockSize IPv6 mask if sscanf
djm@openbsd.org [Tue, 25 Nov 2025 00:52:00 +0000 (00:52 +0000)] 
upstream: don't set the PerSourceNetBlockSize IPv6 mask if sscanf

didn't decode it. From Mingjie Shen via GHPR598

OpenBSD-Commit-ID: c722014e735cbd87adb2fa968ce4c47b43cf98b0

6 months agoupstream: give ssh-agent more time to start in tests; requested in
djm@openbsd.org [Mon, 24 Nov 2025 23:56:58 +0000 (23:56 +0000)] 
upstream: give ssh-agent more time to start in tests; requested in

GHPR602

OpenBSD-Regress-ID: 7d771db2c1d4a422e83c3f632ba1e96f72a262b8

6 months agoupstream: When testing PKCS11, explicitly allow the module path in
djm@openbsd.org [Mon, 24 Nov 2025 23:54:15 +0000 (23:54 +0000)] 
upstream: When testing PKCS11, explicitly allow the module path in

ssh-agent.

Allows testing of PKCS11 modules outside system directories.

From Morgan Jones via GHPR602

OpenBSD-Regress-ID: 548d6e0362a8d9f7d1cc01444b697a00811ff488

6 months agoupstream: When loading FIDO2 resident keys, set the comment to the
djm@openbsd.org [Mon, 24 Nov 2025 23:43:10 +0000 (23:43 +0000)] 
upstream: When loading FIDO2 resident keys, set the comment to the

FIDO application string. This matches the behaviour of ssh-keygen -K

From Arian van Putten via GHPR608

OpenBSD-Commit-ID: 3fda54b44ed6a8a6f94cd3e39e69c1e672095712

6 months agoupstream: pkcs11_fetch_ecdsa_pubkey: use ASN1_STRING accessors
tb@openbsd.org [Sun, 23 Nov 2025 07:04:18 +0000 (07:04 +0000)] 
upstream: pkcs11_fetch_ecdsa_pubkey: use ASN1_STRING accessors

In anticipation of davidben and beck making ASN1_STRING opaque in
OpenSSL 4 with the aim of enabling surgery to make the X509 data
structure less bad [1], we need to use dumb accessors to avoid build
breakage. Fortunately only in one spot.

This is OpenSSL 1.1 API and available in all members of the fork family.

ok beck djm

[1]: https://github.com/openssl/openssl/issues/29117

OpenBSD-Commit-ID: 0bcaf691d20624ef43f3515c983cd5aa69547d4f

6 months agoUpdate OSSFuzz link to current bug tracker.
Darren Tucker [Fri, 21 Nov 2025 03:28:20 +0000 (14:28 +1100)] 
Update OSSFuzz link to current bug tracker.

6 months agoAdd VM CI and CIFuzz status badges.
Darren Tucker [Fri, 21 Nov 2025 03:21:07 +0000 (14:21 +1100)] 
Add VM CI and CIFuzz status badges.

6 months agoupstream: unit tests for sshbuf_get_nulterminated_string()
djm@openbsd.org [Fri, 21 Nov 2025 01:29:27 +0000 (01:29 +0000)] 
upstream: unit tests for sshbuf_get_nulterminated_string()

OpenBSD-Regress-ID: cb0af1e4d6dcc94e263942bc4dcf5f4466d1f086

6 months agoupstream: add a sshbuf_get_nulterminated_string() function to pull a
djm@openbsd.org [Fri, 21 Nov 2025 01:29:06 +0000 (01:29 +0000)] 
upstream: add a sshbuf_get_nulterminated_string() function to pull a

\0- terminated string from a sshbuf. Intended to be used to improve parsing
of SOCKS headers for dynamic forwarding.

ok deraadt; feedback Tim van der Molen

OpenBSD-Commit-ID: cf93d6db4730f7518d5269c279e16b172b484b36

6 months agoupstream: Free opts in FAIL_TEST. It should always be NULL anyway so
dtucker@openbsd.org [Thu, 20 Nov 2025 05:07:57 +0000 (05:07 +0000)] 
upstream: Free opts in FAIL_TEST. It should always be NULL anyway so

this is a no-op, but it should placate Coverity CID 405064.

OpenBSD-Regress-ID: 06789754de0741f26432c668fad8b9881c14c153

6 months agoupstream: Plug leaks while parsing Match blocks. Coverity CID
dtucker@openbsd.org [Thu, 20 Nov 2025 05:10:56 +0000 (05:10 +0000)] 
upstream: Plug leaks while parsing Match blocks. Coverity CID

469304, ok djm@

OpenBSD-Commit-ID: f9b79b86879a953ad034e6b92a398265b251bea7

6 months agoupstream: Plug leaks while parsing Match blocks. Coverity CID
dtucker@openbsd.org [Thu, 20 Nov 2025 05:10:11 +0000 (05:10 +0000)] 
upstream: Plug leaks while parsing Match blocks. Coverity CID

515634, ok miod@ djm@

OpenBSD-Commit-ID: c7932eddecd47e5122e945246a40c56ffa42a546

6 months agoPull in rev 1.17 for spelling fix.
Darren Tucker [Tue, 18 Nov 2025 09:14:44 +0000 (20:14 +1100)] 
Pull in rev 1.17 for spelling fix.

Prompted by github PR#609 from Edge-Seven.

6 months agoupstream: Export XDG_RUNTIME_DIR to child ssh sessions
jca@openbsd.org [Mon, 17 Nov 2025 12:59:29 +0000 (12:59 +0000)] 
upstream: Export XDG_RUNTIME_DIR to child ssh sessions

Currently setusercontext(LOGIN_SETALL) does create the directory in
/tmp/run/user, since LOGIN_SETXDGENV is part of LOGIN_SETALL, but the
env variable wasn't exported.

ok djm@

OpenBSD-Commit-ID: 02b8433f72759b3a07b55cbc5a7cdb84391b0017

6 months agoupstream: don't strnvis() log messages that are going to be logged
djm@openbsd.org [Mon, 17 Nov 2025 05:24:42 +0000 (05:24 +0000)] 
upstream: don't strnvis() log messages that are going to be logged

by sshd-auth via its parent sshd-session process, as the parent will also run
them though strnvis().

Prevents double-escaping of non-printing characters in some log
messages. bz3896 ok dtucker@

OpenBSD-Commit-ID: d78faad96a98af5269d66ddceee553cf7d396dfe

6 months agoRemove obsolete CVSID.
Darren Tucker [Mon, 17 Nov 2025 10:36:45 +0000 (21:36 +1100)] 
Remove obsolete CVSID.

6 months agoupstream: Ensure both sides of the test are non-NULL instead of just
dtucker@openbsd.org [Mon, 17 Nov 2025 09:59:13 +0000 (09:59 +0000)] 
upstream: Ensure both sides of the test are non-NULL instead of just

either. Coverity CID 443285.

OpenBSD-Regress-ID: aa90e57b1bc8efce9e50734a07a8ffec0680059a

6 months agoMove libcrypto init check into entropy.c.
Darren Tucker [Thu, 13 Nov 2025 12:30:48 +0000 (23:30 +1100)] 
Move libcrypto init check into entropy.c.

This prevents link errors with the openbsd-compat tests when the linker
tries to bring in all the logging bits.

6 months agoseccomp sandbox: allow uname(3)
Icenowy Zheng [Fri, 7 Nov 2025 06:27:35 +0000 (14:27 +0800)] 
seccomp sandbox: allow uname(3)

The uname(3) syscall is utilized by zlib-ng on RISC-V to decide whether
the kernel handles VILL bit of V extension properly (by checking the
kernel version against 6.5).

Allow it in the seccomp sandbox.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
6 months agoRemove remaining OpenSSL_add_all_algorithms() calls.
Darren Tucker [Thu, 13 Nov 2025 11:04:19 +0000 (22:04 +1100)] 
Remove remaining OpenSSL_add_all_algorithms() calls.

We already have OPENSSL_init_crypto() in the compat layer (now with a
check of its return code, prompted by tb@). Prompted by github PR#606
from Dimitri John Ledkov.  ok beck@

6 months agoupstream: Remove calls to OpenSSL_add_all_algorithms()
dtucker@openbsd.org [Thu, 13 Nov 2025 10:35:14 +0000 (10:35 +0000)] 
upstream: Remove calls to OpenSSL_add_all_algorithms()

and ERR_load_crypto_strings(). These are no-ops in LibreSSL, and in
Portable have been mostly replaced by a call to OPENSSL_init_crypto()
in the compat layer.  ok tb@

OpenBSD-Commit-ID: 4c3e0af10fe276766054eda34428a37a5606d3ea

6 months agoupstream: sync support for systems that lack __builtin_popcount() from
djm@openbsd.org [Thu, 13 Nov 2025 05:13:06 +0000 (05:13 +0000)] 
upstream: sync support for systems that lack __builtin_popcount() from

portable

unused on OpenBSD (nothing sets MISSING_BUILTIN_POPCOUNT), but it
makes syncing much easier.

OpenBSD-Commit-ID: 496446300d82615b24f83eca886b8fabdbee445b

6 months agoupstream: update our ML-KEM implementation to upstream libcrux
djm@openbsd.org [Thu, 13 Nov 2025 04:56:23 +0000 (04:56 +0000)] 
upstream: update our ML-KEM implementation to upstream libcrux

v0.0.4

tested/ok tb@

OpenBSD-Commit-ID: 525a62549efbf53492adcb2c57e4872cdbaeed62