Commit Graph

12800 Commits

Author SHA1 Message Date
Darren Tucker
953fa5b59a
Disable security key for bigendian interop.
It doesn't currently work.  It's not clear why, but I suspect
sk-dummy.so ends up being built for the wrong architecture.
2024-11-10 12:25:25 +11:00
Darren Tucker
a80eb71c42
Reshuffle OpenWRT test configs.
Move the the flags used by the OpenWRT distro to mipsel target and
enable OpenSSL on all targets to improve coverage.

Explicitly disable security key and openssl on mips target so that host
end of the bigendian interop tests don't attempt them and fail (since
they're not enabled on the target side).
2024-11-09 11:39:04 +11:00
Darren Tucker
d2709c4613
Add keytype to bigendian interop test. 2024-11-09 03:26:08 +11:00
Darren Tucker
50ac0f0e06
Ignore chown failure, eg due to dangling symlinks. 2024-11-09 03:24:29 +11:00
Darren Tucker
9e528e65a0
Test bigendian interop.
Where our test target is a bigendian system, do an additional build on
the runner host (which is little endian) and test interop between the two.
Should hopefully catch obvious endianness bugs.
2024-11-08 16:27:05 +11:00
Darren Tucker
dd416f5bfa
Allow overridding TEST_SSH_SSHD.
This will allow tests to specify an alternative sshd, eg on a remote
machine with different endianness.
2024-11-08 16:25:47 +11:00
djm@openbsd.org
82662d562c
upstream: ssh-agent implemented an all-or-nothing allow-list of
FIDO application IDs for security key-backed keys, to prevent web key handles
from being used remotely as this would likely lead to unpleasant surprises.
By default, only application IDs that start with "ssh:*" are allowed.

This adds a -Owebsafe-allow=... argument that can override the default
list with a more or less restrictive one. The default remains unchanged.

ok markus@

OpenBSD-Commit-ID: 957c1ed92a8d7c87453b9341f70cb3f4e6b23e8d
2024-11-07 10:49:13 +11:00
jca@openbsd.org
593a0b65c5
upstream: Ignore extra groups that don't fit in the buffer passed
to getgrouplist(3)

Our kernel supports 16 groups (NGROUPS_MAX), but nothing prevents
an admin from adding a user to more groups.  With that tweak we'll keep
on ignoring them instead of potentially reading past the buffer passed to
getgrouplist(3).  That behavior is explicitely described in initgroups(3).

ok millert@ gilles@

