Commit Graph

12295 Commits

Author SHA1 Message Date
djm@openbsd.org 43254b326a
upstream: set interactive mode for ControlPersist sessions if they
originally requested a tty; enables keystroke timing obfuscation for most
ControlPersist sessions. Spotted by naddy@

OpenBSD-Commit-ID: 72783a26254202e2f3f41a2818a19956fe49a772
2023-09-04 10:09:52 +10:00
Darren Tucker ff3eda68ce
Set LLONG_MAX for C89 test.
If we don't have LLONG_MAX, configure will figure out that it can get it
by setting -std=gnu99, at which point we won't be testing C89 any more.
To avoid this, feed it in via CFLAGS.
2023-08-31 23:02:35 +10:00
djm@openbsd.org f98031773d
upstream: make PerSourceMaxStartups first-match-wins; ok dtucker@
OpenBSD-Commit-ID: dac0c24cb709e3c595b8b4f422a0355dc5a3b4e7
2023-08-29 15:01:47 +10:00
djm@openbsd.org cfa66857db
upstream: descriptive text shouldn't be under .Cm
OpenBSD-Commit-ID: b1afaeb456a52bc8a58f4f9f8b2f9fa8f6bf651b
2023-08-29 15:01:46 +10:00
djm@openbsd.org 01dbf3d466
upstream: limit artificial login delay to a reasonable maximum (5s)
and don't delay at all for the "none" authentication mechanism. Patch by
Dmitry Belyavskiy in bz3602 with polish/ok dtucker@

OpenBSD-Commit-ID: 85b364676dd84cf1de0e98fc2fbdcb1a844ce515
2023-08-28 19:50:04 +10:00
jmc@openbsd.org 528da5b9d7
upstream: add spacing for punctuation when macro args;
OpenBSD-Commit-ID: e80343c16ce0420b2aec98701527cf90371bd0db
2023-08-28 19:50:03 +10:00
djm@openbsd.org 3867361ca6
upstream: explicit long long type in timing calculations (doesn't
matter, since the range is pre-clamped)

OpenBSD-Commit-ID: f786ed902d04a5b8ecc581d068fea1a79aa772de
2023-08-28 14:07:56 +10:00
djm@openbsd.org 7603ba7126
upstream: Add keystroke timing obfuscation to the client.
This attempts to hide inter-keystroke timings by sending interactive
traffic at fixed intervals (default: every 20ms) when there is only a
small amount of data being sent. It also sends fake "chaff" keystrokes
for a random interval after the last real keystroke. These are
controlled by a new ssh_config ObscureKeystrokeTiming keyword/

feedback/ok markus@

OpenBSD-Commit-ID: 02231ddd4f442212820976068c34a36e3c1b15be
2023-08-28 13:34:10 +10:00
djm@openbsd.org dce6d80d2e
upstream: Introduce a transport-level ping facility
This adds a pair of SSH transport protocol messages SSH2_MSG_PING/PONG
to implement a ping capability. These messages use numbers in the "local
extensions" number space and are advertised using a "ping@openssh.com"
ext-info message with a string version number of "0".

ok markus@

OpenBSD-Commit-ID: b6b3c4cb2084c62f85a8dc67cf74954015eb547f
2023-08-28 13:34:01 +10:00
tobhe@openbsd.org d2d247938b
upstream: Log errors in kex_exchange_identification() with level
verbose instead of error to reduce preauth log spam. All of those get logged
with a more generic error message by sshpkt_fatal().

feedback from sthen@
ok djm@

OpenBSD-Commit-ID: bd47dab4695b134a44c379f0e9a39eed33047809
2023-08-28 13:34:00 +10:00
djm@openbsd.org 9d7193a835
upstream: correct math for ClientAliveInterval that caused the
probes to be sent less frequently than configured; from Dawid Majchrzak

