Commit Graph

12070 Commits

Author SHA1 Message Date
Darren Tucker eb88d07c43
Revert explicit chmods on private keys.
This should no longer be needed on Cygwin test runners due to previous
commit.
2023-02-25 14:45:41 +11:00
Darren Tucker 52b75db610
Remove extended ACLs from working dirs.
This should allow umask to work as expected and prevent tests from
failing due to excessive permissions on private keys.
2023-02-25 14:43:28 +11:00
Darren Tucker 0c5d4c843d
Explicitly set permissions on user and host keys.
On cygwin, the umask might not be sufficient.  Should fix tests on
Github runners.
2023-02-24 13:44:13 +11:00
djm@openbsd.org 6c9fc9d7a9
upstream: fix progressmeter corruption on wide displays; bz3534
feedback/ok dtucker@

OpenBSD-Commit-ID: f4affee067cec7c182f3e0b307d758e0472762a3
2023-02-22 15:06:44 +11:00
dtucker@openbsd.org fe0bd3cde9
upstream: fseek to end of known_hosts before writing to it.
POSIX and ANSI C require that applications call fseek or similar between
read and writing to a RW file.  OpenBSD doesn't enforce this, but some
(System V derived) platforms need this to prevent it from writing a
spurious extra byte (in this case, a newline).  ok djm@ deraadt@

OpenBSD-Commit-ID: 33e680dcd8110582a93a40a8491024e961f45137
2023-02-21 18:28:26 +11:00
Darren Tucker 357fb8ae14
Also run unit tests on AIX VMs.
In the past these tests took too long, but these days it only adds
about 5 min to the run.
2023-02-21 17:51:09 +11:00
Darren Tucker 17781aaa51
Wrap stdint.h inside ifdef. 2023-02-21 17:49:22 +11:00
Mayank Sharma ef798bad38
Add includes to ptimeout test.
Fixes test failures on AIX due to type mismatches.
2023-02-20 23:24:15 +11:00
Darren Tucker ab69dda05d
Always use the openssl binary configure tells us.
This fixes tests on platforms that do not have the openssl tool
installed at all.
2023-02-20 20:01:29 +11:00
dtucker@openbsd.org 2a7e344990
upstream: Remove now-unused compat bit SSH_BUG_RSASIGMD5. The code
to set this was removed in OpenSSH 7.7 when support for SSH implementations
dating back to before RFC standardization were removed.  "burn it all" djm@

OpenBSD-Commit-ID: 6330935fbe23dd00be79891505e06d1ffdac7cda
2023-02-17 15:43:57 +11:00
dtucker@openbsd.org 0833ccf2c8
upstream: Remove now-unused compat bit SSH_BUG_BIGENDIANAES. This
was previously set for OpenSSH 2.3 (released in 2000) but this check was
removed in OpenSSH 7.7 (2018).  ok djm@ deraadt@

OpenBSD-Commit-ID: 326426ea328707fc9e83305291ab135c87f678af
2023-02-17 15:43:54 +11:00
Damien Miller c81c2bea6e
whitespace fixes 2023-02-17 10:12:40 +11:00
Damien Miller 500f90b39d
whitespace at EOL 2023-02-17 10:02:08 +11:00
dtucker@openbsd.org 6835015240
upstream: Remove SSH_BUG_PASSWORDPAD compat bit
since it's no longer used. ok markus@

OpenBSD-Commit-ID: b92c21f56fe4b7f9a54790d6a9650725c226820b
2023-02-16 21:33:00 +11:00
dtucker@openbsd.org 537cccd804
upstream: Remove SSH_BUG_IGNOREMSG compat flag
since it's only applicable to SSH1 and thus no longer used.  ok markus@
"kill it with fire" djm@

OpenBSD-Commit-ID: ea13318b1937795d9db4790d3ce0a6ed01584dab
2023-02-16 21:12:07 +11:00
jmc@openbsd.org 285cf6cd4b
upstream: space between macro and punctuation; sort usage();
OpenBSD-Commit-ID: 6141610cfca037700730e41f868d1d9124958f8c
2023-02-16 21:11:38 +11:00
jmc@openbsd.org d39a96f70f
upstream: space between macro and punctuation;
OpenBSD-Commit-ID: abc95e550be9e6d9a7ff64b65c104c7be21ab19e
2023-02-16 21:11:35 +11:00
jmc@openbsd.org 16e82bf53f
upstream: sort SYNOPSIS;
OpenBSD-Commit-ID: dacd9da33277d5669a51213d880632599c890c1e
2023-02-16 21:11:32 +11:00
Darren Tucker d9685121ff
Improve seccomp compat on older systems.
Check if flags to mmap and madvise are defined before using them.
Should fix problems building on older Linux systems that don't have
these.  bz#3537, with & ok djm@.
2023-02-11 12:32:19 +11:00
djm@openbsd.org 6180b0fa4f
upstream: test -Ohashalg=... and that the default output contains both
specified hash algorithms; prompted by dtucker@

