Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
689 commits
Select commit Hold shift + click to select a range
2238c48
upstream: pkcs11_fetch_ecdsa_pubkey: use ASN1_STRING accessors
botovq Nov 23, 2025
69965ae
upstream: When loading FIDO2 resident keys, set the comment to the
djmdjm Nov 24, 2025
5e7c3f3
upstream: When testing PKCS11, explicitly allow the module path in
djmdjm Nov 24, 2025
1fdc3c6
upstream: give ssh-agent more time to start in tests; requested in
djmdjm Nov 24, 2025
6157e1c
upstream: don't set the PerSourceNetBlockSize IPv6 mask if sscanf
djmdjm Nov 25, 2025
c23122c
upstream: avoid leak of fingerprint on error path; from Lidong Yan via
djmdjm Nov 25, 2025
2d0d266
upstream: Support writing ED25519 keys in PKCS8 format. GHPR570 from
djmdjm Nov 25, 2025
0fb1f3c
upstream: move mention of default MaxStartups (which uses the
djmdjm Nov 25, 2025
52037ed
upstream: Add Escape option ~I that shows information about the current
daztucker Nov 27, 2025
2e8b5de
upstream: Add compression stats to ~I connection info escape
daztucker Nov 29, 2025
8fce552
upstream: Add local hostname and pid to ~I escape connection info,
daztucker Nov 29, 2025
6662239
upstream: correctly quote filenames in verbose output for local->local
djmdjm Dec 3, 2025
eb97fc2
upstream: Add an ssh -Oconninfo command
daztucker Dec 5, 2025
b7dc1d9
upstream: Add test for ssh -Oconninfo mux command.
daztucker Dec 5, 2025
f45cd24
upstream: Add convtime_double() that converts a string interval,
djmdjm Dec 5, 2025
c48de35
upstream: convert PerSourcePenalties to using floating point time,
djmdjm Dec 5, 2025
f4e79a4
upstream: unit tests for convtime_double()
djmdjm Dec 5, 2025
89a67a0
upstream: Shell compatibility fix.
daztucker Dec 5, 2025
70a01a7
Set SSH_REGRESS_TMP after making tmpdir.
daztucker Dec 5, 2025
5f5d1af
upstream: ASSERT_DOUBLE_* test helpers
djmdjm Dec 5, 2025
c99a30d
upstream: Don't check compressions stats when ssh does not support
daztucker Dec 6, 2025
ab164f6
upstream: Append a newline, otherwise some sed's won't output anything.
daztucker Dec 6, 2025
45aca67
upstream: spaces->tab
daztucker Dec 7, 2025
f62868e
upstream: Avoid "if ! thing || ! otherthing; then" constructs since
daztucker Dec 7, 2025
f701869
upstream: allow network programs select DSCP_VA for network ToS
Dec 5, 2025
185459d
Define IPTOS_DSCP_VA if not already defined.
daztucker Dec 7, 2025
f086faf
Remove generated compat includes during distclean.
daztucker Dec 7, 2025
d05b704
Add OpenBSD 7.8 VM test target.
daztucker Dec 7, 2025
70ad2e9
upstream: increment correct variable when counting group
djmdjm Dec 8, 2025
a1e37f0
upstream: There is a warning next to the authorized_keys command=""
djmdjm Dec 8, 2025
24f32f7
upstream: errant line
djmdjm Dec 8, 2025
94bf115
upstream: add a GssDelegateCreds option for the server, controlling
djmdjm Dec 8, 2025
49480f1
upstream: Add 'invaliduser' penalty to PerSourcePenalties, which is
daztucker Dec 16, 2025
f878d7c
upstream: Plug leak in ssh_digest_memory on error path.
daztucker Dec 16, 2025
3ab346a
upstream: fix markup, .CM -> .Cm
jonathangray Dec 18, 2025
4c9de15
upstream: new sentence, new line
jonathangray Dec 18, 2025
4e0f2de
upstream: detect invalid sshd_config Subsystem directives inside
djmdjm Dec 19, 2025
831e6db
upstream: don't crash at connection time if the main sshd_config
djmdjm Dec 19, 2025
81e5bb8
upstream: check that invalid subsystem directives inside Match
djmdjm Dec 19, 2025
345892b
upstream: regression test for bz3906: sshd crashing at connection
djmdjm Dec 19, 2025
0b98be7
upstream: correctly check subsystem command is not the empty string
djmdjm Dec 19, 2025
b652322
upstream: typo in comment
djmdjm Dec 19, 2025
daf6bdd
upstream: add a "ssh -O channels user@host" multiplexing command to
djmdjm Dec 22, 2025
aaac8c6
upstream: Don't misuse the sftp limits extension's open-handles
djmdjm Dec 22, 2025
5166b6c
upstream: When certificate support was added to OpenSSH,
djmdjm Dec 22, 2025
adca2f4
upstream: don't try to test webauthn signatures. Nothing in OpenSSH
djmdjm Dec 22, 2025
ecdf9b9
upstream: regression tests for certificates with empty principals
djmdjm Dec 22, 2025
dfd710e
upstream: return 0 in void function; spotted by clang -Wextra
djmdjm Dec 22, 2025
09daf2a
upstream: correctly quote wildcard host certificate principal name,
djmdjm Dec 22, 2025
6eafc52
Update ssh-agent.1
LudovicRousseau Dec 27, 2025
55b6b16
upstream: Add sshbuf_consume_upto_child(), to similify particular
djmdjm Dec 29, 2025
ca313fe
upstream: Enforce maximum packet/block limit during
djmdjm Dec 30, 2025
dd49a87
upstream: Remove bug compatibility for implementations that don't
djmdjm Dec 30, 2025
b9c3187
upstream: unit tests for sshbuf_consume_upto_child()
djmdjm Dec 30, 2025
5f2bc9c
upstream: avoid possible NULL deref if
djmdjm Dec 30, 2025
ea367b4
upstream: test the right thing, doofus
djmdjm Dec 30, 2025
a6f8f79
upstream: rewrite SOCKS4/4A/5 parsing code to use sshbuf functions
djmdjm Jan 4, 2026
d41503a
add GitHub Copilot files
tgauth Jan 9, 2026
1053ed3
update instructions to branch off of current branch instead of latest…
tgauth Jan 9, 2026
2955382
remove direct references to scripts for mcp tools
tgauth Jan 9, 2026
36c4826
fix default log location in tool
tgauth Jan 9, 2026
2ffcb0e
create tool for merge process prerequisites
tgauth Jan 9, 2026
4984b21
replace more direct scripts references to mcp tool references
tgauth Jan 9, 2026
63ac1ac
update mcp server name
tgauth Jan 9, 2026
644bbf5
fix merge prereq tool
tgauth Jan 9, 2026
1d8b201
update merge prereq tool
tgauth Jan 9, 2026
aa02282
update instructions
tgauth Jan 9, 2026
2bbb98e
update instructions
tgauth Jan 9, 2026
123f8e2
refactor tool to workaround io/buffer issues when invoked via MCP
tgauth Jan 15, 2026
09f0fd6
update instructions to use mcp tool to read build logs
tgauth Jan 15, 2026
59178e8
update build verfication script to check correct location for artifacts
tgauth Jan 15, 2026
2985579
fix typo
tgauth Jan 15, 2026
1cc936b
upstream: Fill entropy in a single operation instead of hundreds.
daztucker Jan 20, 2026
b0d0b71
upstream: If editline has been switched to vi mode (i.e. via "bind
sthen Jan 21, 2026
d7950ac
upstream: In ssh(1), don't try to match certificates held in an
djmdjm Jan 21, 2026
76775b2
fix tool to parse build log for success/failure and update instructions
tgauth Jan 23, 2026
e379310
add merge prompt file
tgauth Jan 23, 2026
5b55ec2
update tools
tgauth Jan 23, 2026
950bb1b
update instructions to build only after batch of commits with a CI run
tgauth Jan 23, 2026
ead71d7
update prereq tool to use start-job with git cmd
tgauth Jan 23, 2026
071bfba
update build instructions with paths.targets info
tgauth Jan 23, 2026
332176b
refine instructions
tgauth Jan 23, 2026
0bb51cd
tweak instructions
tgauth Jan 23, 2026
29ad116
update tool
tgauth Jan 23, 2026
409dc95
upstream: Make it clear that DenyUsers/DenyGroups overrides
millert Jan 22, 2026
832a770
upstream: Implement "query" extension from
djmdjm Jan 27, 2026
a1072a6
fix bug in tool
tgauth Jan 30, 2026
c19ad3f
update instructions
tgauth Jan 30, 2026
6463960
upstream: Implement missing pieces of FIDO/webauthn signature support,
djmdjm Feb 5, 2026
91c4d42
upstream: remove vestige of when we supported running without privsep
djmdjm Feb 6, 2026
01bddc0
Add OpenIndiana VM test target.
daztucker Dec 31, 2025
f0b7ecf
Run tests on older OmniOS version too.
daztucker Dec 31, 2025
dfbb852
Remove obsolete comments.
daztucker Dec 31, 2025
86e0f4a
Split sudo out to its own install line.
daztucker Jan 1, 2026
d84dbcc
Add a GSSAPI authentication test
zacikpa Jan 29, 2026
b83c0bb
Enable gss-auth tests on Kerberos test configs.
daztucker Feb 6, 2026
1160092
upstream: Typo fixes, mostly in comments.
daztucker Feb 6, 2026
5b12d83
Typographical Fixes
THE-Spellchecker Jan 4, 2026
9c4949c
upstream: Fetch the error reason from libcrypto
daztucker Feb 6, 2026
670f7d2
upstream: Adjust Makefiles to include just-added
daztucker Feb 6, 2026
15fe1ce
upstream: bit of webauthn support missed in previous commit
djmdjm Feb 7, 2026
a393759
Fix ut_type for btmp records
sm00th Nov 18, 2025
77e41d0
Resync with upstream (unused header and whitespace).
daztucker Feb 7, 2026
3fd88ca
Resync headers with upstream.
daztucker Feb 7, 2026
9e585f1
Resync minor format diffs with upstream.
daztucker Feb 7, 2026
4fe79e3
Move poll.h include to resync with upstream.
daztucker Feb 7, 2026
6decbb9
Move paths.h and poll.h includes to resync with upstream.
daztucker Feb 7, 2026
ccc1faf
upstream: Move ssherr.h to where portable needs it.
daztucker Feb 7, 2026
9ebce88
upstream: Also check for EWOULDBLOCK on system error. This is the
daztucker Feb 7, 2026
ad63236
Remove unused <netinet/in_systm.h> includes.
sortie Nov 2, 2024
2a1a257
upstream: misc.h is needed for ForwardOptions in servconf.h.
daztucker Feb 7, 2026
ecaaa4f
Move USE_SYSTEM_GLOB into a glob.h compat shim.
daztucker Feb 8, 2026
8605ed2
upstream: Move setting of user, service and style earlier since
daztucker Feb 8, 2026
d6c672a
upstream: Remove sys/poll.h since we also have poll.h.
daztucker Feb 8, 2026
6adb655
upstream: Make ssh optionally build with Kerberos 5 against the
daztucker Feb 8, 2026
249476f
Test KERBEROS5=yes builds on OpenBSD.
daztucker Feb 8, 2026
98fdb05
Remove generic check for getpagesize.
daztucker Feb 8, 2026
b62198a
Sync header order with upstream.
daztucker Feb 8, 2026
a3742cc
Sync whitespace with upstream.
daztucker Feb 8, 2026
43d0bf0
Sync header order with upstream and KNF.
daztucker Feb 8, 2026
6243936
Remove openindiana VM test.
daztucker Feb 8, 2026
9385d72
upstream: Reorder headers as per KNF.
daztucker Feb 8, 2026
c73b8b0
upstream: Include sys/socket.h to match -portable,
daztucker Feb 8, 2026
47828db
upstream: Reorder headers according to KNF,
daztucker Feb 8, 2026
eeb671f
Shim <sys/queue.h> and <sys/tree.h>.
daztucker Feb 9, 2026
3e9c4ed
Provide compat shims for sys/{mount.h,statvfs.h).
daztucker Feb 9, 2026
4922635
Factor out COMPATINCLUDES into its own variable.
daztucker Feb 9, 2026
957cb0f
Minor resync with upstream
daztucker Feb 9, 2026
8a5d591
Don't create sys/mount.h shim except on DragonFly.
daztucker Feb 11, 2026
bb27033
upstream: Remove now-unused openssl includes since sshd.c no longer
daztucker Feb 9, 2026
280cf58
upstream: Remove now-unused SKEYQUERY enums from monitor_reqtype.
daztucker Feb 9, 2026
c3eaa95
upstream: Remove unused OpenSSL includes,
daztucker Feb 9, 2026
8ec21f6
upstream: Use https for URLs.
daztucker Feb 9, 2026
db77967
upstream: Remove unused OpenSSL includes,
daztucker Feb 9, 2026
c897279
upstream: Remove references to skey auth which is long gone.
daztucker Feb 9, 2026
4ef2449
upstream: De-underscore __inline__ to match -portable
daztucker Feb 9, 2026
f1b9e0f
upstream: Pass actual size of the buffer to hostname() instead of a
daztucker Feb 11, 2026
8174618
Remove do_pam_chauthtok since it's no longer used.
daztucker Feb 11, 2026
1a4eb51
Factor out RNG reseeding in to a single function.
daztucker Feb 11, 2026
c169300
upstream: Reorder includes and defines to match both KNF and
daztucker Feb 11, 2026
6a756f3
upstream: Remove unused sys/queue.h include.
daztucker Feb 11, 2026
3160f2a
upstream: Add includes used in Portable to reduce diffs.
daztucker Feb 11, 2026
135a622
upstream: support multiple files in a sshd_config RevokedKeys
djmdjm Feb 11, 2026
2f51e29
upstream: support multiple files in a ssh_config RevokedHostKeys
djmdjm Feb 11, 2026
ae51e05
upstream: very basic testing of multiple files in RevokedKeys and
djmdjm Feb 11, 2026
db47519
upstream: remove unneeded forward struct declaration ok djm@
jonathangray Feb 13, 2026
8b3a055
upstream: Replace <sys/mount.h> with <limits.h>
daztucker Feb 13, 2026
c244769
Remove DragonFlyBSD workaround for sys/mount.h.
daztucker Feb 13, 2026
9b0e50b
auth-pam: Add debugging information when we receive PAM messages
3v1n0 Oct 17, 2023
3e8a45e
auth-pam: Add an enum to define the PAM done status
3v1n0 Oct 16, 2023
d8b806a
Remove obsolete comment referencing auth-chall.c.
daztucker Feb 15, 2026
07c6413
upstream: remove unneeded includes; ok dtucker@
jonathangray Feb 14, 2026
c5cee49
upstream: Add basic test for keyboard-interactive auth.
daztucker Feb 15, 2026
7a59f55
upstream: Reorder headers to match KNF and Portable.
daztucker Feb 16, 2026
a1158bb
fix duplicate PAM msgs, missing loginmsg reset
Oct 14, 2024
b9a6dd4
auth-pam: Immediately report interactive instructions to clients
3v1n0 Oct 17, 2023
df2b281
Remove "draining" of PAM prompts.
daztucker Feb 15, 2026
723b76c
Removed duplicate includes; spotted by jsg@.
daztucker Feb 16, 2026
9eb778c
Restore utf8.h removed earlier as it's needed.
daztucker Feb 16, 2026
0e35095
upstream: remove duplicate includes; ok dtucker@
jonathangray Feb 16, 2026
2b0f4a7
upstream: make IPQoS first-match-wins in sshd_config as it's
djmdjm Feb 17, 2026
c363156
upstream: when uploading a directory using sftp/sftp (e.g. during a
djmdjm Feb 18, 2026
84206bd
upstream: same treatment for remote/remote copies (i.e. scp -3):
djmdjm Feb 18, 2026
b046330
Add test coverage for all of the --audit= configs.
daztucker Feb 18, 2026
e5e1843
Whitespace fix.
daztucker Feb 18, 2026
97e8e66
Increase riscv64 test coverage.
daztucker Feb 18, 2026
f1a9628
Move BSM audit test to selfhosted runner.
daztucker Feb 18, 2026
c9fcea8
Enable BSM audit test on FreeBSD VMs.
daztucker Feb 18, 2026
5f98660
Install libaudit-dev for --with-audit=linux test.
daztucker Feb 18, 2026
2d2368c
add instructions for communication expectations and examples
tgauth Feb 20, 2026
179d41e
update instructions and tools to clarify end commit expectations
tgauth Feb 20, 2026
7e1ea03
add instructions around addressing compiler warnings
tgauth Feb 20, 2026
a07a53b
Activate kbdint test on PAM configs.
daztucker Feb 23, 2026
4ed5f9e
upstream: Remove leftover debugging.
daztucker Feb 24, 2026
c940e70
Check regress passwd is set before enabling kbdint.
daztucker Feb 24, 2026
d7a9cd6
Remove potentially leftover include compat shims.
daztucker Feb 24, 2026
5da0cce
Remove anchor to specific release notes version.
daztucker Feb 24, 2026
c25254d
Add self-hosted status to main README now it's public.
daztucker Feb 24, 2026
acf7497
Add AWS-LC and BoringSSL as potential libcryptos.
daztucker Feb 24, 2026
c65f4d2
upstream: Use fmprintf instead of logit for challenge-response name and
daztucker Feb 24, 2026
c26d90e
Remove BoringSSL rpath as it's statically linked.
daztucker Feb 28, 2026
b50b881
Try -lstdc++ for libcrypto before giving up.
daztucker Feb 28, 2026
bb781f0
upstream: Move banner exchange to sshd-auth process
djmdjm Mar 2, 2026
2a387ba
upstream: Replace all remaining instances of u_intXX_t types with the
daztucker Mar 3, 2026
511f5bc
upstream: correctness wrt draft-ietf-sshm-ssh-agent:
djmdjm Mar 5, 2026
4fe2786
upstream: With IANA codepoints for draft-ietf-sshm-ssh-agent now
djmdjm Mar 5, 2026
e067ccd
upstream: ssh-agent supports a "query" extension that allows a
djmdjm Mar 5, 2026
2df416d
upstream: Replace u_intXX_t types with the equivalent C99 uintXX_t
daztucker Mar 6, 2026
4e15f7f
upstream: Move OpenBSD CVS ID marker to top of file to avoid conflicts
daztucker Mar 6, 2026
c19afda
add tool to wrap GH commands to check exit code
tgauth Mar 6, 2026
8a16638
add tool to get context during complex conflicts
tgauth Mar 6, 2026
7801561
Merge branch 'PowerShell:latestw_all' into latestw_all_copilot
tgauth Mar 9, 2026
73888af
stubs for OpenBSD unveil(2)
djmdjm Mar 10, 2026
b75bf33
upstream: Stop doing access() before execve(). It is a TOCTOU, but
Mar 7, 2026
46eb7dc
upstream: With it's own daemonization / fd cleaning code, ssh-agent
Mar 7, 2026
2a9e1aa
upstream: unveil ssh-pkcs11-helper too; fixes breakage spotted by
djmdjm Mar 10, 2026
beba588
upstream: When execve() failure is indicated on the pipe, replicate
Mar 10, 2026
ef98b60
upstream: when unveils error our, use correct variable
Mar 10, 2026
70a4126
upstream: whitespace
djmdjm Mar 10, 2026
2416827
upstream: Fix potential 1-byte array overrun
daztucker Mar 11, 2026
552a5c7
upstream: Check return values of fcntl(... O_CLOEXEC)
daztucker Mar 11, 2026
5f24965
add scratch branch instructions
tgauth Mar 17, 2026
443616c
upstream: repair ssh-keysign after pledge changes; spotted/tested
djmdjm Mar 19, 2026
2ca6eef
upstream: clarify that Authorized(Keys|Principals)(File|Command)
djmdjm Mar 23, 2026
12da685
Upstream tests don't use the config file.
daztucker Mar 19, 2026
4bb4f16
Add a Valgrind test of the PAM config.
daztucker Mar 23, 2026
d3efbba
Add a VM-based test for OpenBSD-current.
daztucker Mar 19, 2026
c5182e3
upstream: fix potential hang if /etc/moduli doesn't contain the
djmdjm Mar 28, 2026
21ecb5f
upstream: mention that RevokedKeys is read by the server at each
djmdjm Mar 28, 2026
8331cb9
upstream: fix base16 parsing; currently unused. From Renaud Allard
djmdjm Mar 28, 2026
fd5018f
upstream: ensure c->local_window doesn't underflow during updates;
djmdjm Mar 28, 2026
fd7d4b2
seccomp sandbox: allow riscv_hwprobe syscall if present
Icenowy Mar 22, 2026
6eb5a68
openbsd-compat: reword EAI_NONAME error string
LaurentChardon Mar 28, 2026
bdaf65a
fix state confusion between PAM and privsep code
djmdjm Mar 29, 2026
c90f46b
use nonnull attribute when available
djmdjm Mar 29, 2026
54443b8
depend
djmdjm Mar 29, 2026
b62a6cf
upstream: switch from int to long long for bandwidth calculations;
djmdjm Mar 29, 2026
0a0ef45
upstream: apply the same validity rules to usernames and hostnames
djmdjm Mar 30, 2026
5576e26
upstream: Add special handling of
daztucker Mar 23, 2026
2ecfcc0
upstream: Check if host keys exist before adding them, and expand
daztucker Mar 23, 2026
445db5c
upstream: Ensure known_hosts file exists when setting up.
daztucker Mar 24, 2026
55fc7bf
upstream: Use ~/.shosts for Hostbased test.
daztucker Mar 24, 2026
607bd87
upstream: add a regression test for ProxyJump/-J; ok dtucker
djmdjm Mar 30, 2026
1340d3f
Add proxyjump.sh omitted from previous commit.
daztucker Mar 30, 2026
52c01f2
add missing <stdio.h> include to unit tests for printf
michaelforney Mar 31, 2026
fe86c39
avoid k suffix in dd count operand in sftp-resume test
michaelforney Apr 1, 2026
5d72f18
properly bail out when PAM changes username
djmdjm Apr 2, 2026
78d5498
upstream: Fix possible sshd crash when sshd_config set MaxStartups
djmdjm Apr 2, 2026
c805b97
upstream: add missing askpass check when using
djmdjm Apr 2, 2026
487e8ac
upstream: when downloading files as root in legacy (-O) mode and
djmdjm Apr 2, 2026
fd1c7e1
upstream: correctly match ECDSA signature algorithms against
djmdjm Apr 2, 2026
76685c9
upstream: move username validity check for usernames specified on
djmdjm Apr 2, 2026
eb3a5bb
upstream: openssh-10.3
djmdjm Apr 2, 2026
5aa0992
upstream: adapt to username validity check change
djmdjm Apr 2, 2026
f8b9d69
Update versions in RPM spec files
djmdjm Apr 2, 2026
4168c90
depend
djmdjm Apr 2, 2026
500b203
update release notes URL
djmdjm Apr 2, 2026
2d98db9
autogenerated files for release
djmdjm Apr 2, 2026
2e61034
add local debug validation instructions
tgauth Apr 6, 2026
8c80a50
Merge commit '2d98db98331803cbb820211b2fb0d31a6e71e58e' into merge-v1…
tgauth Apr 10, 2026
a98c6bb
Fix Windows build for PKCS#11 header merge
tgauth Apr 10, 2026
fbfc9c8
Fix Windows build for header-map merge updates
tgauth Apr 10, 2026
2b460a3
Fix Windows build for time header indirection
tgauth Apr 10, 2026
bca4fce
Fix Windows build after V_10_3_P1 scratch merge
tgauth Apr 10, 2026
f980b2e
Sync clean branch files from scratch resolutions
tgauth Apr 10, 2026
d6ce452
Document V_10_3_P1 merge conflict resolutions
tgauth Apr 10, 2026
8de2672
Fix Windows split sshd-session state flow
tgauth Apr 10, 2026
9d35123
update instructions
tgauth Apr 13, 2026
276ac7a
fix workflow merge
tgauth Apr 13, 2026
d9816b8
Update OpenSSH version to 10.3.0.0
tgauth Apr 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
350 changes: 171 additions & 179 deletions .depend

Large diffs are not rendered by default.

583 changes: 583 additions & 0 deletions .github/agents/merge-upstream.agent.md

Large diffs are not rendered by default.

32 changes: 20 additions & 12 deletions .github/ci-status.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,27 @@
master :
[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:master)
[![C/C++ CI](../../../actions/workflows/c-cpp.yml/badge.svg)](../../../actions/workflows/c-cpp.yml?query=branch:master)
[![VM CI](../../../actions/workflows/vm.yml/badge.svg)](../../../actions/workflows/vm.yml?query=branch:master)
[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:master)
[![Upstream self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/upstream.yml/badge.svg)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/upstream.yml?query=branch:master)
[![CIFuzz](https://github.com/openssh/openssh-portable/actions/workflows/cifuzz.yml/badge.svg)](https://github.com/openssh/openssh-portable/actions/workflows/cifuzz.yml)
[![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)
[![CIFuzz](../../../actions/workflows/cifuzz.yml/badge.svg)](../../../actions/workflows/cifuzz.yml)
[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/openssh.svg)](https://issues.oss-fuzz.com/issues?q="Project:+openssh"+is:open)
[![Coverity Status](https://scan.coverity.com/projects/21341/badge.svg)](https://scan.coverity.com/projects/openssh-portable)
<br>

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)
10.2 :
[![C/C++ CI](../../../actions/workflows/c-cpp.yml/badge.svg?branch=V_10_2)](../../../actions/workflows/c-cpp.yml?query=branch:V_10_2)
[![VM CI](../../../actions/workflows/vm.yml/badge.svg?branch=V_10_2)](../../../actions/workflows/vm.yml?query=branch:V_10_2)
[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_10_2)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_10_2)

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

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)
10.0 :
[![C/C++ CI](../../../actions/workflows/c-cpp.yml/badge.svg?branch=V_10_0)](../../../actions/workflows/c-cpp.yml?query=branch:V_10_0)
[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_10_0)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_10_0)

9.7 :
[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_7)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_7)
[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_7)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_7)
9.9 :
[![C/C++ CI](../../../actions/workflows/c-cpp.yml/badge.svg?branch=V_9_9)](../../../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)
42 changes: 32 additions & 10 deletions .github/configs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ if [ "$config" = "" ]; then
config="default"
fi

if [ ! -z "${LTESTS}" ]; then
OVERRIDE_LTESTS="${LTESTS}"
fi

unset CC CFLAGS CPPFLAGS LDFLAGS LTESTS SUDO

TEST_TARGET="tests compat-tests"
Expand Down Expand Up @@ -48,7 +52,7 @@ case "$config" in
CONFIGFLAGS="--with-xauth=/usr/bin/xauth --with-security-key-builtin"
CONFIGFLAGS="$CONFIGFLAGS --with-kerberos5=/usr --with-libedit --disable-strip"
;;
clang-12-Werror)
clang-12-Werror)
CC="clang-12"
# clang's implicit-fallthrough requires that the code be annotated with
# __attribute__((fallthrough)) and does not understand /* FALLTHROUGH */
Expand Down Expand Up @@ -130,7 +134,9 @@ case "$config" in
CONFIGFLAGS="--with-kerberos5 --with-libedit --with-pam"
CONFIGFLAGS="${CONFIGFLAGS} --with-security-key-builtin --with-selinux"
CONFIGFLAGS="${CONFIGFLAGS} --with-linux-memlock-onfault"
CONFIGFLAGS="${CONFIGFLAGS} --with-audit=debug"
CFLAGS="-DSK_DEBUG -DSANDBOX_SECCOMP_FILTER_DEBUG"
EXTRA_TESTS="gss-auth"
;;
hardenedmalloc)
CONFIGFLAGS="--with-ldflags=-lhardened_malloc"
Expand All @@ -144,9 +150,12 @@ case "$config" in
TCMALLOC_STACKTRACE_METHOD=generic_fp
TEST_SSH_SSHD_ENV="TCMALLOC_STACKTRACE_METHOD=generic_fp"
export TCMALLOC_STACKTRACE_METHOD TEST_SSH_SSHD_ENV

