]> git.ipfire.org Git - thirdparty/openssh-portable.git/log
thirdparty/openssh-portable.git
10 months agofix utmpx ifdef
Christoph Ostarek [Wed, 3 Jul 2024 10:46:59 +0000 (12:46 +0200)] 
fix utmpx ifdef

02e16ad95fb1f56ab004b01a10aab89f7103c55d did a copy-paste for
utmpx, but forgot to change the ifdef appropriately

10 months agoupstream: remove some unused defines; ok djm@
jsg@openbsd.org [Sun, 22 Sep 2024 12:56:21 +0000 (12:56 +0000)] 
upstream: remove some unused defines; ok djm@

OpenBSD-Commit-ID: 81869ee6356fdbff19dae6ff757095e6b24de712

10 months agoupstream: remove unneeded semicolons; checked by millert@
jsg@openbsd.org [Fri, 20 Sep 2024 02:00:46 +0000 (02:00 +0000)] 
upstream: remove unneeded semicolons; checked by millert@

OpenBSD-Commit-ID: 3fb621a58e04b759a875ad6a33f35bb57ca80231

10 months agoAdd 9.9 branch to CI status console.
Darren Tucker [Mon, 23 Sep 2024 10:52:31 +0000 (20:52 +1000)] 
Add 9.9 branch to CI status console.

10 months agoupdate version numbers
Damien Miller [Thu, 19 Sep 2024 22:20:13 +0000 (08:20 +1000)] 
update version numbers

10 months agoupstream: openssh-9.9
djm@openbsd.org [Thu, 19 Sep 2024 22:17:44 +0000 (22:17 +0000)] 
upstream: openssh-9.9

OpenBSD-Commit-ID: 303417285f1a73b9cb7a2ae78d3f493bbbe31f98

10 months agoinclude openbsd-compat/base64.c license in LICENSE
Damien Miller [Wed, 18 Sep 2024 06:03:23 +0000 (16:03 +1000)] 
include openbsd-compat/base64.c license in LICENSE

10 months agoconditionally include mman.h in arc4random code
Damien Miller [Tue, 17 Sep 2024 23:01:23 +0000 (09:01 +1000)] 
conditionally include mman.h in arc4random code

11 months agofix bug in recently-added sntrup761 fuzzer
Damien Miller [Tue, 17 Sep 2024 01:53:24 +0000 (11:53 +1000)] 
fix bug in recently-added sntrup761 fuzzer

key values need to be static to persist across invocations;
spotted by the Qualys Security Advisory team.

11 months agoupstream: use 64 bit math to avoid signed underflow. upstream code
djm@openbsd.org [Mon, 16 Sep 2024 05:37:05 +0000 (05:37 +0000)] 
upstream: use 64 bit math to avoid signed underflow. upstream code

relies on using -fwrapv to provide defined over/underflow behaviour, but we
use -ftrapv to catch integer errors and abort the program. ok dtucker@

OpenBSD-Commit-ID: 8933369b33c17b5f02479503d0a92d87bc3a574b

11 months agoupstream: minor grammar/sort fixes for refuseconnection; ok djm
jmc@openbsd.org [Sun, 15 Sep 2024 08:27:38 +0000 (08:27 +0000)] 
upstream: minor grammar/sort fixes for refuseconnection; ok djm

OpenBSD-Commit-ID: 1c81f37b138b8b66abba811fec836388a0f3e6da

11 months agoavoid gcc warning in fuzz test
Damien Miller [Sun, 15 Sep 2024 03:30:13 +0000 (13:30 +1000)] 
avoid gcc warning in fuzz test

11 months agoupstream: bad whitespace in config dump output
djm@openbsd.org [Sun, 15 Sep 2024 03:09:44 +0000 (03:09 +0000)] 
upstream: bad whitespace in config dump output

OpenBSD-Commit-ID: d899c13b0e8061d209298eaf58fe53e3643e967c

11 months agouse construct_utmp to construct btmp records
Damien Miller [Sun, 15 Sep 2024 02:53:59 +0000 (12:53 +1000)] 
use construct_utmp to construct btmp records

Simpler and removes some code with the old-style BSD license.

11 months agoupstream: update the Streamlined NTRU Prime code from the "ref"
djm@openbsd.org [Sun, 15 Sep 2024 02:20:51 +0000 (02:20 +0000)] 
upstream: update the Streamlined NTRU Prime code from the "ref"

implementation in SUPERCOP 20201130 to the "compact" implementation in
SUPERCOP 20240808. The new version is substantially faster. Thanks to Daniel
J Bernstein for pointing out the new implementation (and of course for
writing it).

tested in snaps/ok deraadt@

OpenBSD-Commit-ID: bf1a77924c125ecdbf03e2f3df8ad13bd3dafdcb

11 months agoupstream: document Match invalid-user
djm@openbsd.org [Sun, 15 Sep 2024 01:19:56 +0000 (01:19 +0000)] 
upstream: document Match invalid-user