OpenBSD-Regress-ID: 26f309208c8d8b8fa9c5f419767b85f1e9b22f51
2023-02-10 16:13:06 +11:00
djm@openbsd.org d651f5c9fe
upstream: let ssh-keygen and ssh-keyscan accept
-Ohashalg=sha1|sha256 when outputting SSHFP fingerprints to allow algorithm
selection. bz3493 ok dtucker@

OpenBSD-Commit-ID: e6e07fe21318a873bd877f333e189eb963a11b3d
2023-02-10 16:12:42 +11:00
djm@openbsd.org 18938d11a9
upstream: add a `sshd -G` option that parses and prints the
effective configuration without attempting to load private keys and perform
other checks. This allows usage of the option before keys have been
generated.

bz3460 feedback/ok dtucker@

OpenBSD-Commit-ID: 774504f629023fc25a559ab1d95401adb3a7fb29
2023-02-10 16:12:42 +11:00
djm@openbsd.org df7d3dbf71
upstream: make `ssh -Q CASignatureAlgorithms` work as the manpage says
it should bz3532

OpenBSD-Commit-ID: 0ddb17b3fcbd99bfb5baea4ac5e449620cbd3adc
2023-02-10 15:44:19 +11:00
Darren Tucker d3b8d4198b
Add CentOS 7 test targets. 2023-02-10 14:26:44 +11:00
dtucker@openbsd.org 22efb01e35
upstream: Test adding terminating newline to known_hosts.
OpenBSD-Regress-ID: 5fc3010ac450195b3fbdeb68e875564968800365
2023-02-09 21:08:33 +11:00
dtucker@openbsd.org caec6da1a5
upstream: ssh-agent doesn't actually take -v,
so the recently-added ones will result in the test not cleaning up
after itself.  Patch from cjwatson at debian.org vi bz#3536.

OpenBSD-Regress-ID: 1fc8283568f5bf2f918517c2c1e778072cf61b1a
2023-02-09 21:08:16 +11:00
dtucker@openbsd.org 3c379c9a84
upstream: Ensure that there is a terminating newline when adding a new
entry to known_hosts.  bz#3529, with git+openssh at limpsquid.nl, ok deraadt@
markus@

OpenBSD-Commit-ID: fa8d90698da1886570512b96f051e266eac105e0
2023-02-09 21:07:59 +11:00
Darren Tucker 95b6bbd255
Replace 9.1 with 9.2 on CI status page. 2023-02-07 08:46:06 +11:00
Damien Miller 195313dfe1
harden Linux seccomp sandbox
Linux mmap(2) and madvise(2) syscalls support quite a number of funky
flags that we don't expect that sshd/libc will ever need. We can
exclude this kernel attack surface by filtering the mmap(2) flags
and the madvise(2) advice arguments.

Similarly, the sandboxed process in sshd is a single-threaded program
that does not use shared memory for synchronisation or communication.
Therefore, there should be no reason for the advanced priority
inheritance futex(2) operations to be necessary. These can also be
excluded.

Motivated by Jann Horn pointing out that there have been kernel bugs
in nearby Linux kernel code, e.g. CVE-2020-29368, CVE-2020-29374 and
CVE-2022-42703.

Feedback Jann Horn, ok dtucker@
2023-02-06 13:26:42 +11:00
Damien Miller 6dfb65de94
crank versions in RPM specs 2023-02-02 23:21:54 +11:00
Damien Miller d07cfb11a0
update version in README 2023-02-02 23:21:45 +11:00
Damien Miller 9fe207565b
adapt compat_kex_proposal() test to portable 2023-02-02 23:17:49 +11:00
djm@openbsd.org 903c556b93
upstream: test compat_kex_proposal(); by dtucker@
OpenBSD-Regress-ID: 0e404ee264db546f9fdbf53390689ab5f8d38bf2
2023-02-02 23:16:40 +11:00
dtucker@openbsd.org 405fba7196
upstream: Check if we can copy sshd or need to use sudo to do so
during reexec test. Skip test if neither can work.  Patch from anton@, tweaks
from me.

OpenBSD-Regress-ID: 731b96ae74d02d5744e1f1a8e51d09877ffd9b6d
2023-02-02 23:15:47 +11:00
djm@openbsd.org b2a2a8f69f
upstream: openssh-9.2
OpenBSD-Commit-ID: f7389f32413c74d6e2055f05cf65e7082de03923
2023-02-02 23:14:16 +11:00
djm@openbsd.org 12da782333
upstream: fix double-free caused by compat_kex_proposal(); bz3522
by dtucker@, ok me

