]> git.ipfire.org Git - thirdparty/openssh-portable.git/log
thirdparty/openssh-portable.git
12 hours agoRemove "draining" of PAM prompts. master anongit/master github-selfhosted/master github/master
Darren Tucker [Sun, 15 Feb 2026 19:16:56 +0000 (14:16 -0500)] 
Remove "draining" of PAM prompts.

With the previous commit, both prompts and info/error error messages are
returned to keyboard-interactive immedately and none are accumulated, so
there will never be any un-drained prompts.  ok djm@

12 hours agoauth-pam: Immediately report interactive instructions to clients
Marco Trevisan (Treviño) [Tue, 17 Oct 2023 02:27:32 +0000 (04:27 +0200)] 
auth-pam: Immediately report interactive instructions to clients

SSH keyboard-interactive authentication method supports instructions but
sshd didn't show them until an user prompt was requested.

This is quite inconvenient for various PAM modules that need to notify
an user without requiring for their explicit input.

So, properly implement RFC4256 making instructions to be shown to users
when they are requested from PAM.

Closes: https://bugzilla.mindrot.org/show_bug.cgi?id=2876
12 hours agofix duplicate PAM msgs, missing loginmsg reset
Matthew Heller [Mon, 14 Oct 2024 14:25:41 +0000 (09:25 -0500)] 
fix duplicate PAM msgs, missing loginmsg reset

without this change in mm_answer_pam_account all messages added in
auth-pam.c sshpam_query(...) case PAM_SUCCESS end up sent here, then are
still sitting in the loginmsg buffer and printed a second time in
session.c do_login(...)

12 hours agoupstream: Reorder headers to match KNF and Portable.
dtucker@openbsd.org [Mon, 16 Feb 2026 00:45:41 +0000 (00:45 +0000)] 
upstream: Reorder headers to match KNF and Portable.

ID sync only.

OpenBSD-Commit-ID: b7f9700d07b532eb3720f7bd722b952e31b1752f

13 hours agoupstream: Add basic test for keyboard-interactive auth.
dtucker@openbsd.org [Sun, 15 Feb 2026 22:29:30 +0000 (22:29 +0000)] 
upstream: Add basic test for keyboard-interactive auth.

Not enabled by default since it requires some setup on the host.

OpenBSD-Regress-ID: aa8a9608a2ea2e5aaa094c5a5cc453e4797cd902

13 hours agoupstream: remove unneeded includes; ok dtucker@
jsg@openbsd.org [Sat, 14 Feb 2026 00:18:34 +0000 (00:18 +0000)] 
upstream: remove unneeded includes; ok dtucker@

OpenBSD-Commit-ID: bba6e85492276c30c7a9d27dfd3c4c55fa033335

18 hours agoRemove obsolete comment referencing auth-chall.c.
Darren Tucker [Sun, 15 Feb 2026 18:31:52 +0000 (13:31 -0500)] 
Remove obsolete comment referencing auth-chall.c.

It was removed in commit 6cb6dcff along with the rest of the SSH1 server
support.

18 hours agoauth-pam: Add an enum to define the PAM done status
Marco Trevisan (Treviño) [Mon, 16 Oct 2023 19:15:45 +0000 (21:15 +0200)] 
auth-pam: Add an enum to define the PAM done status

Makes things more readable and easier to extend

18 hours agoauth-pam: Add debugging information when we receive PAM messages
Marco Trevisan (Treviño) [Tue, 17 Oct 2023 02:35:17 +0000 (04:35 +0200)] 
auth-pam: Add debugging information when we receive PAM messages

2 days agoRemove DragonFlyBSD workaround for sys/mount.h.
Darren Tucker [Fri, 13 Feb 2026 20:34:44 +0000 (15:34 -0500)] 
Remove DragonFlyBSD workaround for sys/mount.h.

... since we're not not including it at all any more.

2 days agoupstream: Replace <sys/mount.h> with <limits.h>
dtucker@openbsd.org [Fri, 13 Feb 2026 19:06:18 +0000 (19:06 +0000)] 
upstream: Replace <sys/mount.h> with <limits.h>

The former is a portability hassle, but it turns out the only thing we
need from it is PATH_MAX which we can get directly from limits.h.

OpenBSD-Commit-ID: ccfbbd678bef3a3930ae89da456645c3ee5f83c0

2 days agoupstream: remove unneeded forward struct declaration ok djm@
jsg@openbsd.org [Fri, 13 Feb 2026 01:04:47 +0000 (01:04 +0000)] 
upstream: remove unneeded forward struct declaration ok djm@