OpenBSD-Commit-ID: 2c84a9b517283e9711e2812c1f268081dcb02081

11 months agoupstream: add a "Match invalid-user" predicate to sshd_config Match
djm@openbsd.org [Sun, 15 Sep 2024 01:18:26 +0000 (01:18 +0000)] 
upstream: add a "Match invalid-user" predicate to sshd_config Match

options.

This allows writing Match conditions that trigger for invalid username.
E.g.

PerSourcePenalties refuseconnection:90s
Match invalid-user
 RefuseConnection yes

Will effectively penalise bots try to guess passwords for bogus accounts,
at the cost of implicitly revealing which accounts are invalid.

feedback markus@

OpenBSD-Commit-ID: 93d3a46ca04bbd9d84a94d1e1d9d3a21073fbb07

11 months agoupstream: Add a "refuseconnection" penalty class to sshd_config
djm@openbsd.org [Sun, 15 Sep 2024 01:11:26 +0000 (01:11 +0000)] 
upstream: Add a "refuseconnection" penalty class to sshd_config

PerSourcePenalties

This allows penalising connection sources that have had connections
dropped by the RefuseConnection option. ok markus@

OpenBSD-Commit-ID: 3c8443c427470bb3eac1880aa075cb4864463cb6

11 months agoupstream: Add a sshd_config "RefuseConnection" option
djm@openbsd.org [Sun, 15 Sep 2024 01:09:40 +0000 (01:09 +0000)] 
upstream: Add a sshd_config "RefuseConnection" option

If set, this will terminate the connection at the first authentication
request (this is the earliest we can evaluate sshd_config Match blocks)

ok markus@

OpenBSD-Commit-ID: 43cc2533984074c44d0d2f92eb93f661e7a0b09c

11 months agoupstream: switch sshd_config Match processing to the argv tokeniser
djm@openbsd.org [Sun, 15 Sep 2024 00:58:01 +0000 (00:58 +0000)] 
upstream: switch sshd_config Match processing to the argv tokeniser

too; ok markus@

OpenBSD-Commit-ID: b74b5b0385f2e0379670e2b869318a65b0bc3923

11 months agoupstream: switch "Match" directive processing over to the argv
djm@openbsd.org [Sun, 15 Sep 2024 00:57:36 +0000 (00:57 +0000)] 
upstream: switch "Match" directive processing over to the argv

string tokeniser, making it possible to use shell-like quoting in Match
directives, particularly "Match exec". ok markus@

OpenBSD-Commit-ID: 0877309650b76f624b2194c35dbacaf065e769a5

11 months agoupstream: include pathname in some of the ssh-keygen passphrase
djm@openbsd.org [Sun, 15 Sep 2024 00:47:01 +0000 (00:47 +0000)] 
upstream: include pathname in some of the ssh-keygen passphrase

prompts. Helps the user know what's going on when ssh-keygen is invoked via
other tools. Requested in GHPR503

OpenBSD-Commit-ID: 613b0bb6cf845b7e787d69a5b314057ceda6a8b6

11 months agoupstream: Do not apply authorized_keys options when signature
djm@openbsd.org [Sun, 15 Sep 2024 00:41:18 +0000 (00:41 +0000)] 
upstream: Do not apply authorized_keys options when signature

verification fails. Prevents restrictive key options being incorrectly
applied to subsequent keys in authorized_keys. bz3733, ok markus@

OpenBSD-Commit-ID: ba3776d9da4642443c19dbc015a1333622eb5a4e

11 months agoFix without_openssl always being set to 1
Wu Weixin [Fri, 2 Aug 2024 14:16:40 +0000 (22:16 +0800)] 
Fix without_openssl always being set to 1

In Fedora systems, %{?rhel} is empty. In RHEL systems, %{?fedora} is
empty. Therefore, the original code always sets without_openssl to 1.

11 months agoupstream: Relax absolute path requirement back to what it was prior to
djm@openbsd.org [Thu, 12 Sep 2024 00:36:27 +0000 (00:36 +0000)] 
upstream: Relax absolute path requirement back to what it was prior to

OpenSSH 9.8, which incorrectly required that sshd was started with an
absolute path in inetd mode. bz3717, patch from Colin Wilson

OpenBSD-Commit-ID: 25c57f22764897242d942853f8cccc5e991ea058

11 months agoupstream: document the mlkem768x25519-sha256 key exchange algorithm
naddy@openbsd.org [Mon, 9 Sep 2024 14:41:21 +0000 (14:41 +0000)] 
upstream: document the mlkem768x25519-sha256 key exchange algorithm

OpenBSD-Commit-ID: fa18dccdd9753dd287e62ecab189b3de45672521

11 months agoSpell omnios test host correctly.
Darren Tucker [Tue, 10 Sep 2024 11:11:14 +0000 (21:11 +1000)] 
Spell omnios test host correctly.