OpenBSD-Commit-ID: 641153e7c05117436ddfc58267aa267ca8b80038
2023-08-28 13:34:00 +10:00
Darren Tucker 3c6ab63b38
Include Portable version in sshd version string.
bz#3608, ok djm@
2023-08-25 14:48:02 +10:00
Darren Tucker 17fa6cd10a
obsd-arm64 host is real hardware...
so put in the correct config location.
2023-08-21 19:47:58 +10:00
Darren Tucker 598ca75c85
Add OpenBSD ARM64 test host. 2023-08-21 19:17:27 +10:00
Darren Tucker 1acac79bfb
Add test for zlib development branch. 2023-08-21 19:17:18 +10:00
djm@openbsd.org 84efebf352
upstream: want stdlib.h for free(3)
OpenBSD-Commit-ID: 743af3c6e3ce5e6cecd051668f0327a01f44af29
2023-08-21 14:38:38 +10:00
Darren Tucker cb4ed12ffc
Fix zlib version check for 1.3 and future version.
bz#3604.
2023-08-19 07:39:08 +10:00
Darren Tucker 25b75e21f1
Add 9.4 branch to CI status page. 2023-08-18 12:50:32 +10:00
djm@openbsd.org 803e22eabd
upstream: fix regression in OpenSSH 9.4 (mux.c r1.99) that caused
multiplexed sessions to ignore SIGINT under some circumstances. Reported by /
feedback naddy@, ok dtucker@

OpenBSD-Commit-ID: 4d5c6c894664f50149153fd4764f21f43e7d7e5a
2023-08-18 12:02:41 +10:00
djm@openbsd.org e706bca324
upstream: defence-in-depth MaxAuthTries check in monitor; ok markus
OpenBSD-Commit-ID: 65a4225dc708e2dae71315adf93677edace46c21
2023-08-18 11:44:41 +10:00
djm@openbsd.org d1ab7eb904
upstream: add message number of SSH2_MSG_NEWCOMPRESS defined in RFC8308
OpenBSD-Commit-ID: 6c984171c96ed67effd7b5092f3d3975d55d6028
2023-08-15 10:12:26 +10:00
Darren Tucker fa8da52934
Add obsd72 and obsd73 test targets. 2023-08-13 15:01:27 +10:00
djm@openbsd.org f9f1800667
upstream: better debug logging of sessions' exit status
OpenBSD-Commit-ID: 82237567fcd4098797cbdd17efa6ade08e1a36b0
2023-08-11 09:12:59 +10:00
naddy@openbsd.org a8c57bcb07
upstream: drop a wayward comma, ok jmc@
OpenBSD-Commit-ID: 5c11fbb9592a29b37bbf36f66df50db9d38182c6
2023-08-11 09:10:21 +10:00
Damien Miller e962f9b318
depend 2023-08-10 20:17:07 +10:00
Damien Miller 0fcb60bf83
update versions in RPM specs 2023-08-10 20:17:06 +10:00
Damien Miller d0cee42984
update version in README 2023-08-10 20:17:06 +10:00
djm@openbsd.org 78b4dc6684
upstream: openssh-9.4
OpenBSD-Commit-ID: 71fc1e01a4c4ea061b252bd399cda7be757e6e35
2023-08-10 20:17:05 +10:00
Darren Tucker 58ca4f0aa8
Only include unistd.h once. 2023-08-10 11:30:24 +10:00
Damien Miller 3961ed02dc
wrap poll.h include in HAVE_POLL_H 2023-08-10 09:08:49 +10:00
dtucker@openbsd.org e535fbe2af
upstream: Apply ConnectTimeout to multiplexing local socket
connections.  If the multiplex socket exists but the connection times out,
ssh will fall back to a direct connection the same way it would if the socket
did not exist at all.  ok djm@

OpenBSD-Commit-ID: 2fbe1a36d4a24b98531b2d298a6557c8285dc1b4
2023-08-04 17:50:35 +10:00
Darren Tucker 9d92e7b248
Fix RNG seeding for OpenSSL w/out self seeding.
When sshd is built with an OpenSSL that does not self-seed, it would
fail in the preauth privsep process while handling a new connection.
Sanity checked by djm@
2023-08-03 20:29:08 +10:00
djm@openbsd.org f70010d9b0
upstream: CheckHostIP has defaulted to 'no' for a while; make the
commented- out config option match. From Ed Maste

OpenBSD-Commit-ID: e66e934c45a9077cb1d51fc4f8d3df4505db58d9
2023-08-03 09:09:02 +10:00
dtucker@openbsd.org c88a8788f9
upstream: remove unnecessary if statement.
github PR#422 from eyalasulin999, ok djm@

OpenBSD-Commit-ID: 2b6b0dde4407e039f58f86c8d2ff584a8205ea55
2023-08-01 18:54:30 +10:00
jmc@openbsd.org 77b8b865cd
upstream: %C is a callable macro in mdoc(7)
so, as we do for %D, escape it;