OpenBSD-Commit-ID: a0c97e919667394bef8dbf31df72af3ba07542e9

4 days agoupstream: very basic testing of multiple files in RevokedKeys and
djm@openbsd.org [Wed, 11 Feb 2026 22:58:23 +0000 (22:58 +0000)] 
upstream: very basic testing of multiple files in RevokedKeys and

RevokedHostkeys

OpenBSD-Regress-ID: 6cee76bcc4bd6840bc8d39dd0d32d724e1427aa7

4 days agoupstream: support multiple files in a ssh_config RevokedHostKeys
djm@openbsd.org [Wed, 11 Feb 2026 22:57:55 +0000 (22:57 +0000)] 
upstream: support multiple files in a ssh_config RevokedHostKeys

directive bz3918; ok dtucker

OpenBSD-Commit-ID: 0ad2eacf836f912f347846ab84760799033dd348

4 days agoupstream: support multiple files in a sshd_config RevokedKeys
djm@openbsd.org [Wed, 11 Feb 2026 22:57:16 +0000 (22:57 +0000)] 
upstream: support multiple files in a sshd_config RevokedKeys

directive bz3918; ok dtucker

OpenBSD-Commit-ID: 9fc58c4e676f8e9ed2e3a0da666242a17b8a55b2

4 days agoupstream: Add includes used in Portable to reduce diffs.
dtucker@openbsd.org [Wed, 11 Feb 2026 17:05:32 +0000 (17:05 +0000)] 
upstream: Add includes used in Portable to reduce diffs.

OpenBSD-Commit-ID: 186c60cf2da0ddb075d5bc4879e87bbd8779b7e4

4 days agoupstream: Remove unused sys/queue.h include.
dtucker@openbsd.org [Wed, 11 Feb 2026 17:03:17 +0000 (17:03 +0000)] 
upstream: Remove unused sys/queue.h include.

OpenBSD-Commit-ID: 564f75672e27f1006f280614934eb304abe69167

4 days agoupstream: Reorder includes and defines to match both KNF and
dtucker@openbsd.org [Wed, 11 Feb 2026 17:01:34 +0000 (17:01 +0000)] 
upstream: Reorder includes and defines to match both KNF and

Portable.

OpenBSD-Commit-ID: f3f179c095f8e4787ded5f450e2842881f6b8ab2

4 days agoFactor out RNG reseeding in to a single function.
Darren Tucker [Wed, 11 Feb 2026 22:36:42 +0000 (17:36 -0500)] 
Factor out RNG reseeding in to a single function.

sshd and sshd-session both reseed the RNG after a fork.  Move the
existing reseed_prngs() function into entropy.c and use for both.
Clean up entropy.h too.  ok djm@

4 days agoRemove do_pam_chauthtok since it's no longer used.
Darren Tucker [Wed, 11 Feb 2026 21:47:27 +0000 (16:47 -0500)] 
Remove do_pam_chauthtok since it's no longer used.

4 days agoupstream: Pass actual size of the buffer to hostname() instead of a
dtucker@openbsd.org [Wed, 11 Feb 2026 16:57:38 +0000 (16:57 +0000)] 
upstream: Pass actual size of the buffer to hostname() instead of a

define that's probably the same.  ok millert@ djm@

OpenBSD-Commit-ID: 7c97b22439100b4193404ccfa1e5f539c5a8d039

4 days agoupstream: De-underscore __inline__ to match -portable
dtucker@openbsd.org [Mon, 9 Feb 2026 22:15:45 +0000 (22:15 +0000)] 
upstream: De-underscore __inline__ to match -portable

(and every other use of it in ssh).  ID sync only.

OpenBSD-Commit-ID: 83c913d5e2345635bc5434167ed67cec5409d494

4 days agoupstream: Remove references to skey auth which is long gone.
dtucker@openbsd.org [Mon, 9 Feb 2026 22:12:48 +0000 (22:12 +0000)] 
upstream: Remove references to skey auth which is long gone.

ID sync only.

OpenBSD-Commit-ID: 0c2340566c399f7f74fe4c5366394974cd6fd122

4 days agoupstream: Remove unused OpenSSL includes,
dtucker@openbsd.org [Mon, 9 Feb 2026 22:11:39 +0000 (22:11 +0000)] 
upstream: Remove unused OpenSSL includes,

that are no longer used, even when building with OPENSSL=yes.

OpenBSD-Commit-ID: e97e3e551ade9aee994b80a1d5851be6f32288e3