OpenBSD-Commit-ID: a959fc45ea3431b36f52eda04faefc58bcde00db
2024-11-07 10:01:05 +11:00
Damien Miller
e7adebeff3
Add git signing key for Tim Rice 2024-11-04 14:39:27 +11:00
Darren Tucker
da4b84845e
Correct path to c-cpp.yml file in workflow config. 2024-11-01 18:51:22 +11:00
Darren Tucker
28740aa2c7
Test new OpenSSL and LibreSSL releases.` 2024-11-01 18:44:42 +11:00
Darren Tucker
a74809fe06
Add nbsd10 default test config. 2024-11-01 18:44:00 +11:00
Damien Miller
88b35cbdc1
fix uint64_t types; reported by Tom G. Christensen 2024-10-30 14:25:14 +11:00
Damien Miller
ef7c26cd2f
htole64() etc for systems without endian.h 2024-10-27 13:28:11 +11:00
djm@openbsd.org
0c3927c45f
upstream: explicitly include endian.h
OpenBSD-Commit-ID: 13511fdef7535bdbc35b644c90090013da43a318
2024-10-27 13:09:58 +11:00
djm@openbsd.org
cf3e48ee8b
upstream: fix ML-KEM768x25519 KEX on big-endian systems; spotted by
jsg@ feedback/ok deraadt@

OpenBSD-Commit-ID: 26d81a430811672bc762687166986cad40d28cc0
2024-10-27 13:09:32 +11:00
naddy@openbsd.org
ae566d51b6
upstream: mlkem768x25519-sha256 has been promoted to default key
exchange

OpenBSD-Commit-ID: 5a3259a193fd42108a869ebf650b95b5f2d08dcf
2024-10-27 13:09:32 +11:00
Darren Tucker
3af1dba138
Retire the minix3 test config.
It got broken by the sshd-auth change, it's not obvious why, and the
platform lacks the debugging tools (eg gdb, strace) to figure it out.
The upstream project seems effectively dead (6 years since the last
commit, 10 since the last release).  It was useful while it lasted
(we found a real bug because of it) but its time seems to have passed.
2024-10-25 19:04:30 +11:00
Preetish Amballi
3b240cc44b
Updated gitignore to ignore sshd-session and sshd-auth targets 2024-10-25 19:03:42 +11:00
Darren Tucker
326495744f
Simplify pselect shim and remove side effects.
Instead of maintaing state (pipe descriptors, signal handlers) across
pselect-on-select invocations, set up and restore them each call.
This prevents outside factors (eg a closefrom or signal handler
installation) from potentially causing problems.  This does result in a
drop in throughput of a couple of percent on geriatric platforms without
a native pselect due to the extra overhead.  Tweaks & ok djm@
2024-10-25 19:01:02 +11:00
djm@openbsd.org
e53b615f39
upstream: promote mlkem768x25519-sha256 to be the default key exchange;
ok markus@

OpenBSD-Commit-ID: fc673065e6505bb06b2e2b9362f78ccb4200a828
2024-10-25 12:36:24 +11:00
djm@openbsd.org
de644b1831
upstream: test SIGUSR1 dropping all keys from ssh-agent
OpenBSD-Regress-ID: 8654b9aa8eb695b1499fffc408c25319592bf0e0
2024-10-24 14:29:59 +11:00
djm@openbsd.org
e86d7a077c
upstream: amake ssh-agent drop all keys when it receives SIGUSR1;
let's users zap keys without access to $SSH_AUTH_SOCK

ok deraadt@

OpenBSD-Commit-ID: dae9db0516b1011e5ba8c655ac702fce42e6c023
2024-10-24 14:29:31 +11:00
djm@openbsd.org
94cdfebec8
upstream: relax valid_domain() checks to allow an underscore as the
first character. ok deraadt@

OpenBSD-Commit-ID: 3f8be6d32496e5596dd8b14e19cb067ddd7969ef
2024-10-24 14:28:40 +11:00
dtucker@openbsd.org
1b05d5437b
upstream: Remove sshd logfile in start_sshd
... and ssh and sshd log wrappers before recreating them.  Prevents "can't
create" errors during tests when running tests without SUDO after having
run them with SUDO.

OpenBSD-Regress-ID: 2f0a83532e3dccd673a9bf0291090277268c69a6
2024-10-22 19:19:26 +11:00
dtucker@openbsd.org
307ab3c772
upstream: Add a sshd debug wrapper
... to run all of the subprograms from the build directory while
developing and debugging.  Should help prevent accidentally testing
against unchanged installed sshd-auth and sshd-session binaries. ok djm@

OpenBSD-Commit-ID: 61760cdc98c2bc8f1e9f83a6f97cca0f66b52e69
2024-10-22 17:50:38 +11:00
dtucker@openbsd.org
87bd1cb3cc
upstream: Make debug call printf("%s", NULL) safe.
Prevents problems on platforms where this isn't safe (which it's not
required to be).  ok djm@

OpenBSD-Commit-ID: 8fa4ce3ad90915c925b81b99a79ab920b0523387
2024-10-22 17:50:23 +11:00
Darren Tucker
c44c349edd
Resync cvsid missed in commit 6072e4c9. 2024-10-22 17:50:18 +11:00
djm@openbsd.org
fe4305c37f
upstream: mention that LocalForward and RemoteForward can accept Unix
domain socket paths; GHPR115

OpenBSD-Commit-ID: a8a34d0a0c51a9ddab3dfce615f9878fa76ef842
2024-10-18 16:53:50 +11:00
djm@openbsd.org
9c97b6af8e
upstream: remove duplicate check; GHPR392 from Pedro Martelletto
OpenBSD-Commit-ID: 597ab7dd3f0e78939d2659fc1904d0f39ee95487
2024-10-18 16:46:09 +11:00
djm@openbsd.org
d9cd208e89
upstream: allow "-" as output file for moduli screening
based on GHPR393

OpenBSD-Commit-ID: 1517763764eb55d03a6092dd120d2909c6fef0e1
2024-10-18 16:37:53 +11:00
djm@openbsd.org
5eb5c4b282
upstream: ssh-keyscan doesn't need it's own sshfatal() definition, it
can use the shared one from fatal.c

based on GHPR401 from lengyijun

OpenBSD-Commit-ID: 8ea75ea99f27f464c9223cbc89cb046ccf9cd5c4
2024-10-18 16:33:29 +11:00
djm@openbsd.org
0a1e75499e
upstream: in _ssh_order_hostkeyalgs() consider ECDSA curve type when
arranging the hostkey algorithms. AFAIK this code is unused in OpenSSH, but I
guess others are using it

based on GHPR387 from Pawel Jakub Dawidek

OpenBSD-Commit-ID: 4d462495ac0c40f7b7dd66178e0005b9b2128225
2024-10-18 16:16:13 +11:00
djm@openbsd.org
d01ee7a88c
upstream: require control-escape character sequences passed via the '-e
^x' commandline to be exactly two characters long. Avoids one by OOB read if
ssh is invoked as "ssh -e^ ..."

Spotted by Maciej Domanski in GHPR368

OpenBSD-Commit-ID: baa72bc60898fc5639e6c62de7493a202c95823d
2024-10-18 16:04:16 +11:00
djm@openbsd.org
74ff6382f5
upstream: remove addr.[ch] functions that are unused and
visbility-restrict ones that are unused outside the implementation itself;
based on GHPR#282 by tobias@

OpenBSD-Commit-ID: a0140f2418b4d46cfaa7b33febc0a0931f9b2744
2024-10-18 15:30:36 +11:00
djm@openbsd.org
a9d6d7d93c
upstream: unreachable POLLERR case; from ya0guang via GHPR485
OpenBSD-Commit-ID: b3c82655190532b01eb817e532742cfaa4687eff
2024-10-18 15:15:27 +11:00
djm@openbsd.org
d76424bf27
upstream: s/Sx/Cm/ for external references; from Domen Puncer
Kugler via GHPR501

OpenBSD-Commit-ID: f864a34feb5d5ff17160cf7c42ad0f7744fe8a3f
2024-10-18 15:12:27 +11:00
naddy@openbsd.org
ca204b994e
upstream: mention SshdAuthPath option; ok djm@
OpenBSD-Commit-ID: 9a5d3add25e4e77bd3805bc5583a842ecf34d85c
2024-10-18 15:12:26 +11:00
Darren Tucker
be27770e84
Remove references to systrace and pledge sandboxes.
ok djm@
2024-10-18 13:38:32 +11:00
Pavel Miadzvedzeu
49e64bf63f
Fix "undeclared 'ut'" error by replacing it with 'utx' 2024-10-18 13:18:43 +11:00
Darren Tucker
67f684733f
Seed RNG when starting up sshd-auth.
Makes builds configured --without-openssl work again since otherwise
the first use of the RNG comes after the sandbox init and it can't
open /dev/random.
2024-10-17 20:50:29 +11:00
Darren Tucker
c06c681aee
MacOS 12 runners are deprecated, replace with 15. 2024-10-17 19:18:23 +11:00
Damien Miller
39db1f23ba
Fix lookup path for sshd-auth; bz3745 2024-10-17 13:28:47 +11:00
Damien Miller
c537eeb1ae
fix breakage; missing saved_argc symbol 2024-10-16 08:28:21 +11:00
Damien Miller
98a0883bde
fix capsicum sandbox 2024-10-14 17:17:50 +11:00
Damien Miller
164ea43805
put back some portable bits for sshd-auth.c 2024-10-14 17:16:41 +11:00
Damien Miller
f8edf08c25
there's only one sandbox, move to a static global 2024-10-14 14:49:25 +11:00
Damien Miller
4482f0042b
depend 2024-10-14 14:49:20 +11:00
djm@openbsd.org
74856204a3
upstream: regress support for split sshd-auth binary
OpenBSD-Regress-ID: df7d18a87b475f70004770f0f4e404adba5f6ab7
2024-10-14 14:03:07 +11:00
djm@openbsd.org
461741083d
upstream: test some more Match syntax, including criteria=arg and
negations

OpenBSD-Regress-ID: 67476baccc60bf1a255fd4e329ada950047b8b8d
2024-10-14 14:02:34 +11:00