OpenBSD-Commit-ID: 2bfc37cd2d41f67dad64c17a64cf2cd3806a5c80
2023-02-02 23:14:09 +11:00
Darren Tucker 79efd95ab5
Skip connection-timeout test on minix3.
Minix 3's Unix domain sockets don't seem to work the way we expect, so
skip connection-timeout test on that platform.  While there, group
together all similarly skipped tests and explicitly comment.
2023-02-01 17:19:33 +11:00
Damien Miller 6b508c4e03
fix libfido2 detection without pkg-config
Place libfido2 before additional libraries (that it may depend upon)
and not after. bz3530 from James Zhang; ok dtucker@
2023-02-01 12:14:22 +11:00
deraadt@openbsd.org 358e300fed
upstream: delete useless dependency
OpenBSD-Commit-ID: e1dc11143f83082e3154d6094f9136d0dc2637ad
2023-02-01 09:20:18 +11:00
deraadt@openbsd.org a4cb9be1b0
upstream: Create and install sshd random relink kit.
../Makefile.inc and Makfile are concatenated for reuse, which hopefully won't
be too fragile, we'll see if we need a different approach. The resulting sshd
binary is tested with the new sshd -V option before installation.  As the
binary layout is now semi-unknown (meaning relative, fixed, and gadget
offsets are not precisely known), change the filesystem permissions to 511 to
prevent what I call "logged in BROP". I have ideas for improving this further
but this is a first step ok djm

OpenBSD-Commit-ID: 1e0a2692b7e20b126dda60bf04999d1d30d959d8
2023-02-01 09:20:18 +11:00
jmc@openbsd.org bc7de6f91a
upstream: tweak previous; ok djm
OpenBSD-Commit-ID: df71ce4180c58202dfdc1d92626cfe900b91b7c3
2023-02-01 09:20:17 +11:00
Darren Tucker a20b7e9997
Skip connection-timeout test under Valgrind.
Valgrind slows things down so much that the timeout test fails.  Skip
this test until we figure out if we can make it work.
2023-01-31 19:35:44 +11:00
Darren Tucker c3ffb54b4f
Skip connection-timeout when missing FD passing.
This tests uses multiplexing which uses file descriptor passing, so
skip it if we don't have that.  Fixes test failures on Cygwin.
2023-01-25 21:58:40 +11:00
djm@openbsd.org 35253af01d
upstream: when restoring non-blocking mode to stdio fds, restore
exactly the flags that ssh started with and don't just clobber them with
zero, as this could also remove the append flag from the set;

bz3523; ok dtucker@

OpenBSD-Commit-ID: 1336b03e881db7564a4b66014eb24c5230e9a0c0
2023-01-18 13:21:00 +11:00
millert@openbsd.org 7d17ea151c
upstream: Add a -V (version) option to sshd like the ssh client
has. OK markus@ deraadt@

OpenBSD-Commit-ID: abe990ec3e636fb040132aab8cbbede98f0c413e
2023-01-18 13:21:00 +11:00
millert@openbsd.org 62360feb7f
upstream: For "ssh -V" always exit 0, there is no need to check opt
again. This was missed when the fallthrough in the switch case above it was
removed.  OK deraadt@

OpenBSD-Commit-ID: 5583e5d8f6d62a8a4215cfa95a69932f344c8120
2023-01-18 13:20:41 +11:00
djm@openbsd.org 12492c0abf
upstream: also check that an active session inhibits
UnusedConnectionTimeout idea markus@

OpenBSD-Regress-ID: 55c0fb61f3bf9e092b0a53f9041d3d2012f14003
2023-01-17 21:16:06 +11:00
djm@openbsd.org cef2593c33
upstream: regression test for UnusedConnectionTimeout
OpenBSD-Regress-ID: 7f29001374a68e71e5e078f69e4520cf4bcca084
2023-01-17 21:09:20 +11:00
djm@openbsd.org aff9493a89
upstream: unbreak test: cannot access shell positional parameters
past $9 without wrapping the position in braces (i.e. need ${10}, etc.)

OpenBSD-Regress-ID: 3750ec98d5d409ce6a93406fedde6f220d2ea2ac
2023-01-17 21:07:09 +11:00
djm@openbsd.org 0293c19807
upstream: Add a sshd_config UnusedConnectionTimeout option to terminate
client connections that have no open channels for some length of time. This
complements the recently-added ChannelTimeout option that terminates inactive
channels after a timeout.

ok markus@

OpenBSD-Commit-ID: ca983be74c0350364c11f8ba3bd692f6f24f5da9
2023-01-17 20:50:41 +11:00