Skip to content

Merge 10.0p2 #796

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 340 commits into
base: latestw_all
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
340 commits
Select commit Hold shift + click to select a range
acad117
upstream: switch sshd_config Match processing to the argv tokeniser
djmdjm Sep 15, 2024
8d21713
upstream: Add a sshd_config "RefuseConnection" option
djmdjm Sep 15, 2024
7875975
upstream: Add a "refuseconnection" penalty class to sshd_config
djmdjm Sep 15, 2024
0118a4d
upstream: add a "Match invalid-user" predicate to sshd_config Match
djmdjm Sep 15, 2024
9306d60
upstream: document Match invalid-user
djmdjm Sep 15, 2024
930cb02
upstream: update the Streamlined NTRU Prime code from the "ref"
djmdjm Sep 15, 2024
671c440
use construct_utmp to construct btmp records
djmdjm Sep 15, 2024
ce171d0
upstream: bad whitespace in config dump output
djmdjm Sep 15, 2024
0c1165f
avoid gcc warning in fuzz test
djmdjm Sep 15, 2024
f82e5e2
upstream: minor grammar/sort fixes for refuseconnection; ok djm
Sep 15, 2024
0ca128c
upstream: use 64 bit math to avoid signed underflow. upstream code
djmdjm Sep 16, 2024
5fb2b5a
fix bug in recently-added sntrup761 fuzzer
djmdjm Sep 17, 2024
7ef362b
conditionally include mman.h in arc4random code
djmdjm Sep 17, 2024
ef2d7f2
include openbsd-compat/base64.c license in LICENSE
djmdjm Sep 18, 2024
0bdca1f
upstream: openssh-9.9
djmdjm Sep 19, 2024
46d1fb1
update version numbers
djmdjm Sep 19, 2024
1641f2d
Add 9.9 branch to CI status console.
daztucker Sep 23, 2024
a35f543
upstream: remove unneeded semicolons; checked by millert@
jonathangray Sep 20, 2024
e03239f
upstream: remove some unused defines; ok djm@
jonathangray Sep 22, 2024
0f5d19e
fix utmpx ifdef
christoph-zededa Jul 3, 2024
d3aee17
Test the flags from OpenWRT's package.
daztucker Sep 24, 2024
76a618d
build construct_utmp() when USE_BTMP is set
djmdjm Sep 25, 2024
815a94e
gss-serv.c needs sys/param.h
djmdjm Sep 25, 2024
9517cc5
upstream: some extra paranoia, reminded by jsg@
djmdjm Sep 24, 2024
3f02368
upstream: fix regression introduced when I switched the "Match"
djmdjm Sep 25, 2024
3ef4f6e
upstream: remove some unneeded Xo/Xc calls; from evan silberman the
Sep 25, 2024
220b6c1
upstream: remove some unused defines; ok djm@
jonathangray Sep 25, 2024
67a115e
upstream: fix previous change to ssh_config Match, which broken on
djmdjm Sep 26, 2024
0051381
upstream: Turn off finite field (a.k.a modp) Diffie-Hellman key
djmdjm Oct 6, 2024
538cd28
upstream: remove duplicate misc.h include ok dtucker@
jonathangray Oct 12, 2024
fe6c633
upstream: don't start the ObscureKeystrokeTiming mitigations if
djmdjm Oct 13, 2024
6072e4c
upstream: Split per-connection sshd-session binary
djmdjm Oct 14, 2024
4617410
upstream: test some more Match syntax, including criteria=arg and
djmdjm Sep 27, 2024
7485620
upstream: regress support for split sshd-auth binary
djmdjm Oct 14, 2024
4482f00
depend
djmdjm Oct 14, 2024
f8edf08
there's only one sandbox, move to a static global
djmdjm Oct 14, 2024
164ea43
put back some portable bits for sshd-auth.c
djmdjm Oct 14, 2024
98a0883
fix capsicum sandbox
djmdjm Oct 14, 2024
c537eeb
fix breakage; missing saved_argc symbol
djmdjm Oct 15, 2024
39db1f2
Fix lookup path for sshd-auth; bz3745
djmdjm Oct 17, 2024
c06c681
MacOS 12 runners are deprecated, replace with 15.
daztucker Oct 17, 2024
67f6847
Seed RNG when starting up sshd-auth.
daztucker Oct 17, 2024
49e64bf
Fix "undeclared 'ut'" error by replacing it with 'utx'
pmiadzvedzeu Apr 24, 2024
be27770
Remove references to systrace and pledge sandboxes.
daztucker Oct 18, 2024
ca204b9
upstream: mention SshdAuthPath option; ok djm@
Oct 14, 2024
d76424b
upstream: s/Sx/Cm/ for external references; from Domen Puncer
djmdjm Oct 18, 2024
a9d6d7d
upstream: unreachable POLLERR case; from ya0guang via GHPR485
djmdjm Oct 18, 2024
74ff638
upstream: remove addr.[ch] functions that are unused and
djmdjm Oct 18, 2024
d01ee7a
upstream: require control-escape character sequences passed via the '-e
djmdjm Oct 18, 2024
0a1e754
upstream: in _ssh_order_hostkeyalgs() consider ECDSA curve type when
djmdjm Oct 18, 2024
5eb5c4b
upstream: ssh-keyscan doesn't need it's own sshfatal() definition, it
djmdjm Oct 18, 2024
d9cd208
upstream: allow "-" as output file for moduli screening
djmdjm Oct 18, 2024
9c97b6a
upstream: remove duplicate check; GHPR392 from Pedro Martelletto
djmdjm Oct 18, 2024
fe4305c
upstream: mention that LocalForward and RemoteForward can accept Unix
djmdjm Oct 18, 2024
c44c349
Resync cvsid missed in commit 6072e4c9.
daztucker Oct 22, 2024
87bd1cb
upstream: Make debug call printf("%s", NULL) safe.
daztucker Oct 22, 2024
307ab3c
upstream: Add a sshd debug wrapper
daztucker Oct 22, 2024
1b05d54
upstream: Remove sshd logfile in start_sshd
daztucker Oct 22, 2024
94cdfeb
upstream: relax valid_domain() checks to allow an underscore as the
djmdjm Oct 24, 2024
e86d7a0
upstream: amake ssh-agent drop all keys when it receives SIGUSR1;
djmdjm Oct 24, 2024
de644b1
upstream: test SIGUSR1 dropping all keys from ssh-agent
djmdjm Oct 24, 2024
e53b615
upstream: promote mlkem768x25519-sha256 to be the default key exchange;
djmdjm Oct 25, 2024
3264957
Simplify pselect shim and remove side effects.
daztucker Oct 25, 2024
3b240cc
Updated gitignore to ignore sshd-session and sshd-auth targets
amballip Oct 21, 2024
3af1dba
Retire the minix3 test config.
daztucker Oct 25, 2024
ae566d5
upstream: mlkem768x25519-sha256 has been promoted to default key
Oct 25, 2024
cf3e48e
upstream: fix ML-KEM768x25519 KEX on big-endian systems; spotted by
djmdjm Oct 27, 2024
0c3927c
upstream: explicitly include endian.h
djmdjm Oct 27, 2024
ef7c26c
htole64() etc for systems without endian.h
djmdjm Oct 27, 2024
88b35cb
fix uint64_t types; reported by Tom G. Christensen
djmdjm Oct 30, 2024
a74809f
Add nbsd10 default test config.
daztucker Nov 1, 2024
28740aa
Test new OpenSSL and LibreSSL releases.`
daztucker Nov 1, 2024
da4b848
Correct path to c-cpp.yml file in workflow config.
daztucker Nov 1, 2024
e7adebe
Add git signing key for Tim Rice
djmdjm Nov 4, 2024
593a0b6
upstream: Ignore extra groups that don't fit in the buffer passed
jcourreges Nov 4, 2024
82662d5
upstream: ssh-agent implemented an all-or-nothing allow-list of
djmdjm Nov 6, 2024
dd416f5
Allow overridding TEST_SSH_SSHD.
daztucker Nov 1, 2024
9e528e6
Test bigendian interop.
daztucker Nov 2, 2024
50ac0f0
Ignore chown failure, eg due to dangling symlinks.
daztucker Nov 8, 2024
d2709c4
Add keytype to bigendian interop test.
daztucker Nov 8, 2024
a80eb71
Reshuffle OpenWRT test configs.
daztucker Nov 8, 2024
953fa5b
Disable security key for bigendian interop.
daztucker Nov 9, 2024
ac75446
upstream: turn off CDIAGFLAGS and turn back on INSTALL_STRIP
djmdjm Nov 24, 2024
d1c1cfc
upstream: when using RSA keys to sign messages, select the
djmdjm Nov 26, 2024
8402365
upstream: Explicitly specify the signature algorithm when signing
djmdjm Nov 26, 2024
0ad34a6
upstream: regression test for UpdateHostkeys with multiple keys backed
djmdjm Nov 26, 2024
fd2e64c
upstream: g/c outdated XXX comments
djmdjm Nov 26, 2024
785e3c9
upstream: mention that biometrics may be used for FIDO key user
djmdjm Nov 27, 2024
53c0396
upstream: new name/link for agent I-D
djmdjm Nov 27, 2024
8eabd2a
upstream: fix argument of "Compression" directive in ssh -G config
djmdjm Nov 27, 2024
74d7084
mdoc2man: balance nested square brackets
raboof Oct 18, 2024
ca0697a
Add make target for standalone sk-libfido2
stoggi Oct 18, 2024
67ace92
upstream: Import regenerated moduli.
daztucker Nov 29, 2024
e19cd49
Fix compilation with DEBUG_SK enabled
shivak Dec 2, 2024
d75837b
upstream: prefer AES-GCM to AES-CTR; ok deraadt markus
djmdjm Dec 2, 2024
1d9563a
upstream: unbreak
djmdjm Dec 2, 2024
96b6405
Add wtmpdb support as Y2038 safe wtmp replacement
thkukuk Nov 19, 2024
d3a7ff7
upstream: support FIDO tokens that return no attestation data, e.g.
djmdjm Dec 3, 2024
9da7fa7
Define u_short and u_long if needed.
sortie Nov 2, 2024
b460f82
Inherit DESTDIR from the environment.
sortie Nov 2, 2024
ffa885d
upstream: Improve description of KbdInteractiveAuthentication.
daztucker Dec 3, 2024
9b57c09
Update readme files to better reflect reality.
daztucker Dec 4, 2024
66e9868
Support systemd-style socket activation in agent
djmdjm Dec 4, 2024
eaa1744
don't ignore changes in regress Makefiles
djmdjm Dec 4, 2024
30c7462
upstream: Remove redundant field of definition check
botovq Dec 3, 2024
97eb247
upstream: Remove fallback to compiled-in gropup for dhgex when the
daztucker Dec 3, 2024
c0b03c2
upstream: spelling; ok djm@
jonathangray Dec 3, 2024
6993d9f
upstream: don't screw up ssh-keygen -l output when the file
djmdjm Dec 4, 2024
73d7826
upstream: sync the list of options accepted by -o with ssh_config.5
djmdjm Dec 4, 2024
50c640d
upstream: Don't assume existence of SK provider in test. Patch from
daztucker Dec 4, 2024
8c9ee04
upstream: add a work-in-progress tool to verify FIDO attestation
djmdjm Dec 4, 2024
9998c93
upstream: Prevent integer overflow in x11 port handling. These are
daztucker Dec 5, 2024
d0ac63d
upstream: De-magic the x11 base port number into a define. ok djm@
daztucker Dec 5, 2024
d23a23a
add a Makefile target for ssh-verify-attestation
djmdjm Dec 4, 2024
790c913
typo
djmdjm Dec 5, 2024
c9b7866
upstream: Add key expiry test in the 64bit time_t range for additional
daztucker Dec 5, 2024
6b4611d
Skip 64bit expiry time test on 32bit time_t.
daztucker Dec 5, 2024
1a0cac2
Skip 2038 key expiry test on 64 bit time_t systems.
kanavin Dec 5, 2024
24dcf36
Fix configure message typo in sk-libfido2 standalone.
thelastlin Dec 6, 2024
9a2f4c7
Change text from "login to" to "log in to".
daztucker Dec 6, 2024
8252f34
upstream: catch up documentation: AES-GCM is preferred to AES-CTR
Dec 5, 2024
dc2ef8f
upstream: Change "login again" to "log in again"
daztucker Dec 6, 2024
11a5e51
upstream: Expand $SSH to absolute path if it's not already.
daztucker Dec 6, 2024
f129b6e
Fix configure implicit declaration and format warnings.
sortie Nov 2, 2024
5cacfa7
Add new hardware-backed signing key for myself.
daztucker Dec 6, 2024
6b9cd09
Remove ancient RHL 6.x config in RPM spec.
FabioPedretti Oct 16, 2023
4389a79
upstream: sync -o option lists with ssh.1; requested jmc@
djmdjm Dec 6, 2024
5488810
upstream: ignore SIGPIPE here; some downstreams have had this for
djmdjm Dec 6, 2024
41ab0cc
upstream: clarify encoding of options/extensions; bz2389
djmdjm Dec 6, 2024
9a9ffee
upstream: support VersionAddendum in the client, mirroring the
djmdjm Dec 6, 2024
85f0c1e
upstream: allow glob(3) patterns for sshd_config AuthorizedKeysFile
djmdjm Dec 6, 2024
5a6ddf9
upstream: add infrastructure for ratelimited logging; feedback/ok
djmdjm Dec 7, 2024
bbc9c18
upstream: replace bespoke logging of MaxSessions enforcement with
djmdjm Dec 7, 2024
924f996
Add $(srcdir) for standalone sk-libfido2 make target.
thelastlin Dec 9, 2024
1a8ce46
upstream: Plug leak on error path, spotted by Coverity. ok djm@
daztucker Dec 12, 2024
826483d
fix old typo (s/SYSVINITSTOPT/SYSVINITSTOP/)
Dec 16, 2024
66efd0f
add support for AWS-LC (AWS libcrypto)
djmdjm Feb 5, 2025
0643994
upstream: Use strprefix helper when processing sshd -C test args
daztucker Jan 15, 2025
e4e5b06
upstream: Call log_init in sshd-auth and sshd-session immediately
daztucker Jan 16, 2025
85b3d68
upstream: Fix debug logging of user specific delay. Patch from
daztucker Jan 17, 2025
1c67bae
upstream: In a section 1 manual, use the plain English words
ischwarze Feb 9, 2025
af49d47
upstream: fix "Match invalid-user" from incorrectly being activated
djmdjm Feb 10, 2025
857ac20
upstream: include line number in Match debug messages, makes it a
djmdjm Feb 10, 2025
aa1409e
upstream: include arguments the command was invoked with, and
djmdjm Feb 10, 2025
38f6000
depend
djmdjm Feb 10, 2025
caa3c0c
upstream: "Match command ..." support for ssh_config to allow
djmdjm Feb 15, 2025
192a20d
upstream: Add support for "Match sessiontype" to ssh_config. Allows
djmdjm Feb 15, 2025
9131ac6
upstream: add "Match version" support to ssh_config. Allows
djmdjm Feb 15, 2025
f519e71
depend
djmdjm Feb 15, 2025
9e5bd74
upstream: - use \& when contructs like "e.g." end a line, to avoid
Feb 15, 2025
6ce00f0
upstream: Don't reply to PING in preauth phase or during KEX
djmdjm Feb 18, 2025
0832aac
upstream: Fix cases where error codes were not correctly set
djmdjm Feb 18, 2025
0cbeedb
openssh-9.9p2
djmdjm Feb 18, 2025
a0c95fb
remove ubuntu-20.04 Github action runners
djmdjm Feb 20, 2025
33bb47e
Add ubuntu-*-arm test runners
djmdjm Feb 20, 2025
6887099
adjust workflows for ubuntu version transition
djmdjm Feb 21, 2025
94b7375
Update AWS-LC version number
djmdjm Feb 21, 2025
bc4b3f6
prune gcc/clang versions to be tested
djmdjm Feb 21, 2025
922e54b
cleanup last mention of ubuntu-20.04
djmdjm Feb 21, 2025
3bc6de9
Try to fix github tcmalloc target failure
djmdjm Feb 24, 2025
487cf4c
upstream: Also prohibit , (comma) in hostnames, proposed by David
Feb 21, 2025
cb99e8e
upstream: ressurect fix for "match invalid-user" that got clobbered
djmdjm Feb 25, 2025
dfd9880
Check for le32toh, le64toh, htole64 individually.
daztucker Feb 26, 2025
94f59dc
Rebuild config files if Makefile changes.
daztucker Feb 28, 2025
bd30cf7
upstream: Allow %-token and environment variable expansion in User,
daztucker Mar 1, 2025
65d2c59
upstream: Make a copy of the user when handling ssh -l, so that
daztucker Mar 2, 2025
c94138d
upstream: whitespace
djmdjm Mar 2, 2025
38d69fe
include __builtin_popcount replacement function
djmdjm Mar 2, 2025
b6bba67
upstream: fix PerSourcePenalty incorrectly using "crash" penalty when
djmdjm Mar 2, 2025
b498754
upstream: Add %-token and environment variable expansion to SetEnv.
daztucker Mar 3, 2025
3962021
upstream: implement attestation verification for ED25519 keys
djmdjm Dec 6, 2024
197e503
upstream: use glob(3) wildcards in AuthorizedKeys/PrincipalsFile
djmdjm Dec 6, 2024
e6cfd78
upstream: Tests for User expansion of %-tokens and environment
daztucker Mar 1, 2025
fd7ad8d
upstream: Also test User expansions when supplied via -l option and
daztucker Mar 2, 2025
6575859
upstream: Test for %-token and env var expansion in SetEnv.
daztucker Mar 3, 2025
29a5127
upstream: Set highwater when resuming a "put". Prevents bogus "server
daztucker Mar 11, 2025
97e10c0
upstream: Check if dbclient supports SHA1 before trying SHA1-based
daztucker Mar 11, 2025
395284b
upstream: Use $DBCLIENT to access dbclient for consistency.
daztucker Mar 11, 2025
62f02e9
upstream: Set up dbclient's known_hosts as it expects.
daztucker Mar 11, 2025
e2c4f07
upstream: Use ssh binary instead of the (smaller) script when
daztucker Mar 11, 2025
4bcbac7
upstream: Add regress test for sftp resume.
daztucker Mar 11, 2025
c21c8fc
Lazily unmount github workspace at end of workflow.
daztucker Mar 11, 2025
10124ee
upstream: Some dd's don't understand "1m", so handle seperately.
daztucker Mar 11, 2025
9c90b56
upstream: Prime caches for DNS names needed for tests.
daztucker Mar 11, 2025
d47ef95
upstream: remove assumption that the sshd_config and any configs
djmdjm Mar 12, 2025
c20f741
rebuild .depend
djmdjm Mar 12, 2025
91a2f70
Add OpenBSD upstream test on obsdsnap-arm64.
daztucker Mar 14, 2025
20427f6
Make sure upstream tests run on correct hardware.
daztucker Mar 14, 2025
442a449
Also lazily unmount workspace in case of straggers.
daztucker Mar 14, 2025
2e81100
Fix debug log path.
daztucker Mar 17, 2025
0ce5281
upstream: Fix EVP_CIPHER_CTX_ctrl() return checks
botovq Mar 14, 2025
b58e429
upstream: fix NULL dereference for Match conditions missing
djmdjm Mar 18, 2025
ce88a1b
Identify each logfile while printing them.
daztucker Mar 18, 2025
bd9e6bb
Fix syntax error in workflow.
daztucker Mar 18, 2025
8a12946
Fix another typo in workflow.
daztucker Mar 18, 2025
575c43f
Differentiate logfiles better.
daztucker Mar 18, 2025
96493eb
Fix workflow syntax again.
daztucker Mar 19, 2025
1b311b6
upstream: Prevent theoretical NULL deref in throughlocal_sftp.
daztucker Mar 19, 2025
fdc4853
platform: introduce a way to hook new session start
d-tatianin Feb 27, 2025
6c49e5f
Add support for locking memory on Linux
d-tatianin Feb 27, 2025
2233071
Include fcntl.h so AT_FDCWD does not get redefined.
collinfunk Mar 27, 2025
fd5a6bb
Test with-linux-memlock-onfault in kitchensink.
daztucker Mar 27, 2025
90a28de
Include TCMALLOC_STACKTRACE_METHOD in output.
daztucker Mar 27, 2025
a73890e
Add PuTTY 0.81, 0.82 and 0.83 to tests.
daztucker Mar 27, 2025
77a3e6b
Add tcmalloc flags to TEST_SSH_SSHD_ENV.
daztucker Mar 28, 2025
e32de6b
Be explicit about environment variables for tests.
daztucker Mar 28, 2025
8cd9ed4
upstream: chown log directory in addition to log files.
daztucker Mar 28, 2025
98f05b1
upstream: Add TEST_SSH_SSHD_ENV variable which is added to sshd's
daztucker Mar 28, 2025
bbd3686
upstream: Set sshd environment variables during sshd test run too.
daztucker Mar 28, 2025
5e60f59
upstream: Pass "ControlMaster no" to ssh when invoked by scp & sftp.
daztucker Mar 28, 2025
8460aaa
upstream: Add TEST_SSH_SSHD_ENV to sshd lines here too.
daztucker Mar 28, 2025
6c9872f
upstream: remove ability to enable DSA support. Actual code will be
djmdjm Apr 1, 2025
f80fb81
remove all instances of -pie from LDFLAGS
djmdjm Apr 2, 2025
49b8b9b
upstream: Wrap #include <openssl/dsa.h> in #ifdef WITH_DSA
botovq Apr 2, 2025
000c3d1
upstream: Include time.h for time().
daztucker Apr 7, 2025
985d8cb
upstream: typo
djmdjm Apr 8, 2025
55b7cb4
upstream: typo
djmdjm Apr 8, 2025
cd4a6bd
initialise websafe_allowlist in agent fuzzer
djmdjm Apr 8, 2025
0cb9458
upstream: typo
djmdjm Apr 9, 2025
dd73459
upstream: oops, I accidentally backed out the typo fix
djmdjm Apr 9, 2025
fc86875
upstream: Fix logic error in DisableForwarding option. This option
djmdjm Apr 9, 2025
cc7feb9
upstream: openssh-10.0
djmdjm Apr 9, 2025
8725dbc
update version numbers
djmdjm Apr 9, 2025
2593769
autogenerated files for release
djmdjm Apr 9, 2025
d4062d5
fix merge conflicts
tgauth Jul 15, 2025
27da0aa
remove deleted file sandbox-systrace.c from project files that previo…
tgauth Jul 15, 2025
c99b1e8
define u_int type that is used in new struct
tgauth Jul 15, 2025
4273dd2
fix KEX_CLIENT_KEX definition that got messed up during merge
tgauth Jul 15, 2025
3ddb164
ifndef WINDOWS for utsname include/info logging
tgauth Jul 15, 2025
3fd5c9f
update field name in key struct
tgauth Jul 15, 2025
c6172e3
add win32 logic for mmap and munmap
tgauth Jul 15, 2025
e78bdbe
add platform-listen.c to proj
tgauth Jul 16, 2025
add0b12
remove startup_p var references
tgauth Jul 16, 2025
a884a53
add limited w32 implementation of setitimer w/o microsecond functiona…
tgauth Jul 16, 2025
bef0593
add sshd-auth project
tgauth Jul 17, 2025
70846dd
Merge branch 'latestw_all' into merge-10.0p2
tgauth Jul 21, 2025
28b9433
add todo for sshd debug mode
tgauth Jul 21, 2025
6b010c6
spawn sshd-auth from sshd-session
tgauth Jul 22, 2025
9fc5b65
fixes to spawn sshd-auth properly
tgauth Jul 22, 2025
1d205a1
copy methods to pack/send/recv from sshd
tgauth Jul 22, 2025
0fa20c7
do not fork to send state in debug
tgauth Jul 23, 2025
75f0ebe
fix logging regression
tgauth Jul 23, 2025
4851041
cleanup preauth sshd-session code and unused vars
tgauth Jul 25, 2025
746d4ae
remove todo
tgauth Jul 25, 2025
0adbd4b
Update version.rc
tgauth Jul 29, 2025
e0130c0
fix logging from sshd-auth process on Windows
tgauth Aug 4, 2025
0288a26
fix AuthorizedKeysFiles path resolution on Windows
tgauth Aug 11, 2025
990629f
fix bash test on Windows
tgauth Aug 12, 2025
b64ce69
fix bash test on Windows by retrieving exit code from child process
tgauth Aug 12, 2025
039f7e5
remove PQA from supported kex list for now
tgauth Aug 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 10 additions & 9 deletions .depend

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion .git_allowed_signers
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
[email protected] ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKecyjh9aNmD4rb8WblA8v91JjRb0Cd2JtkzqxcggGeG
[email protected] valid-before="20241206" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKecyjh9aNmD4rb8WblA8v91JjRb0Cd2JtkzqxcggGeG
[email protected] [email protected] AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBDV81zWQ1+XVfWH5z4L4klDQ/z/6l2GLphfSTX/Rmq6kL5H8mkfzUlryxLlkN8cD9srtVJBAmwJWfJBNsCo958YAAAAEc3NoOg==
[email protected] [email protected] AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIElSYahCw60CGct39Eg9EY8OLV9Ppr7tsudvSiMyNHOhAAAABHNzaDo=

[email protected] [email protected] AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBLnJo3ZVDENYZGXm5uO9lU7b0iDFq5gHpTu1MaHPWTEfPdvw+AjFQQ/q5YizuMJkXGsMdYmblJEJZYHpm9IS7ZkAAAAEc3NoOg==
[email protected] [email protected] AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBJoAXBTQalfg+kC5wy1vE7HkIHtVnmV6AUuuIo9KQ1P+70juHwvsFKpsGaqQbrHJkTVgYDGVP02XHj8+Fb18yBIAAAAEc3NoOg==
[email protected] [email protected] AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBH+z1I48s6ydOhP5SJmI02zVCLf0K15B+UMHgoTIKVfUIv5oDoVX7e9f+7QiRmTeEOdZfQydiaVqsfi7qPSve+0AAAAEc3NoOg==
[email protected] [email protected] AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBPM4BmUg/fMnsl42JwktTekk/mB8Be3M+yK2ayg6lqYsqEri8yhRx84gey51OHKVk1TwlGbJjcMHI4URreDBEMQAAAAEc3NoOg==

[email protected] ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC/L8E1DfiZ9cHzygqx0IzRCSAlmh4tXH7mZPwWZEY1L

4 changes: 4 additions & 0 deletions .github/ci-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ master :
[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/openssh.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:openssh)
[![Coverity Status](https://scan.coverity.com/projects/21341/badge.svg)](https://scan.coverity.com/projects/openssh-portable)

9.9 :
[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_9)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_9)
[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_9)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_9)

9.8 :
[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_8)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_8)
[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_8)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_8)
Expand Down
39 changes: 31 additions & 8 deletions .github/configs
Original file line number Diff line number Diff line change
Expand Up @@ -129,13 +129,21 @@ case "$config" in
kitchensink)
CONFIGFLAGS="--with-kerberos5 --with-libedit --with-pam"
CONFIGFLAGS="${CONFIGFLAGS} --with-security-key-builtin --with-selinux"
CONFIGFLAGS="${CONFIGFLAGS} --with-linux-memlock-onfault"
CFLAGS="-DSK_DEBUG -DSANDBOX_SECCOMP_FILTER_DEBUG"
;;
hardenedmalloc)
CONFIGFLAGS="--with-ldflags=-lhardened_malloc"
;;
tcmalloc)
CONFIGFLAGS="--with-ldflags=-ltcmalloc"
# tcmalloc may, depending on the stacktrace generator it uses, create
# pipe(2) fds during shared library initialisation. These will later
# get clobbered by ssh/sshd calling closefrom() and chaos will ensue.
# Tell tcmalloc to use an unwinder that doesn't pull this stuff.
TCMALLOC_STACKTRACE_METHOD=generic_fp
TEST_SSH_SSHD_ENV="TCMALLOC_STACKTRACE_METHOD=generic_fp"
export TCMALLOC_STACKTRACE_METHOD TEST_SSH_SSHD_ENV
;;
krb5|heimdal)
CONFIGFLAGS="--with-kerberos5"
Expand All @@ -161,6 +169,9 @@ case "$config" in
CONFIGFLAGS="--disable-pkcs11"
LIBCRYPTOFLAGS="--with-ssl-dir=/opt/boringssl --with-rpath=-Wl,-rpath,"
;;
aws-lc)
LIBCRYPTOFLAGS="--with-ssl-dir=/opt/aws-lc --with-rpath=-Wl,-rpath,"
;;
libressl-*)
LIBCRYPTOFLAGS="--with-ssl-dir=/opt/libressl --with-rpath=-Wl,-rpath,"
;;
Expand All @@ -181,13 +192,13 @@ case "$config" in
CONFIGFLAGS="--with-selinux"
;;
sk)
CONFIGFLAGS="--with-security-key-builtin"
CONFIGFLAGS="--with-security-key-builtin --with-security-key-standalone"
;;
without-openssl)
LIBCRYPTOFLAGS="--without-openssl"
TEST_TARGET=t-exec
;;
valgrind-[1-5]|valgrind-unit)
valgrind-[1-4]|valgrind-unit)
# rlimit sandbox and FORTIFY_SOURCE confuse Valgrind.
CONFIGFLAGS="--without-sandbox --without-hardening"
CONFIGFLAGS="$CONFIGFLAGS --with-cppflags=-D_FORTIFY_SOURCE=0"
Expand All @@ -197,10 +208,9 @@ case "$config" in
# Valgrind slows things down enough that the agent timeout test
# won't reliably pass, and the unit tests run longer than allowed
# by github so split into separate tests.
tests2="integrity try-ciphers"
tests2="integrity try-ciphers rekey"
tests3="krl forward-control sshsig agent-restrict kextype sftp"
tests4="cert-userkey cert-hostkey kextype sftp-perm keygen-comment percent"
tests5="rekey"
case "$config" in
valgrind-1)
# All tests except agent-timeout (which is flaky under valgrind),
Expand All @@ -220,9 +230,6 @@ case "$config" in
valgrind-4)
LTESTS="${tests4}"
;;
valgrind-5)
LTESTS="${tests5}"
;;
valgrind-unit)
TEST_TARGET="unit USE_VALGRIND=1"
;;
Expand Down Expand Up @@ -270,6 +277,10 @@ case "${TARGET_HOST}" in
# Native linker is not great with PIC so OpenSSL is built w/out.
CONFIGFLAGS="${CONFIGFLAGS} --disable-security-key"
;;
fbsd14-ppc64)
# Disable security key tests for bigendian interop test.
CONFIGFLAGS="${CONFIGFLAGS} --disable-security-key"
;;
hurd)
SKIP_LTESTS="forwarding multiplex proxy-connect hostkey-agent agent-ptrace"
;;
Expand Down Expand Up @@ -300,8 +311,20 @@ case "${TARGET_HOST}" in
# SHA256 functions in sha2.h conflict with OpenSSL's breaking sk-dummy
CONFIGFLAGS="${CONFIGFLAGS} --without-hardening --disable-security-key"
;;
openwrt-mipsel)
# Test most of the flags that OpenWRT sets for their package build.
# We only do this on one OpenWRT target for better coverage.
# The installed shared libraries installed by default are stripped and
# can't be linked to on the target systems.
OPENWRT_FLAGS="--disable-strip --disable-lastlog
--disable-utmp --disable-utmpx --disable-wtmp --disable-wtmpx
--with-stackprotect --with-cflags-after=-fzero-call-used-regs=skip"
CONFIGFLAGS="${CONFIGFLAGS} $(echo ${OPENWRT_FLAGS}) --without-zlib --disable-security-key"
LIBCRYPTOFLAGS="--without-openssl"
TEST_TARGET="t-exec"
;;
openwrt-*)
CONFIGFLAGS="${CONFIGFLAGS} --without-zlib"
CONFIGFLAGS="${CONFIGFLAGS} --without-zlib --disable-security-key"
LIBCRYPTOFLAGS="--without-openssl"
TEST_TARGET="t-exec"
;;
Expand Down
22 changes: 18 additions & 4 deletions .github/run_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,17 +33,31 @@ output_failed_logs() {
}
trap output_failed_logs 0

env=""
if [ ! -z "${SUDO}" ]; then
env="${env} SUDO=${SUDO}"
fi
if [ ! -z "${TCMALLOC_STACKTRACE_METHOD}" ]; then
env="${env} TCMALLOC_STACKTRACE_METHOD=${TCMALLOC_STACKTRACE_METHOD}"
fi
if [ ! -z "${TEST_SSH_SSHD_ENV}" ]; then
env="${env} TEST_SSH_SSHD_ENV=${TEST_SSH_SSHD_ENV}"
fi
if [ ! -z "${env}" ]; then
env="env${env}"
fi

if [ -z "${LTESTS}" ]; then
make ${TEST_TARGET} SKIP_LTESTS="${SKIP_LTESTS}"
${env} make ${TEST_TARGET} SKIP_LTESTS="${SKIP_LTESTS}"
else
make ${TEST_TARGET} SKIP_LTESTS="${SKIP_LTESTS}" LTESTS="${LTESTS}"
${env} make ${TEST_TARGET} SKIP_LTESTS="${SKIP_LTESTS}" LTESTS="${LTESTS}"
fi

if [ ! -z "${SSHD_CONFOPTS}" ]; then
echo "rerunning t-exec with TEST_SSH_SSHD_CONFOPTS='${SSHD_CONFOPTS}'"
if [ -z "${LTESTS}" ]; then
make t-exec SKIP_LTESTS="${SKIP_LTESTS}" TEST_SSH_SSHD_CONFOPTS="${SSHD_CONFOPTS}"
${env} make t-exec SKIP_LTESTS="${SKIP_LTESTS}" TEST_SSH_SSHD_CONFOPTS="${SSHD_CONFOPTS}"
else
make t-exec SKIP_LTESTS="${SKIP_LTESTS}" LTESTS="${LTESTS}" TEST_SSH_SSHD_CONFOPTS="${SSHD_CONFOPTS}"
${env} make t-exec SKIP_LTESTS="${SKIP_LTESTS}" LTESTS="${LTESTS}" TEST_SSH_SSHD_CONFOPTS="${SSHD_CONFOPTS}"
fi
fi
15 changes: 14 additions & 1 deletion .github/setup_ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ case "$host" in
echo Removing extended ACLs so umask works as expected.
setfacl -b . regress
PACKAGES="$PACKAGES,autoconf,automake,cygwin-devel,gcc-core"
PACKAGES="$PACKAGES,make,openssl-devel,zlib-devel"
PACKAGES="$PACKAGES,make,openssl,libssl-devel,zlib-devel"
;;
*-darwin*)
PACKAGER=brew
Expand Down Expand Up @@ -142,6 +142,10 @@ for TARGET in $TARGETS; do
INSTALL_BORINGSSL=1
PACKAGES="${PACKAGES} cmake ninja-build"
;;
aws-lc)
INSTALL_AWSLC=1
PACKAGES="${PACKAGES} cmake ninja-build"
;;
putty-*)
INSTALL_PUTTY=$(echo "${TARGET}" | cut -f2 -d-)
PACKAGES="${PACKAGES} cmake"
Expand Down Expand Up @@ -240,6 +244,15 @@ if [ ! -z "${INSTALL_BORINGSSL}" ]; then
cp -r ${HOME}/boringssl/include /opt/boringssl)
fi

if [ ! -z "${INSTALL_AWSLC}" ]; then
(cd ${HOME} && git clone --depth 1 --branch v1.46.1 https://github.com/aws/aws-lc.git &&
cd ${HOME}/aws-lc && mkdir build && cd build &&
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF .. && ninja &&
mkdir -p /opt/aws-lc/lib &&
cp ${HOME}/aws-lc/build/crypto/libcrypto.a /opt/aws-lc/lib &&
cp -r ${HOME}/aws-lc/include /opt/aws-lc)
fi

if [ ! -z "${INSTALL_ZLIB}" ]; then
(cd ${HOME} && git clone https://github.com/madler/zlib.git &&
cd ${HOME}/zlib && ./configure && make &&
Expand Down
89 changes: 47 additions & 42 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ name: C/C++ CI
on:
workflow_dispatch: # disable for win32-openssh fork
# push:
# paths: [ '**.c', '**.h', '**.m4', '**.sh', '**/Makefile.in', 'configure.ac', '.github/configs', '.github/workflows/c-cpp.yaml' ]
# paths: [ '**.c', '**.h', '**.m4', '**.sh', '**/Makefile.in', 'configure.ac', '.github/configs', '.github/workflows/c-cpp.yml' ]
# pull_request:
# paths: [ '**.c', '**.h', '**.m4', '**.sh', '**/Makefile.in', 'configure.ac', '.github/configs', '.github/workflows/c-cpp.yaml' ]
# paths: [ '**.c', '**.h', '**.m4', '**.sh', '**/Makefile.in', 'configure.ac', '.github/configs', '.github/workflows/c-cpp.yml' ]

jobs:
ci:
Expand All @@ -16,11 +16,13 @@ jobs:
matrix:
# First we test all OSes in the default configuration.
target:
- ubuntu-20.04
- ubuntu-22.04
- macos-12
- ubuntu-latest
- ubuntu-22.04-arm
- ubuntu-24.04-arm
- macos-13
- macos-14
- macos-15
- windows-2019
- windows-2022
config: [default]
Expand All @@ -29,34 +31,36 @@ jobs:
include:
- { target: windows-2019, config: cygwin-release }
- { target: windows-2022, config: cygwin-release }
- { target: ubuntu-20.04, config: valgrind-1 }
- { target: ubuntu-20.04, config: valgrind-2 }
- { target: ubuntu-20.04, config: valgrind-3 }
- { target: ubuntu-20.04, config: valgrind-4 }
- { target: ubuntu-20.04, config: valgrind-5 }
- { target: ubuntu-20.04, config: valgrind-unit }
- { target: ubuntu-20.04, config: c89 }
- { target: ubuntu-20.04, config: clang-6.0 }
- { target: ubuntu-20.04, config: clang-8 }
- { target: ubuntu-20.04, config: clang-9 }
- { target: ubuntu-20.04, config: clang-10 }
- { target: ubuntu-20.04, config: clang-11 }
- { target: ubuntu-20.04, config: clang-12-Werror }
- { target: ubuntu-20.04, config: clang-sanitize-address }
- { target: ubuntu-20.04, config: clang-sanitize-undefined }
- { target: ubuntu-20.04, config: gcc-sanitize-address }
- { target: ubuntu-20.04, config: gcc-sanitize-undefined }
- { target: ubuntu-20.04, config: gcc-7 }
- { target: ubuntu-20.04, config: gcc-8 }
- { target: ubuntu-20.04, config: gcc-10 }
- { target: ubuntu-22.04, config: c89 }
- { target: ubuntu-22.04, config: clang-11 }
- { target: ubuntu-22.04, config: clang-12-Werror }
- { target: ubuntu-22.04, config: clang-14 }
- { target: ubuntu-22.04, config: clang-sanitize-address }
- { target: ubuntu-22.04, config: clang-sanitize-undefined }
- { target: ubuntu-22.04, config: gcc-9 }
- { target: ubuntu-22.04, config: gcc-11-Werror }
- { target: ubuntu-22.04, config: gcc-12-Werror }
- { target: ubuntu-20.04, config: pam }
- { target: ubuntu-20.04, config: kitchensink }
- { target: ubuntu-22.04, config: gcc-sanitize-address }
- { target: ubuntu-22.04, config: gcc-sanitize-undefined }
- { target: ubuntu-22.04, config: hardenedmalloc }
- { target: ubuntu-20.04, config: tcmalloc }
- { target: ubuntu-20.04, config: musl }
- { target: ubuntu-22.04, config: heimdal }
- { target: ubuntu-22.04, config: kitchensink }
- { target: ubuntu-22.04, config: krb5 }
- { target: ubuntu-22.04, config: libedit }
- { target: ubuntu-22.04, config: pam }
- { target: ubuntu-22.04, config: selinux }
- { target: ubuntu-22.04, config: sk }
- { target: ubuntu-22.04, config: valgrind-1 }
- { target: ubuntu-22.04, config: valgrind-2 }
- { target: ubuntu-22.04, config: valgrind-3 }
- { target: ubuntu-22.04, config: valgrind-4 }
- { target: ubuntu-22.04, config: valgrind-unit }
- { target: ubuntu-22.04, config: without-openssl }
- { target: ubuntu-latest, config: gcc-14 }
- { target: ubuntu-latest, config: clang-15 }
- { target: ubuntu-latest, config: clang-19 }
- { target: ubuntu-latest, config: boringssl }
- { target: ubuntu-latest, config: aws-lc }
- { target: ubuntu-latest, config: libressl-master }
- { target: ubuntu-latest, config: libressl-3.2.6 }
- { target: ubuntu-latest, config: libressl-3.3.6 }
Expand All @@ -65,18 +69,20 @@ jobs:
- { target: ubuntu-latest, config: libressl-3.6.1 }
- { target: ubuntu-latest, config: libressl-3.7.2 }
- { target: ubuntu-latest, config: libressl-3.8.4 }
- { target: ubuntu-latest, config: libressl-3.9.1 }
- { target: ubuntu-latest, config: libressl-3.9.2 }
- { target: ubuntu-latest, config: libressl-4.0.0 }
- { target: ubuntu-latest, config: openssl-master }
- { target: ubuntu-latest, config: openssl-noec }
- { target: ubuntu-latest, config: openssl-1.1.1 }
- { target: ubuntu-latest, config: openssl-1.1.1t }
- { target: ubuntu-latest, config: openssl-1.1.1w }
- { target: ubuntu-latest, config: openssl-3.0.0 }
- { target: ubuntu-latest, config: openssl-3.0.13 }
- { target: ubuntu-latest, config: openssl-3.0.15 }
- { target: ubuntu-latest, config: openssl-3.1.0 }
- { target: ubuntu-latest, config: openssl-3.1.5 }
- { target: ubuntu-latest, config: openssl-3.2.1 }
- { target: ubuntu-latest, config: openssl-3.3.0 }
- { target: ubuntu-latest, config: openssl-3.1.7 }
- { target: ubuntu-latest, config: openssl-3.2.3 }
- { target: ubuntu-latest, config: openssl-3.3.2 }
- { target: ubuntu-latest, config: openssl-3.4.0 }
- { target: ubuntu-latest, config: openssl-1.1.1_stable }
- { target: ubuntu-latest, config: openssl-3.0 } # stable branch
- { target: ubuntu-latest, config: openssl-3.1 } # stable branch
Expand All @@ -92,19 +98,18 @@ jobs:
- { target: ubuntu-latest, config: putty-0.78 }
- { target: ubuntu-latest, config: putty-0.79 }
- { target: ubuntu-latest, config: putty-0.80 }
- { target: ubuntu-latest, config: putty-0.81 }
- { target: ubuntu-latest, config: putty-0.82 }
- { target: ubuntu-latest, config: putty-0.83 }
- { target: ubuntu-latest, config: putty-snapshot }
- { target: ubuntu-latest, config: zlib-develop }
- { target: ubuntu-22.04, config: pam }
- { target: ubuntu-22.04, config: krb5 }
- { target: ubuntu-22.04, config: heimdal }
- { target: ubuntu-22.04, config: libedit }
- { target: ubuntu-22.04, config: sk }
- { target: ubuntu-22.04, config: selinux }
- { target: ubuntu-22.04, config: kitchensink }
- { target: ubuntu-22.04, config: without-openssl }
- { target: macos-12, config: pam }
- { target: ubuntu-latest, config: tcmalloc }
- { target: ubuntu-latest, config: musl }
- { target: ubuntu-22.04-arm, config: kitchensink }
- { target: ubuntu-24.04-arm, config: kitchensink }
- { target: macos-13, config: pam }
- { target: macos-14, config: pam }
- { target: macos-15, config: pam }
runs-on: ${{ matrix.target }}
steps:
- name: set cygwin git params
Expand Down
Loading