11 months agoAdd omnios test target.
Darren Tucker [Tue, 10 Sep 2024 08:52:02 +0000 (18:52 +1000)] 
Add omnios test target.

11 months agoWrap stdint.h in ifdef.
Darren Tucker [Tue, 10 Sep 2024 08:45:55 +0000 (18:45 +1000)] 
Wrap stdint.h in ifdef.

11 months agoAlso test PAM on dfly64.
Darren Tucker [Mon, 9 Sep 2024 09:31:54 +0000 (19:31 +1000)] 
Also test PAM on dfly64.

11 months agostubs for ML-KEM KEX functions
Damien Miller [Mon, 9 Sep 2024 11:50:14 +0000 (21:50 +1000)] 
stubs for ML-KEM KEX functions

used for C89 compilers

11 months agodeclare defeat trying to detect C89 compilers
Damien Miller [Mon, 9 Sep 2024 07:30:38 +0000 (17:30 +1000)] 
declare defeat trying to detect C89 compilers

I can't find a reliable way to detect the features the ML-KEM code
requires in configure. Give up for now and use VLA support (that we
can detect) as a proxy for "old compiler" and turn off ML-KEM if
it isn't supported.

11 months agofix previous; check for C99 compound literals
Damien Miller [Mon, 9 Sep 2024 06:46:40 +0000 (16:46 +1000)] 
fix previous; check for C99 compound literals

The previous commit was incorrect (or at least insufficient), the
ML-KEM code is actually using compound literals, so test for them.

11 months agotest for compiler feature needed for ML-KEM
Damien Miller [Mon, 9 Sep 2024 06:06:21 +0000 (16:06 +1000)] 
test for compiler feature needed for ML-KEM

The ML-KEM implementation we uses need the compiler to support
C99-style named struct initialisers (e.g foo = {.bar = 1}). We
still support (barely) building OpenSSH with older compilers, so
add a configure test for this.

11 months agoupstream: test mlkem768x25519-sha256
djm@openbsd.org [Mon, 9 Sep 2024 03:13:39 +0000 (03:13 +0000)] 
upstream: test mlkem768x25519-sha256

OpenBSD-Regress-ID: 7baf6bc39ae55648db1a2bfdc55a624954847611

11 months agoupstream: pull post-quantum ML-KEM/x25519 key exchange out from
djm@openbsd.org [Mon, 9 Sep 2024 02:39:57 +0000 (02:39 +0000)] 
upstream: pull post-quantum ML-KEM/x25519 key exchange out from

compile-time flag now than an IANA codepoint has been assigned for the
algorithm.

Add mlkem768x25519-sha256 in 2nd KexAlgorithms preference slot.

ok markus@

OpenBSD-Commit-ID: 9f50a0fae7d7ae8b27fcca11f8dc6f979207451a

11 months agoupstream: make parsing user@host consistently look for the last '@' in
djm@openbsd.org [Fri, 6 Sep 2024 02:30:44 +0000 (02:30 +0000)] 
upstream: make parsing user@host consistently look for the last '@' in

the string rather than the first. This makes it possible to use usernames
that contain '@' characters.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Prompted by Max Zettlmeißl; feedback/ok millert@

OpenBSD-Commit-ID: 0b16eec246cda15469ebdcf3b1e2479810e394c5

11 months agoupstream: be more strict in parsing key type names. Only allow
djm@openbsd.org [Wed, 4 Sep 2024 05:33:34 +0000 (05:33 +0000)] 
upstream: be more strict in parsing key type names. Only allow

shortnames (e.g "rsa") in user-interface code and require full SSH protocol
names (e.g. "ssh-rsa") everywhere else.

Prompted by bz3725; ok markus@

OpenBSD-Commit-ID: b3d8de9dac37992eab78adbf84fab2fe0d84b187

11 months agoupstream: fix RCSID in output
djm@openbsd.org [Wed, 4 Sep 2024 05:11:33 +0000 (05:11 +0000)] 
upstream: fix RCSID in output

OpenBSD-Commit-ID: 889ae07f2d2193ddc4351711919134664951dd76

11 months agoupstream: envrionment -> environment;
jmc@openbsd.org [Tue, 3 Sep 2024 06:17:48 +0000 (06:17 +0000)] 
upstream: envrionment -> environment;

OpenBSD-Commit-ID: b719f39c20e8c671ec6135c832d6cc67a595af9c

11 months agoadd basic fuzzers for our import of sntrup761
Damien Miller [Wed, 4 Sep 2024 05:35:29 +0000 (15:35 +1000)] 
add basic fuzzers for our import of sntrup761

11 months agoupstream: regression test for Include variable expansion
djm@openbsd.org [Tue, 3 Sep 2024 05:58:56 +0000 (05:58 +0000)] 
upstream: regression test for Include variable expansion

OpenBSD-Regress-ID: 35477da3ba1abd9ca64bc49080c50a9c1350c6ca