SKIP_LTESTS="agent-restrict"
;;
krb5|heimdal)
CONFIGFLAGS="--with-kerberos5"
EXTRA_TESTS="gss-auth"
;;
libedit)
CONFIGFLAGS="--with-libedit"
Expand All @@ -160,14 +169,15 @@ case "$config" in
pam-krb5)
CONFIGFLAGS="--with-pam --with-kerberos5"
SSHD_CONFOPTS="UsePam yes"
EXTRA_TESTS="gss-auth"
;;
*pam)
CONFIGFLAGS="--with-pam"
SSHD_CONFOPTS="UsePam yes"
;;
boringssl)
CONFIGFLAGS="--disable-pkcs11"
LIBCRYPTOFLAGS="--with-ssl-dir=/opt/boringssl --with-rpath=-Wl,-rpath,"
LIBCRYPTOFLAGS="--with-ssl-dir=/opt/boringssl"
;;
aws-lc)
LIBCRYPTOFLAGS="--with-ssl-dir=/opt/aws-lc --with-rpath=-Wl,-rpath,"
Expand All @@ -189,7 +199,7 @@ case "$config" in
fi
;;
selinux)
CONFIGFLAGS="--with-selinux"
CONFIGFLAGS="--with-selinux --with-audit=linux"
;;
sk)
CONFIGFLAGS="--with-security-key-builtin --with-security-key-standalone"
Expand All @@ -198,10 +208,14 @@ case "$config" in
LIBCRYPTOFLAGS="--without-openssl"
TEST_TARGET=t-exec
;;
valgrind-[1-4]|valgrind-unit)
valgrind-[1-4]|valgrind-unit|valgrind-pam-1)
# rlimit sandbox and FORTIFY_SOURCE confuse Valgrind.
CONFIGFLAGS="--without-sandbox --without-hardening"
CONFIGFLAGS="$CONFIGFLAGS --with-cppflags=-D_FORTIFY_SOURCE=0"
if [ "${config}" = "valgrind-pam-1" ]; then
CONFIGFLAGS="$CONFIGFLAGS --with-pam"
SSHD_CONFOPTS="UsePam yes"
fi
TEST_TARGET="t-exec USE_VALGRIND=1"
TEST_SSH_ELAPSED_TIMES=1
export TEST_SSH_ELAPSED_TIMES
Expand All @@ -212,7 +226,7 @@ case "$config" in
tests3="krl forward-control sshsig agent-restrict kextype sftp"
tests4="cert-userkey cert-hostkey kextype sftp-perm keygen-comment percent"
case "$config" in
valgrind-1)
valgrind-1|valgrind-pam)
# All tests except agent-timeout (which is flaky under valgrind),
# connection-timeout (which doesn't work since it's so slow)
# and hostbased (since valgrind won't let ssh exec keysign).
Expand Down Expand Up @@ -265,10 +279,6 @@ case "${TARGET_HOST}" in
TEST_TARGET="t-exec unit TEST_SHELL=bash"
SKIP_LTESTS="rekey sftp"
;;
debian-riscv64)
# This machine is fairly slow, so skip the unit tests.
TEST_TARGET="t-exec"
;;
dfly58*|dfly60*)
# scp 3-way connection hangs on these so skip until sorted.
SKIP_LTESTS=scp3
Expand All @@ -277,7 +287,7 @@ case "${TARGET_HOST}" in
# Native linker is not great with PIC so OpenSSL is built w/out.
CONFIGFLAGS="${CONFIGFLAGS} --disable-security-key"
;;
fbsd14-ppc64)
fbsd14-ppc64|nbsd-arm64be)
# Disable security key tests for bigendian interop test.
CONFIGFLAGS="${CONFIGFLAGS} --disable-security-key"
;;
Expand Down Expand Up @@ -361,6 +371,13 @@ case "$host" in
SKIP_LTESTS="agent-getpeereid" ;;
esac
;;
*-solaris2.10)
# Only the sol10 VM has BSM libraries installed, so add that to
# the PAM test config.
if [ "${config}" = "pam" ]; then
CONFIGFLAGS="${CONFIGFLAGS} --with-audit=bsm"
fi
;;
esac