OpenBSD-Commit-ID: 538cfcddbbb59dc3a8739604319491dcb8e0c0c9
2023-08-01 18:54:13 +10:00
djm@openbsd.org e0f91aa9c2
upstream: don't need to start a command here; use ssh -N instead.
Fixes failure on cygwin spotted by Darren

OpenBSD-Regress-ID: ff678a8cc69160a3b862733d935ec4a383f93cfb
2023-07-30 11:41:45 +10:00
djm@openbsd.org f446a44f30
upstream: add LTESTS_FROM variable to allow skipping of tests up to
a specific point. e.g. "make LTESTS_FROM=t-sftp" will only run the sftp.sh
test and subsequent ones. ok dtucker@

OpenBSD-Regress-ID: 07f653de731def074b29293db946042706fcead3
2023-07-30 11:41:44 +10:00
djm@openbsd.org 8eb8899d61
upstream: test ChrootDirectory in Match block
OpenBSD-Regress-ID: a6150262f39065939f025e546af2a346ffe674c1
2023-07-30 11:18:09 +10:00
djm@openbsd.org e43f43d3f1
upstream: better error messages
OpenBSD-Regress-ID: 55e4186604e80259496d841e690ea2090981bc7a
2023-07-30 11:17:43 +10:00
djm@openbsd.org 6958f00acf
upstream: don't incorrectly truncate logged strings retrieved from
PKCS#11 modules; based on GHPR406 by Jakub Jelen; ok markus

OpenBSD-Commit-ID: 7ed1082f23a13b38c373008f856fd301d50012f9
2023-07-28 08:31:01 +10:00
djm@openbsd.org d1ffde6b55
upstream: make sshd_config AuthorizedPrincipalsCommand and
AuthorizedKeysCommand accept the %D (routing domain) and a new %C (connection
address/port 4-tuple) as expansion sequences; ok markus

OpenBSD-Commit-ID: ee9a48bf1a74c4ace71b69de69cfdaa2a7388565
2023-07-28 08:29:21 +10:00
djm@openbsd.org 999a2886ca
upstream: increase default KDF work-factor for OpenSSH format
private keys from 16 to 24; { feedback ok } x { deraadt markus }

OpenBSD-Commit-ID: a3afb1383f8ff0a49613d449f02395d9e8d4a9ec
2023-07-28 08:29:20 +10:00
Darren Tucker 0fa803a1dd
Prefer OpenSSL's SHA256 in sk-dummy.so
Previously sk-dummy.so used libc's (or compat's) SHA256 since it may be
built without OpenSSL.  In many cases, however, including both libc's
and OpenSSL's headers together caused conflicting definitions.

We tried working around this (on OpenSSL <1.1 you could define
OPENSSL_NO_SHA, NetBSD had USE_LIBC_SHA2, various #define hacks) with
varying levels of success.  Since OpenSSL >=1.1 removed OPENSSL_NO_SHA
and including most OpenSSL headers would bring sha.h in, even if it
wasn't used directly this was a constant hassle.

Admit defeat and use OpenSSL's SHA256 unless we aren't using OpenSSL at
all.  ok djm@
2023-07-27 10:30:12 +10:00
Darren Tucker 36cdb5dbf5
Retire dfly58 test VM. Add dfly64. 2023-07-27 10:30:12 +10:00
djm@openbsd.org 2d34205dab
upstream: make ssh -f (fork after authentication) work properly in
multiplexed cases (inc. ControlPersist). bz3589 bz3589 Based on patches by
Peter Chubb; ok dtucker@

OpenBSD-Commit-ID: a7a2976a54b93e6767dc846b85647e6ec26969ac
2023-07-27 09:11:22 +10:00
naddy@openbsd.org 076aeda86a
upstream: man page typos; ok jmc@
OpenBSD-Commit-ID: e6ddfef94b0eb867ad88abe07cedc8ed581c07f0
2023-07-27 09:11:21 +10:00
jmc@openbsd.org 135e7d5fe3
upstream: tweak the allow-remote-pkcs11 text;
OpenBSD-Commit-ID: bc965460a89edf76865b7279b45cf9cbdebd558a
2023-07-27 09:11:21 +10:00
Darren Tucker 5f83342b61
Handle a couple more OpenSSL no-ecc cases.
ok djm@
2023-07-25 13:00:22 +10:00
Damien Miller edc2ef4e41
depend 2023-07-20 12:53:44 +10:00
Damien Miller 51fda734e0
Bring back OPENSSL_HAS_ECC to ssh-pkcs11-client 2023-07-20 12:53:21 +10:00