11 months agoupstream: allow the "Include" directive to expand the same set of
djm@openbsd.org [Tue, 3 Sep 2024 05:29:55 +0000 (05:29 +0000)] 
upstream: allow the "Include" directive to expand the same set of

%-tokens that "Match Exec" and environment variables.

ok dtucker@

OpenBSD-Commit-ID: 12ef521eaa966a9241e684258564f52f1f3c5d37

11 months agoupstream: missing ifdef
djm@openbsd.org [Mon, 2 Sep 2024 12:18:35 +0000 (12:18 +0000)] 
upstream: missing ifdef

OpenBSD-Commit-ID: 85f09da957dd39fd0abe08fe5ee19393f25c2021

11 months agoupstream: Add experimental support for hybrid post-quantum key exchange
djm@openbsd.org [Mon, 2 Sep 2024 12:13:56 +0000 (12:13 +0000)] 
upstream: Add experimental support for hybrid post-quantum key exchange

ML-KEM768 with ECDH/X25519 from the Internet-draft:
https://datatracker.ietf.org/doc/html/draft-kampanakis-curdle-ssh-pq-ke-03

This is based on previous patches from markus@ but adapted to use the
final FIPS203 standard ML-KEM using a formally-verified implementation
from libcrux.

Note this key exchange method is still a draft and thus subject to
change. It is therefore disabled by default; set MLKEM=yes to build it.
We're making it available now to make it easy for other SSH
implementations to test against it.

ok markus@ deraadt@

OpenBSD-Commit-ID: 02a8730a570b63fa8acd9913ec66353735dea42c

11 months agoDon't skip audit before exitting cleanup_exit
Antonio Larrosa [Fri, 23 Aug 2024 10:21:06 +0000 (12:21 +0200)] 
Don't skip audit before exitting cleanup_exit

This fixes an issue where the SSH_CONNECTION_ABANDON event is not
audited because cleanup_exit overrides the regular _exit too soon and
as a result, failed auth attempts are not logged correctly.

The problem was introduced in 81c1099d22b81ebfd20a334ce986c4f753b0db29
where the code from upstream was merged before the audit_event call when
it should have been merged right before the _exit call in order to honor
the comment that just mentions an override of the exit value.

11 months agoupstream: fix test: -F is the argument to specify a non-default
djm@openbsd.org [Wed, 28 Aug 2024 12:08:26 +0000 (12:08 +0000)] 
upstream: fix test: -F is the argument to specify a non-default

ssh_config, not -f (this is sadly not a new bug)

OpenBSD-Regress-ID: 45a7bda4cf33f2cea218507d8b6a55cddbcfb322

11 months agoupstream: As defined in the RFC, the SSH protocol has negotiable
deraadt@openbsd.org [Fri, 23 Aug 2024 04:51:00 +0000 (04:51 +0000)] 
upstream: As defined in the RFC, the SSH protocol has negotiable