# Unless specifically configured, search for a suitable version of OpenSSL,
Expand Down Expand Up @@ -392,5 +409,10 @@ if [ -x "$(which plink 2>/dev/null)" ]; then
export REGRESS_INTEROP_PUTTY
fi

if [ ! -z "${OVERRIDE_LTESTS}" ]; then
echo >&2 "Overriding LTESTS, was '${LTESTS}', now '${OVERRIDE_LTESTS}'"
LTESTS="${OVERRIDE_LTESTS}"
fi

export CC CFLAGS CPPFLAGS LDFLAGS LTESTS SUDO
export TEST_TARGET TEST_SSH_UNSAFE_PERMISSIONS TEST_SSH_FAIL_FATAL
75 changes: 75 additions & 0 deletions .github/install_libcrypto.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
#!/bin/sh
#
# Install specified libcrypto.
# -a : install version for ABI compatibility test.
# -n : dry run, don't actually build and install.
#
# Usage: $0 [-a] [-n] openssl-$branch/tag destdir [config options]

set -e

bincompat_test=""
dryrun=""
while [ "$1" = "-a" ] || [ "$1" = "-n" ]; do
if [ "$1" = "-a" ]; then
abi_compat_test=y
elif [ "$1" = "-n" ]; then
dryrun="echo dryrun:"
fi
shift
done

