Commit Graph
12442 Commits
Author SHA1 Message Date
[email protected] e27f032aa8 upstream: Always define puttysetup function.
OpenBSD-Regress-ID: b4c0ccfa4006a1bc5dfd99ccf21c854d3ce2aee0
2024-02-19 20:35:31 +11:00
[email protected] 84046f9991 upstream: Exapnd PuTTY test coverage.
Expand the set of ciphers, MACs and KEX methods in the PuTTY interop
tests.

OpenBSD-Regress-ID: dd28d97d48efe7329a396d0d505ee2907bf7fc57
2024-02-19 18:49:00 +11:00
[email protected] bbf541ee2a upstream: Factor out PuTTY setup.
Factor out PuTTY and call only when needed.

This allows us to avoid PuTTY key setup when it's not needed, which
speeds up the overall test run by a couple of percent.

OpenBSD-Regress-ID: c25eaccc3c91bc874400f7c85ce40e9032358c1c
2024-02-19 18:48:26 +11:00
[email protected] d31c21c57f upstream: clean sshd random relinking kit; ok miod@
OpenBSD-Commit-ID: 509bb19bb9762a4b3b589af98bac2e730541b6d4
2024-02-19 18:41:19 +11:00
[email protected] 4dbc5a363f upstream: whitespace
OpenBSD-Commit-ID: b24680bc755b621ea801ff8edf6f0f02b68edae1
2024-02-19 18:40:09 +11:00
Darren Tucker efde85dda2 Improve error message for OpenSSL header check.
bz#3668, ok djm@
2024-02-19 17:29:31 +11:00
Darren Tucker cbbdf868bc Interop test against PuTTY snapshot and releases. 2024-02-07 23:10:34 +11:00
Darren Tucker 91898bf786 Put privsep dir on OS X on /usr/local.
On some runners we can't create /var/empty, so put it some place we can
write.  Should fix test breakage on Max OS X 11.
2024-02-06 16:37:07 +11:00
Darren Tucker be5ed8ebed Add --disable-fd-passing option.
.. and enable for the minix3 test VM.  This will cause it to more reliably
skip tests that need FD passing and should fix the current test breakage.
2024-02-06 11:22:20 +11:00
Darren Tucker 0f6a8a0d0a Use "skip" function instead doing it ourselves. 2024-02-06 11:18:44 +11:00
Damien Miller 3ad669f81a ignore some vim droppings 2024-02-01 14:01:18 +11:00
[email protected] c283f29d23 upstream: whitespace
OpenBSD-Commit-ID: bf9e4a1049562ee4322684fbdce07142f04fdbb7
2024-02-01 13:42:45 +11:00
Damien Miller 0d96b1506b skip tests that use multiplexing on Windows
Some tests here use multiplexing, skip these if DISABLE_FD_PASSING
is set. Should unbreak tests on Windows.
2024-01-16 14:40:18 +11:00
[email protected] 50080fa42f upstream: don't disable RSA test when DSA is disabled; bug introduced
in last commit

OpenBSD-Regress-ID: 8780a7250bf742b33010e9336359a1c516f2d7b5
2024-01-11 15:56:37 +11:00
[email protected] 415c94ce17 upstream: make DSA testing optional, defaulting to on
ok markus

OpenBSD-Regress-ID: dfc27b5574e3f19dc4043395594cea5f90b8572a
2024-01-11 15:55:19 +11:00
[email protected] f9311e8921 upstream: ensure key_fd is filled when DSA is disabled; spotted by
tb@

OpenBSD-Commit-ID: 9dd417b6eec3cf67e870f147464a8d93f076dce7
2024-01-11 15:46:22 +11:00
[email protected] 4e838120a7 upstream: make DSA key support compile-time optional, defaulting to
on

ok markus@

OpenBSD-Commit-ID: 4f8e98fc1fd6de399d0921d5b31b3127a03f581d
2024-01-11 15:46:22 +11:00
[email protected] afcc9028bf upstream: fix incorrect capitalisation;
OpenBSD-Commit-ID: cb07eb06e15fa2334660ac73e98f29b6a1931984
2024-01-11 14:20:29 +11:00
[email protected] 9707c8170c upstream: extend ChannelTimeout regression test to exercise multiplexed
connections and the new "global" timeout type. ok dtucker@

OpenBSD-Regress-ID: f10d19f697024e9941acad7c2057f73d6eacb8a2
2024-01-10 09:25:04 +11:00
[email protected] b31b12d28d upstream: add a "global" ChannelTimeout type to ssh(1) and sshd(8)
that watches all open channels and will close all open channels if there is
no traffic on any of them for the specified interval. This is in addition to
the existing per-channel timeouts added a few releases ago.