4 days agoupstream: Use https for URLs.
dtucker@openbsd.org [Mon, 9 Feb 2026 22:09:48 +0000 (22:09 +0000)] 
upstream: Use https for URLs.

ID sync only.

OpenBSD-Commit-ID: 85b2919e95e6d2bfdeddf5e3b0709fb5b6b4c438

4 days agoupstream: Remove unused OpenSSL includes,
dtucker@openbsd.org [Mon, 9 Feb 2026 21:38:14 +0000 (21:38 +0000)] 
upstream: Remove unused OpenSSL includes,

which are no longer used even when building with OPENSSL=yes.

OpenBSD-Commit-ID: 31adb21bf3f8f5c13cde59229f1b85c20f19a858

4 days agoupstream: Remove now-unused SKEYQUERY enums from monitor_reqtype.
dtucker@openbsd.org [Mon, 9 Feb 2026 21:23:35 +0000 (21:23 +0000)] 
upstream: Remove now-unused SKEYQUERY enums from monitor_reqtype.

ID sync only.

OpenBSD-Commit-ID: dab93b58e69c754887507e5557a81a0b5b84d734

4 days agoupstream: Remove now-unused openssl includes since sshd.c no longer
dtucker@openbsd.org [Mon, 9 Feb 2026 21:21:39 +0000 (21:21 +0000)] 
upstream: Remove now-unused openssl includes since sshd.c no longer

needs them, even when built with OpenSSL.

OpenBSD-Commit-ID: ceaa0394db1520e92d75c37eea58130d44ba93c9

4 days agoDon't create sys/mount.h shim except on DragonFly.
Darren Tucker [Wed, 11 Feb 2026 16:38:58 +0000 (11:38 -0500)] 
Don't create sys/mount.h shim except on DragonFly.

Fixes build on Mac OS X.

6 days agoMinor resync with upstream
Darren Tucker [Mon, 9 Feb 2026 21:55:53 +0000 (08:55 +1100)] 
Minor resync with upstream

Reorder definitions add whitespace to eliminate diffs vs upstream.

6 days agoFactor out COMPATINCLUDES into its own variable.
Darren Tucker [Mon, 9 Feb 2026 20:22:30 +0000 (07:22 +1100)] 
Factor out COMPATINCLUDES into its own variable.

6 days agoProvide compat shims for sys/{mount.h,statvfs.h).
Darren Tucker [Mon, 9 Feb 2026 18:34:46 +0000 (05:34 +1100)] 
Provide compat shims for sys/{mount.h,statvfs.h).

In addition to shimming on platforms that don't have them, we also need to
shim sys/mount.h on DragonFlyBSD since it uses its native STAILQ_ENTRYs
which our compat queues.h does not have, which causes sftp-server.o to
not build.  This is a little icky, but it limits the blast radius to
just one source file on only DragonFly.  ok djm@

6 days agoShim <sys/queue.h> and <sys/tree.h>.
Darren Tucker [Mon, 9 Feb 2026 16:39:45 +0000 (03:39 +1100)] 
Shim <sys/queue.h> and <sys/tree.h>.

This significantly reduces the diff vs upstream making future syncs
less painful.  ok djm@

7 days agoupstream: Reorder headers according to KNF,
dtucker@openbsd.org [Sun, 8 Feb 2026 19:54:31 +0000 (19:54 +0000)] 
upstream: Reorder headers according to KNF,

and pull in a few we don't have from Portable.

OpenBSD-Commit-ID: d83f6c75da7bfb16bbff40fd2133d6eba4aba272

7 days agoupstream: Include sys/socket.h to match -portable,
dtucker@openbsd.org [Sun, 8 Feb 2026 17:51:43 +0000 (17:51 +0000)] 
upstream: Include sys/socket.h to match -portable,

eliminating one diff.

OpenBSD-Commit-ID: 7670fdf35b0c7aee41cd0d6ded86b4792e261f36

7 days agoupstream: Reorder headers as per KNF.
dtucker@openbsd.org [Sun, 8 Feb 2026 17:50:49 +0000 (17:50 +0000)] 
upstream: Reorder headers as per KNF.

OpenBSD-Commit-ID: 3e29fabe20422454fd5d77f85c853e1e557f2181

7 days agoRemove openindiana VM test.
Darren Tucker [Sun, 8 Feb 2026 19:56:35 +0000 (06:56 +1100)] 
Remove openindiana VM test.

When it works it's by far the slowest (>1h to install packages) and the
package installation is flaky.  We can bring it back if their infra ever
improves.