ver="$1"
destdir="$2"
opts="$3"

if [ -z "${ver}" ] || [ -z "${destdir}" ]; then
echo tag/branch and destdir required
exit 1
fi

set -x

if [ ! -d ${HOME}/openssl ]; then
cd ${HOME}
git clone https://github.com/openssl/openssl.git
cd ${HOME}/openssl
git fetch --all
fi
cd ${HOME}/openssl

if [ "${abi_compat_test}" = "y" ]; then
echo selecting ABI test release/branch for ${ver}
case "${ver}" in
openssl-3.6)
ver=openssl-3.0.0
echo "selecting older release ${ver}"
;;
openssl-3.[012345])
major=$(echo ${ver} | cut -f1 -d.)
minor=$(echo ${ver} | cut -f2 -d.)
ver="${major}.$((${minor} + 1))"
echo selecting next release branch ${ver}
;;
openssl-3.*.*)
major=$(echo ${ver} | cut -f1 -d.)
minor=$(echo ${ver} | cut -f2 -d.)
patch=$(echo ${ver} | cut -f3 -d.)
ver="${major}.${minor}.$((${patch} + 1))"
echo checking for release tag ${ver}
if git tag | grep -q "^${ver}\$"; then
echo selected next patch release ${ver}
else
ver="${major}.${minor}"
echo not found, selecting release branch ${ver}
fi
;;
esac
fi

git checkout ${ver}
make clean >/dev/null 2>&1 || true
${dryrun} ./config no-threads shared ${opts} --prefix=${destdir} \
-Wl,-rpath,${destdir}/lib64
${dryrun} make -j4
${dryrun} sudo make install_sw
37 changes: 37 additions & 0 deletions .github/install_putty.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/sh

ver="$1"

echo
echo --------------------------------------
echo Installing PuTTY version ${ver}
echo --------------------------------------

cd /tmp

case "${ver}" in
snapshot)
tarball=putty.tar.gz
url=https://tartarus.org/~simon/putty-snapshots/${tarball}
;;
*)
tarball=putty-${ver}.tar.gz
url=https://the.earth.li/~sgtatham/putty/${ver}/${tarball}
;;
esac

if [ ! -f ${tarball} ]; then
wget -q ${url}
fi

mkdir -p /tmp/puttybuild
cd /tmp/puttybuild

tar xfz /tmp/${tarball} && cd putty-*
if [ -f CMakeLists.txt ]; then
cmake . && cmake --build . -j4 && sudo cmake --build . --target install
else
./configure && make -j4 && sudo make install
fi
sudo rm -rf /tmp/puttybuild
/usr/local/bin/plink -V
Loading
Loading