This supports use-cases like having a session + x11 forwarding channel
open where one may be idle for an extended period but the other is
actively used. The global timeout would allow closing both channels when
both have been idle for too long.

ok dtucker@

OpenBSD-Commit-ID: 0054157d24d2eaa5dc1a9a9859afefc13d1d7eb3
2024-01-10 09:24:53 +11:00
[email protected] 602f4beeed upstream: adapt ssh_api.c code for kex-strict
from markus@ ok me

OpenBSD-Commit-ID: 4d9f256852af2a5b882b12cae9447f8f00f933ac
2024-01-10 09:24:06 +11:00
Damien Miller 42ba34aba8 nite that recent OSX tun/tap is unsupported 2024-01-08 16:26:37 +11:00
Sevan Janiyan 690bc125f9 README.platform: update tuntap url 2024-01-08 16:24:43 +11:00
Rose 6b8be2ccd7 Fix compilation error in ssh-pcks11-client.c
Compilation fails becaus of an undefined reference to helper_by_ec,
because we forgot the preprocessor conditional that excludes that function
from being called in unsupported configurations.
2024-01-08 16:23:19 +11:00
[email protected] 219c813415 upstream: Remove outdated note from PROTOCOL.mux
Port forward close by control master is already implemented
by `mux_master_process_close_fwd` in `mux.c`

GHPR442 from bigb4ng

OpenBSD-Commit-ID: ad0734fe5916d2dc7dd02b588906cea4df0482fb
2024-01-08 16:12:17 +11:00
[email protected] 4c3cf36263 upstream: fix missing field in [email protected] reply
documentation

GHPR441 from TJ Saunders

OpenBSD-Commit-ID: ff5733ff6ef4cd24e0758ebeed557aa91184c674
2024-01-08 16:06:29 +11:00
[email protected] f64cede2a3 upstream: make kex-strict section more explicit about its intent:
banning all messages not strictly required in KEX

OpenBSD-Commit-ID: fc33a2d7f3b7013a7fb7500bdbaa8254ebc88116
2024-01-08 16:06:28 +11:00
Damien Miller 698fe6fd61 update fuzzer example makefile to clang16 2024-01-08 14:46:19 +11:00
Damien Miller fc332cb2d6 unbreak fuzzers - missing pkcs11_make_cert()
provide stub for use in fuzzer harness
2024-01-08 14:45:49 +11:00
Damien Miller 9ea0a4524a unbreak fuzzers for clang16
getopt() needs a throw() attribute to compile, so supply one when compiling
things with C++
2024-01-08 14:45:14 +11:00
[email protected] a72833d007 upstream: remove ext-info-* in the kex.c code, not in callers;
with/ok markus@

OpenBSD-Commit-ID: c06fe2d3a0605c517ff7d65e38ec7b2d1b0b2799
2024-01-08 13:26:43 +11:00
[email protected] 86f9e96d9b upstream: fix typo; spotted by Albert Chin
OpenBSD-Commit-ID: 77140b520a43375b886e535eb8bd842a268f9368
2024-01-08 13:26:42 +11:00
[email protected] f0cbd26ec9 upstream: Import regenerated moduli.
OpenBSD-Commit-ID: 5a636f6ca7f25bfe775df4952f7aac90a7fcbbee
2024-01-08 13:26:29 +11:00
[email protected] 64ddf77653 upstream: spelling; ok markus@
OpenBSD-Commit-ID: 9d01f2e9d59a999d5d42fc3b3efcf8dfb892e31b
2024-01-08 13:25:21 +11:00
[email protected] 503fbe9ea2 upstream: sort -C, and add to usage(); ok djm
OpenBSD-Commit-ID: 80141b2a5d60c8593e3c65ca3c53c431262c812f
2024-01-08 13:25:20 +11:00
[email protected] 5413b1c7ff upstream: correct section numbers; from Ed Maste
OpenBSD-Commit-ID: e289576ee5651528404cb2fb68945556052cf83f
2024-01-08 13:25:20 +11:00
[email protected] 430ef86464 upstream: match flag type (s/int/u_int)
OpenBSD-Commit-ID: 9422289747c35ccb7b31d0e1888ccd5e74ad566a
2024-01-08 13:25:19 +11:00
Damien Miller 1036d77b34 better detection of broken -fzero-call-used-regs
gcc 13.2.0 on ppc64le refuses to compile some function, including
cipher.c:compression_alg_list() with an error:

> sorry, unimplemented: argument ‘used’ is not supportedcw
> for ‘-fzero-call-used-regs’ on this target

This extends the autoconf will-it-work test with a similarly-
structured function that seems to catch this.