7 days agoSync header order with upstream and KNF.
Darren Tucker [Sun, 8 Feb 2026 19:42:27 +0000 (06:42 +1100)] 
Sync header order with upstream and KNF.

7 days agoSync whitespace with upstream.
Darren Tucker [Sun, 8 Feb 2026 19:41:07 +0000 (06:41 +1100)] 
Sync whitespace with upstream.

7 days agoSync header order with upstream.
Darren Tucker [Sun, 8 Feb 2026 18:02:36 +0000 (05:02 +1100)] 
Sync header order with upstream.

7 days agoRemove generic check for getpagesize.
Darren Tucker [Sun, 8 Feb 2026 17:09:26 +0000 (04:09 +1100)] 
Remove generic check for getpagesize.

We have a more specific check later.

7 days agoTest KERBEROS5=yes builds on OpenBSD.
Darren Tucker [Sun, 8 Feb 2026 16:47:25 +0000 (03:47 +1100)] 
Test KERBEROS5=yes builds on OpenBSD.

7 days agoupstream: Make ssh optionally build with Kerberos 5 against the
dtucker@openbsd.org [Sun, 8 Feb 2026 15:28:01 +0000 (15:28 +0000)] 
upstream: Make ssh optionally build with Kerberos 5 against the

Heimdal port. This updates the Makefiles and repairs some bitrot in headers,
resyncing them against Portable.  To do this, "pkg_add heimdal" then "make
KERBEROS5=yes".  ok djm@

(ID sync only)

OpenBSD-Commit-ID: 31f95c9ba58aa7ba89264f1d80c79106042b1095

7 days agoupstream: Remove sys/poll.h since we also have poll.h.
dtucker@openbsd.org [Sun, 8 Feb 2026 03:30:15 +0000 (03:30 +0000)] 
upstream: Remove sys/poll.h since we also have poll.h.

Also removes one line of diff vs portable.
(ID sync only).

OpenBSD-Commit-ID: 461bd0cd35bfad82bd06892ccb0ff0fac15d1d27

7 days agoupstream: Move setting of user, service and style earlier since
dtucker@openbsd.org [Sun, 8 Feb 2026 00:16:34 +0000 (00:16 +0000)] 
upstream: Move setting of user, service and style earlier since

-portable needs to use these when setting up PAM.  Removes two diffs vs
portable.

OpenBSD-Commit-ID: 8db130d42a3581b7a1eaed65917673d4474fc4fe

7 days agoMove USE_SYSTEM_GLOB into a glob.h compat shim.
Darren Tucker [Sun, 8 Feb 2026 00:30:21 +0000 (11:30 +1100)] 
Move USE_SYSTEM_GLOB into a glob.h compat shim.

This moves the logic for selecting whether or not we can use the system
glob into configure, and if either don't have glob or can't use it, we
create the shim.  Removes several diffs vs upstream.

8 days agoupstream: misc.h is needed for ForwardOptions in servconf.h.
dtucker@openbsd.org [Sat, 7 Feb 2026 18:04:53 +0000 (18:04 +0000)] 
upstream: misc.h is needed for ForwardOptions in servconf.h.

OpenBSD-Commit-ID: b241d81c499e273fc2d81c82d5b7c7b280827416

8 days agoRemove unused <netinet/in_systm.h> includes.
Jonas 'Sortie' Termansen [Sat, 2 Nov 2024 21:30:07 +0000 (22:30 +0100)] 
Remove unused <netinet/in_systm.h> includes.

netinet/in_systm.h is no longer in upstream and anything that actually
needs it will get it from includes.h.

8 days agoupstream: Also check for EWOULDBLOCK on system error. This is the
dtucker@openbsd.org [Sat, 7 Feb 2026 17:10:34 +0000 (17:10 +0000)] 
upstream: Also check for EWOULDBLOCK on system error. This is the

same as EAGAIN on OpenBSD so is a no-op but removes a diff making portable
syncs easier.  (ID sync only).

OpenBSD-Commit-ID: 68a5dcc5e2a506208c40396c6366f67bbf3b1dbe

8 days 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

8 days 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.

8 days 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.

8 days 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.

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

8 days 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).

8 days 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>
9 days 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

9 days 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

9 days 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

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

9 days 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

9 days 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.

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

9 days 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.

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

9 days 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.

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

10 days 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

10 days 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

2 weeks 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

2 weeks 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

3 weeks 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

3 weeks 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

3 weeks 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

6 weeks 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

6 weeks 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

6 weeks 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

6 weeks 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

6 weeks 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

6 weeks 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

6 weeks 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

7 weeks 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.

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

2 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

2 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

2 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