compression support (which is requested as the name "zlib"). Compression
starts very early in the session. Relative early in OpenSSH lifetime, privsep
was added to sshd, and this required a shared-memory hack so the two
processes could see what was going on in the dataflow.  This shared-memory
hack was soon recognized as a tremendous complexity risk, because it put libz
(which very much trusts it's memory) in a dangerous place, and a new option
("zlib@openssh.com") was added begins compression after authentication (aka
delayed-compression).  That change also permitted removal of the
shared-memory hack. Despite removal from the server, the old "zlib" support
remained in the client, to allow negotiation with non-OpenSSH daemons which
lack the delayed-compression option. This commit deletes support for the
older "zlib" option in the client. It reduces our featureset in a small way,
and encourages other servers to move to a better design. The SSH protocol is
different enough that compressed-key-material attacks like BEAST are
unlikely, but who wants to take the chance? We encourage other ssh servers
who care about optional compression support to add delayed-zlib support.
(Some already do "zlib@openssh.com") ok djm markus

OpenBSD-Commit-ID: 6df986f38e4ab389f795a6e39e7c6857a763ba72

11 months agoupstream: sntrup761x25519-sha512 now has an IANA codepoint assigned, so
djm@openbsd.org [Thu, 22 Aug 2024 23:11:30 +0000 (23:11 +0000)] 
upstream: sntrup761x25519-sha512 now has an IANA codepoint assigned, so

we can make the algorithm available without the @openssh.com suffix too. ok
markus@ deraadt@

OpenBSD-Commit-ID: eeed8fcde688143a737729d3d56d20ab4353770f

11 months agoMove rekey test into valgrind-2.
Darren Tucker [Thu, 22 Aug 2024 10:36:12 +0000 (20:36 +1000)] 
Move rekey test into valgrind-2.

Now that the rekey test has been optimized it's fast enough to not be in
its own valgrind test, so move it into valgrind-2, which is currently
the quickest of the others, bringing all of them to roughly the same
runtime of ~1.1 hours.

11 months agoupstream: Use aes128-ctr for MAC tests since default has implicit MAC.
dtucker@openbsd.org [Thu, 22 Aug 2024 10:21:02 +0000 (10:21 +0000)] 
upstream: Use aes128-ctr for MAC tests since default has implicit MAC.

Also verify that the Cipher or MAC we intended to use is actually the one
selected during the test.

OpenBSD-Regress-ID: ff43fed30552afe23d1364526fe8cf88cbfafe1d

11 months agofix incorrect default for PasswordAuthentication
Damien Miller [Wed, 21 Aug 2024 23:45:49 +0000 (09:45 +1000)] 
fix incorrect default for PasswordAuthentication

merge botch spotted by gsgleason

11 months agoupstream: Some awks won't match on the \r so delete it instead. Fixes
dtucker@openbsd.org [Wed, 21 Aug 2024 10:33:27 +0000 (10:33 +0000)] 
upstream: Some awks won't match on the \r so delete it instead. Fixes

regress in portable on, eg Solaris.

OpenBSD-Regress-ID: 44a96d6d2f8341d89b7d5fff777502b92ac9e9ba

11 months agoupstream: Import regenerated moduli.
dtucker@openbsd.org [Wed, 21 Aug 2024 07:06:27 +0000 (07:06 +0000)] 
upstream: Import regenerated moduli.

OpenBSD-Commit-ID: 5db7049ad5558dee5b2079d3422e8ddab187c1cc

11 months agoupstream: Use curve25519-sha256 kex where possible.
dtucker@openbsd.org [Wed, 21 Aug 2024 06:59:08 +0000 (06:59 +0000)] 
upstream: Use curve25519-sha256 kex where possible.

Except where we're explicitly testing a different kex, use
curve25519-sha256 since it's faster than the default and supported even
when configured without OpenSSL.  Add a check to ensure that the kex we
intended to test is the one we actually tested. Speeds test up by ~5%.

OpenBSD-Regress-ID: 3b27fcc2ae953cb08fd82a0d3155c498b226d6e0

11 months agoupstream: Send only as much data as needed to trigger rekeying. Speeds
dtucker@openbsd.org [Tue, 20 Aug 2024 12:36:59 +0000 (12:36 +0000)] 
upstream: Send only as much data as needed to trigger rekeying. Speeds

up tests by about 10% in the common case, hopefully more when instrumented
with something like valgrind.

OpenBSD-Regress-ID: 7bf9292b4803357efcf0baf7cfbdc8521f212da1

11 months agosimplify sshkey_prekey_alloc(); always use mmap
Damien Miller [Tue, 20 Aug 2024 23:18:29 +0000 (09:18 +1000)] 
simplify sshkey_prekey_alloc(); always use mmap

11 months agoupstream: Merge AEAD test into main test loop.
dtucker@openbsd.org [Tue, 20 Aug 2024 09:15:49 +0000 (09:15 +0000)] 
upstream: Merge AEAD test into main test loop.

Removes 3 duplicate tests and speeds overall test up by about 1%.

OpenBSD-Regress-ID: 5e5c9ff3f7588091ed369e34ac28520490ad2619

11 months agoupstream: Set a default RekeyLimit of 256k.
dtucker@openbsd.org [Tue, 20 Aug 2024 09:02:45 +0000 (09:02 +0000)] 
upstream: Set a default RekeyLimit of 256k.

Used unless overridden by a command-line flag, which simplifies some of
the ssh command lines.

OpenBSD-Regress-ID: e7cffa57027088e10336e412b34113969f88cb87

11 months agoupstream: Add Compression=no to default ssh_config.
dtucker@openbsd.org [Tue, 20 Aug 2024 07:52:43 +0000 (07:52 +0000)] 
upstream: Add Compression=no to default ssh_config.

All of the rekey tests use it (otherwise the encrypted byte counts would
not match) so this lets us simplify the command lines.

OpenBSD-Regress-ID: dab7ce10f4cf6c68827eb8658141272aab3ea262

11 months agoupstream: Remove duplicate curve25519-sha256 kex.
dtucker@openbsd.org [Tue, 20 Aug 2024 07:41:35 +0000 (07:41 +0000)] 
upstream: Remove duplicate curve25519-sha256 kex.

curve25519-sha256@libssh.org is the pre-standardization name for the same
thing, so remove it as a duplicate.  Speeds up test by a tiny amount.

OpenBSD-Regress-ID: 5a5ee5fa1595a6e140b1cc16040bedf5996a5715

11 months agoupstream: Unnest rekey param parsing test and use ssh not sshd.
dtucker@openbsd.org [Tue, 20 Aug 2024 07:27:25 +0000 (07:27 +0000)] 
upstream: Unnest rekey param parsing test and use ssh not sshd.

ssh uses the same parsing code, now has "-G" to dump its config and is
slightly faster to start up.  This speeds up the test slightly (~5%) in the
common case but should help more during instrumented tests, eg under
valgrind, where startup costs are magnified.

OpenBSD-Regress-ID: 07c3acaf4c728e641033071f4441afc88141b0d0

11 months agoupstream: actually use the length parameter that was passed in rather
djm@openbsd.org [Tue, 20 Aug 2024 11:10:04 +0000 (11:10 +0000)] 
upstream: actually use the length parameter that was passed in rather

than a constant (this makes no difference in practice because the length is
always the same); reported by martin AT nmkd.net

OpenBSD-Commit-ID: 4aecce232c2fe9b16e9217ff6bcb3c848d853e7e

11 months agoprivate key coredump protection for Linux/FreeBSD
Damien Miller [Tue, 20 Aug 2024 03:55:30 +0000 (13:55 +1000)] 
private key coredump protection for Linux/FreeBSD

platforms not supporting coredump exclusion using mmap/madvise flags
fall back to plain old malloc(3).

11 months agoupstream: place shielded keys (i.e. keys at rest in RAM) into memory
djm@openbsd.org [Tue, 20 Aug 2024 03:48:30 +0000 (03:48 +0000)] 
upstream: place shielded keys (i.e. keys at rest in RAM) into memory

allocated using mmap(3) with MAP_CONCEAL set. This prevents exposure of the
key material in coredumps, etc (this is in addition to other measures we take
in this area).

ok deraadt@

OpenBSD-Commit-ID: cbbae59f337a00c9858d6358bc65f74e62261369

12 months agoupstream: mention that ed25519 is the default key type generated and
djm@openbsd.org [Sat, 17 Aug 2024 08:35:04 +0000 (08:35 +0000)] 
upstream: mention that ed25519 is the default key type generated and

clarify that rsa-sha2-512 is the default signature scheme when RSA is in use.
Based on GHPR505 from SebastianRzk

OpenBSD-Commit-ID: 1d90df71636a04601685d2a10a8233bcc8d4f4c5

12 months agoupstream: fix minor memory leak in Subsystem option parsing; from
djm@openbsd.org [Sat, 17 Aug 2024 08:23:04 +0000 (08:23 +0000)] 
upstream: fix minor memory leak in Subsystem option parsing; from

Antonio Larrosa via GHPR515

OpenBSD-Commit-ID: fff3bbefd1b2c45c98cbe45c6b857b15d8a2d364

12 months agoupstream: fix swapping of source and destination addresses in some sshd
djm@openbsd.org [Sat, 17 Aug 2024 08:09:50 +0000 (08:09 +0000)] 
upstream: fix swapping of source and destination addresses in some sshd

log messages

OpenBSD-Commit-ID: 24d4cbb86325275df1f037545aa3b91456e52d25

12 months agoAdd compat functions for EVP_Digest{Sign,Verify}.
Darren Tucker [Sat, 17 Aug 2024 01:10:19 +0000 (11:10 +1000)] 
Add compat functions for EVP_Digest{Sign,Verify}.

This should make LibreSSL 3.1.x through 3.3.x work again.  Code from
tb@, ok djm@.  Restore the test configs covering those.

12 months agomake sure that usage & man page match
Philip Hands [Thu, 8 Aug 2024 11:03:51 +0000 (13:03 +0200)] 
make sure that usage & man page match

SSH-Copy-ID-Upstream: da5b1abe55b72a16e0430e7598e1573da01779c0

12 months agoupdate copyright notices
Philip Hands [Thu, 8 Aug 2024 11:01:47 +0000 (13:01 +0200)] 
update copyright notices

Bump the year to 2024, but also reflect the fact that hands.com Ltd. has
been wound up in the UK, and its assets (including this copyright) have
now reverted to its owner, Philip Hands.

SSH-Copy-ID-Upstream: 0e4c4d072747a6568b11a790c29dd1b4ce663d7f

12 months agorestore optionality of -i's argument
Philip Hands [Sun, 4 Aug 2024 18:45:00 +0000 (20:45 +0200)] 
restore optionality of -i's argument

SSH-Copy-ID-Upstream: f70e3abb510e4eeb040b47894e41828246c1b720

12 months agoavoid exploring .ssh/id*.pub subdirectories
Philip Hands [Fri, 2 Aug 2024 13:52:07 +0000 (15:52 +0200)] 
avoid exploring .ssh/id*.pub subdirectories

SSH-Copy-ID-Upstream: 0b9e08b7707ad16de3c8e6a0410d9f42fbd56997

12 months agoensure that we're always told the source of keys
Philip Hands [Fri, 2 Aug 2024 08:07:11 +0000 (10:07 +0200)] 
ensure that we're always told the source of keys

SSH-Copy-ID-Upstream: 1bee96f4793e8ec3fab9f9361204ae58f5cc7cae

12 months agoadd $HOME to ERROR if one cannot write to ~/.ssh
Philip Hands [Wed, 31 Jul 2024 21:19:51 +0000 (23:19 +0200)] 
add $HOME to ERROR if one cannot write to ~/.ssh

SSH-Copy-ID-Upstream: ebef3e9c06e0447bff06e9d84b33023cf592e0ba

12 months agoassert that SCRATCH_DIR is a writable directory
Philip Hands [Wed, 31 Jul 2024 21:19:03 +0000 (23:19 +0200)] 
assert that SCRATCH_DIR is a writable directory

SSH-Copy-ID-Upstream: ecb2b9d10883b9a16df56c83896c9bb47a80cde2

12 months agoquote to avoid potential for word splitting
Philip Hands [Wed, 31 Jul 2024 21:17:54 +0000 (23:17 +0200)] 
quote to avoid potential for word splitting

SSH-Copy-ID-Upstream: f379adbe06ac2ef1daf0f130752234c7f8b97e3c

12 months agoensure ERROR output goes to STDERR
Philip Hands [Wed, 31 Jul 2024 21:15:11 +0000 (23:15 +0200)] 
ensure ERROR output goes to STDERR

SSH-Copy-ID-Upstream: ac394b05eead3b91feb7c2ae4129a3e9b892f1e2

12 months agoavoid extra space when no arg given to -i option
Philip Hands [Thu, 1 Aug 2024 12:03:06 +0000 (14:03 +0200)] 
avoid extra space when no arg given to -i option

SSH-Copy-ID-Upstream: feca9e67e6e37c5653445d1c733569d7abb1770e

12 months agoput the -i before -[pP] (matching man pages)
Philip Hands [Wed, 31 Jul 2024 21:28:36 +0000 (23:28 +0200)] 
put the -i before -[pP] (matching man pages)

The man pages (ssh, sftp & ssh-copy-id) all list -i before the port
setting, so make the output match that order, which also seems more
natural with the port being next to the server.

SSH-Copy-ID-Upstream: 34d5d614172c78f9a42249466c4b81975b8883a1

12 months agoMinor space issue fixed
Shreyas Mahangade [Mon, 29 Jul 2024 15:26:05 +0000 (15:26 +0000)] 
Minor space issue fixed

SSH-Copy-ID-Upstream: 335e44d7be78b03962a54c3a5c99a2ff45294a54

12 months agoShow identity file in 'ssh' command
Shreyas Mahangade [Mon, 29 Jul 2024 11:25:28 +0000 (16:55 +0530)] 
Show identity file in 'ssh' command

- Previously no identity file is shown in "ssh" command output on the line "Now try logging into the..."
- This commit makes sure whenever "ssh-copy-id" with "-i" is invoked, it also reflects in "ssh" command

SSH-Copy-ID-Upstream: 58e022ec26cb2315eb3be581d01e0ba787082428

12 months agomore OPENSSL_HAS_ECC
Damien Miller [Thu, 15 Aug 2024 22:30:20 +0000 (08:30 +1000)] 
more OPENSSL_HAS_ECC

12 months agofix merge botch that broke !OPENSSL_HAS_ECC
Damien Miller [Thu, 15 Aug 2024 13:35:54 +0000 (23:35 +1000)] 
fix merge botch that broke !OPENSSL_HAS_ECC

12 months agomissed OPENSSL_HAS_ECC case
Damien Miller [Thu, 15 Aug 2024 05:09:45 +0000 (15:09 +1000)] 
missed OPENSSL_HAS_ECC case

12 months agoretire testing aginst older LibreSSL versions
Damien Miller [Thu, 15 Aug 2024 05:06:55 +0000 (15:06 +1000)] 
retire testing aginst older LibreSSL versions

libressl prior to 3.4.x lack support for the EVP_DigestSign and
EVP_DigestVerify APIs that we need now that sshkey is converted
to EVP_PKEY.

If someone makes a good case for why we should support these versions
then we could bring back support with wrappers.

12 months agosync TEST_MALLOC_OPTIONS for OpenBSD
Damien Miller [Thu, 15 Aug 2024 02:44:17 +0000 (12:44 +1000)] 
sync TEST_MALLOC_OPTIONS for OpenBSD

12 months agoremove gratuitious difference from OpenBSD
Damien Miller [Thu, 15 Aug 2024 02:43:47 +0000 (12:43 +1000)] 
remove gratuitious difference from OpenBSD

12 months agoupstream: adapt to EVP_PKEY conversion
djm@openbsd.org [Thu, 15 Aug 2024 00:52:23 +0000 (00:52 +0000)] 
upstream: adapt to EVP_PKEY conversion

OpenBSD-Regress-ID: 0e2d4efb0ed0e392e23cd8fda183fe56531ac446

12 months agoupstream: test transfers in mux proxy mode too
djm@openbsd.org [Fri, 19 Jul 2024 04:33:36 +0000 (04:33 +0000)] 
upstream: test transfers in mux proxy mode too

OpenBSD-Regress-ID: 2edfc980628cfef3550649cab8d69fa23b5cd6c4

12 months agoupstream: Convert RSA and ECDSA key to the libcrypto EVP_PKEY API.
djm@openbsd.org [Thu, 15 Aug 2024 00:51:51 +0000 (00:51 +0000)] 
upstream: Convert RSA and ECDSA key to the libcrypto EVP_PKEY API.

DSA remains unconverted as it will be removed within six months.

Based on patches originally from Dmitry Belyavskiy, but significantly
reworked based on feedback from Bob Beck, Joel Sing and especially
Theo Buehler (apologies to anyone I've missed).

ok tb@

OpenBSD-Commit-ID: d098744e89f1dc7e5952a6817bef234eced648b5

12 months agoupstream: Reorder calloc arguments
tobias@openbsd.org [Wed, 14 Aug 2024 15:42:18 +0000 (15:42 +0000)] 
upstream: Reorder calloc arguments

The first argument should be the amount, the second argument should be the
element size. Fixing this also silences some gcc compiler warnings for
portable.

Spotted with Benny Baumann (BenBE at geshi dot org).

ok djm@

OpenBSD-Commit-ID: 711ad6f7bd7fb48bf52208f2cf9f108cddb6d41a

12 months agoupstream: Extend sshbuf validation
tobias@openbsd.org [Wed, 14 Aug 2024 15:40:30 +0000 (15:40 +0000)] 
upstream: Extend sshbuf validation

Multiple sshbuf structs can be linked through a parent/child relationship.
Make sure that a single sshbuf cannot be its own parent. If this would ever
happen, it would result in reference counting issues.

This is a cheap way of testing this with very little overhead. It does not
detect A->B->A linkages though for performance reason and the fact that it
takes a programming error for this to occur anyway.

Authored with Benny Baumann (BenBE at geshi dot org).

ok djm@

OpenBSD-Commit-ID: fb3fa9ee2cad3c7e842ebadfd7f5db220c4aaf16

12 months agoupstream: Use freezero for better readability
tobias@openbsd.org [Wed, 14 Aug 2024 15:37:11 +0000 (15:37 +0000)] 
upstream: Use freezero for better readability

It has the same meaning as the current pair of calling explicit_bzero
and free. Spotted with Benny Baumann (BenBE at geshi dot org).

ok djm@

OpenBSD-Commit-ID: 939fbe9ccf52d0d48c5fa53694d6f3bb9927970c

12 months agoupstream: Fix typo in comment
tobias@openbsd.org [Wed, 14 Aug 2024 15:35:23 +0000 (15:35 +0000)] 
upstream: Fix typo in comment

Spotted with Benny Baumann (BenBE at geshi dot org).

ok djm@

OpenBSD-Commit-ID: 829160ac8ef3ad3409695ce3a3ade835061cae57

12 months agoupstream: add a random amount of time (up to 4 seconds) to the
dlg@openbsd.org [Wed, 31 Jul 2024 12:00:18 +0000 (12:00 +0000)] 
upstream: add a random amount of time (up to 4 seconds) to the

grace login time.

ok deraadt@ djm@

OpenBSD-Commit-ID: abd3c57aaa5861517529b322df79b6be35ee67f4

12 months agoupstream: document the reduced logingrace penalty
naddy@openbsd.org [Fri, 26 Jul 2024 15:24:49 +0000 (15:24 +0000)] 
upstream: document the reduced logingrace penalty

OpenBSD-Commit-ID: 9b63e0e3599d524ddc10edc4f978081382c3548b

12 months agoExplicitly install libssl-devel cygwin.
Darren Tucker [Sun, 28 Jul 2024 11:26:51 +0000 (21:26 +1000)] 
Explicitly install libssl-devel cygwin.

Should fix CI tests for cygwin default config.

12 months agoupstream: reduce logingrace penalty.
djm@openbsd.org [Thu, 25 Jul 2024 23:44:01 +0000 (23:44 +0000)] 
upstream: reduce logingrace penalty.

A single forgotton login that times out should be below the penalty
threshold.

ok deraadt/claudio

OpenBSD-Commit-ID: cee1f7d17597c97bff8e5092af5d136fdb08f81d

12 months agoupstream: Fix proxy multiplexing (-O proxy) bug
djm@openbsd.org [Thu, 25 Jul 2024 22:40:08 +0000 (22:40 +0000)] 
upstream: Fix proxy multiplexing (-O proxy) bug

If a mux started with ControlPersist then later has a forwarding added using
mux proxy connection and the forwarding was used, then when the mux proxy
session terminates, the mux master process will send a channel close to the
server with a bad channel ID and crash the connection.

This was caused by my stupidly reusing c->remote_id for mux channel
associations when I should have just added another member to struct channel.

ok markus@

OpenBSD-Commit-ID: c9f474e0124e3fe456c5e43749b97d75e65b82b2