Spotted/tested by Colin Watson; bz3645
2023-12-22 17:56:26 +11:00
Damien Miller 8241b9c052 crank versions V_9_6_P1 2023-12-19 01:59:50 +11:00
Damien Miller 2f2c65cb5f depend 2023-12-19 01:59:06 +11:00
[email protected] e48cdee8e1 upstream: regress test for agent PKCS#11-backed certificates
OpenBSD-Regress-ID: 38f681777cb944a8cc3bf9d0ad62959a16764df9
2023-12-19 01:57:37 +11:00
[email protected] 2f512f862d upstream: regress test for constrained PKCS#11 keys
OpenBSD-Regress-ID: b2f26ae95d609d12257b43aef7cd7714c82618ff
2023-12-19 01:57:16 +11:00
[email protected] cdddd66412 upstream: openssh-9.6
OpenBSD-Commit-ID: 21759837cf0e0092d9a2079f8fb562071c11016b
2023-12-19 01:53:47 +11:00
[email protected] 6d51feab15 upstream: ssh-agent: record failed session-bind attempts
Record failed attempts to session-bind a connection and refuse signing
operations on that connection henceforth.

Prevents a future situation where we add a new hostkey type that is not
recognised by an older ssh-agent, that consequently causes session-bind
to fail (this situation is only likely to arise when people mix ssh(1)
and ssh-agent(1) of different versions on the same host). Previously,
after such a failure the agent socket would be considered unbound and
not subject to restriction.

Spotted by Jann Horn

OpenBSD-Commit-ID: b0fdd023e920aa4831413f640de4c5307b53552e
2023-12-19 01:53:40 +11:00
[email protected] 7ef3787c84 upstream: ban user/hostnames with most shell metacharacters
This makes ssh(1) refuse user or host names provided on the
commandline that contain most shell metacharacters.

Some programs that invoke ssh(1) using untrusted data do not filter
metacharacters in arguments they supply. This could create
interactions with user-specified ProxyCommand and other directives
that allow shell injection attacks to occur.

It's a mistake to invoke ssh(1) with arbitrary untrusted arguments,
but getting this stuff right can be tricky, so this should prevent
most obvious ways of creating risky situations. It however is not
and cannot be perfect: ssh(1) has no practical way of interpreting
what shell quoting rules are in use and how they interact with the
user's specified ProxyCommand.

To allow configurations that use strange user or hostnames to
continue to work, this strictness is applied only to names coming
from the commandline. Names specified using User or Hostname
directives in ssh_config(5) are not affected.

feedback/ok millert@ markus@ dtucker@ deraadt@

OpenBSD-Commit-ID: 3b487348b5964f3e77b6b4d3da4c3b439e94b2d9
2023-12-19 01:53:40 +11:00
[email protected] 0cb50eefdd upstream: stricter handling of channel window limits
This makes ssh/sshd more strict in handling non-compliant peers that
send more data than the advertised channel window allows. Previously
the additional data would be silently discarded. This change will
cause ssh/sshd to terminate the connection if the channel window is
exceeded by more than a small grace allowance.

ok markus@

OpenBSD-Commit-ID: 811e21b41831eba3dd7f67b3d409a438f20d3037
2023-12-19 01:52:55 +11:00
[email protected] 4448a2938a upstream: Make it possible to load certs from PKCS#11 tokens
Adds a protocol extension to allow grafting certificates supplied by
ssh-add to keys loaded from PKCS#11 tokens in the agent.

feedback/ok markus@

OpenBSD-Commit-ID: bb5433cd28ede2bc910996eb3c0b53e20f86037f
2023-12-19 01:52:55 +11:00
[email protected] 881d9c6af9 upstream: apply destination constraints to all p11 keys
Previously applied only to the first key returned from each token.

ok markus@

OpenBSD-Commit-ID: 36df3afb8eb94eec6b2541f063d0d164ef8b488d
2023-12-19 01:51:46 +11:00
[email protected] a7ed931cae upstream: add "[email protected]" extension
This adds another transport protocol extension to allow a sshd to send
SSH2_MSG_EXT_INFO during user authentication, after the server has
learned the username that is being logged in to.

This lets sshd to update the acceptable signature algoritms for public
key authentication, and allows these to be varied via sshd_config(5)
"Match" directives, which are evaluated after the server learns the
username being authenticated.

Full details in the PROTOCOL file

OpenBSD-Commit-ID: 1de7da7f2b6c32a46043d75fcd49b0cbb7db7779
2023-12-19 01:51:46 +11:00
[email protected] 1edb00c58f upstream: implement "strict key exchange" in ssh and sshd
This adds a protocol extension to improve the integrity of the SSH
transport protocol, particular in and around the initial key exchange
(KEX) phase.

Full details of the extension are in the PROTOCOL file.

with markus@

OpenBSD-Commit-ID: 2a66ac962f0a630d7945fee54004ed9e9c439f14
2023-12-19 01:51:11 +11:00