]> git.ipfire.org Git - thirdparty/openssh-portable.git/log
thirdparty/openssh-portable.git
4 years agoupstream: load_hostkeys()/hostkeys_foreach() variants for FILE*
djm@openbsd.org [Sun, 20 Dec 2020 23:36:51 +0000 (23:36 +0000)] 
upstream: load_hostkeys()/hostkeys_foreach() variants for FILE*

Add load_hostkeys_file() and hostkeys_foreach_file() that accept a
FILE* argument instead of opening the file directly.

Original load_hostkeys() and hostkeys_foreach() are implemented using
these new interfaces.

Add a u_int note field to the hostkey_entry and hostkey_foreach_line
structs that is passed directly from the load_hostkeys() and
hostkeys_foreach() call. This is a lightweight way to annotate results
between different invocations of load_hostkeys().

ok markus@

OpenBSD-Commit-ID: 6ff6db13ec9ee4edfa658b2c38baad0f505d8c20

4 years agoupstream: Print client kem key with correct length.
tobhe@openbsd.org [Sat, 19 Dec 2020 22:09:21 +0000 (22:09 +0000)] 
upstream: Print client kem key with correct length.

ok markus@

OpenBSD-Commit-ID: 91689e14a4fc6c270e265a32d1c8faba63a45755

4 years agoupstream: fix possible error("%s", NULL) on error paths
djm@openbsd.org [Thu, 17 Dec 2020 23:28:50 +0000 (23:28 +0000)] 
upstream: fix possible error("%s", NULL) on error paths

OpenBSD-Commit-ID: 0b3833c2cb985453ecca1d76803ebb8f3b736a11

4 years agoupstream: refactor client percent_expand() argument passing;
djm@openbsd.org [Thu, 17 Dec 2020 23:26:11 +0000 (23:26 +0000)] 
upstream: refactor client percent_expand() argument passing;

consolidate the common arguments into a single struct and pass that around
instead of using a bunch of globals. ok markus@

OpenBSD-Commit-ID: 035e6d7ca9145ad504f6af5a021943f1958cd19b

4 years agoupstream: prepare readconf.c for fuzzing; remove fatal calls and
djm@openbsd.org [Thu, 17 Dec 2020 23:10:27 +0000 (23:10 +0000)] 
upstream: prepare readconf.c for fuzzing; remove fatal calls and

fix some (one-off) memory leaks; ok markus@

OpenBSD-Commit-ID: 91c6aec57b0e7aae9190de188e9fe8933aad5ec5

4 years agoupstream: use _PATH_SSH_USER_DIR instead of hardcoded .ssh in path
djm@openbsd.org [Mon, 14 Dec 2020 03:13:12 +0000 (03:13 +0000)] 
upstream: use _PATH_SSH_USER_DIR instead of hardcoded .ssh in path

OpenBSD-Commit-ID: 5c1048468813107baa872f5ee33ba51623630e01

4 years agobasic KEX fuzzer; adapted from Markus' unittest
Damien Miller [Fri, 4 Dec 2020 03:01:27 +0000 (14:01 +1100)] 
basic KEX fuzzer; adapted from Markus' unittest

4 years agouse options that work with recent clang
Damien Miller [Fri, 4 Dec 2020 02:57:43 +0000 (13:57 +1100)] 
use options that work with recent clang

4 years agoupstream: shuffle a few utility functions into sftp-client.c; from
djm@openbsd.org [Fri, 4 Dec 2020 02:41:10 +0000 (02:41 +0000)] 
upstream: shuffle a few utility functions into sftp-client.c; from

Jakub Jelen

OpenBSD-Commit-ID: fdeb1aae1f6149b193f12cd2af158f948c514a2a

4 years agoupstream: make ssh_free(NULL) a no-op
djm@openbsd.org [Fri, 4 Dec 2020 02:29:56 +0000 (02:29 +0000)] 
upstream: make ssh_free(NULL) a no-op

OpenBSD-Commit-ID: 42cb285d94789cefe6608db89c63040ab0a80fa0

4 years agoupstream: memleak of DH public bignum; found with libfuzzer
djm@openbsd.org [Fri, 4 Dec 2020 02:29:25 +0000 (02:29 +0000)] 
upstream: memleak of DH public bignum; found with libfuzzer

OpenBSD-Commit-ID: 0e913b542c3764b100b1571fdb0d0e5cc086fe97

4 years agoupstream: fix minor memleak of kex->hostkey_alg on rekex
djm@openbsd.org [Fri, 4 Dec 2020 02:27:57 +0000 (02:27 +0000)] 
upstream: fix minor memleak of kex->hostkey_alg on rekex

OpenBSD-Commit-ID: 2c3969c74966d4ccdfeff5e5f0df0791919aef50

4 years agoupstream: typos: s/hex/kex/ in error messages
djm@openbsd.org [Fri, 4 Dec 2020 02:27:08 +0000 (02:27 +0000)] 
upstream: typos: s/hex/kex/ in error messages

OpenBSD-Commit-ID: 43a026c9571dd779ec148de1829cf5a6b6651905

4 years agoupstream: make program name be const
djm@openbsd.org [Fri, 4 Dec 2020 02:25:13 +0000 (02:25 +0000)] 
upstream: make program name be const

OpenBSD-Commit-ID: ece25680ec637fdf20502721ccb0276691df5384

4 years agoupstream: Ignore comments at the end of config lines in ssh_config,
dtucker@openbsd.org [Mon, 30 Nov 2020 05:36:39 +0000 (05:36 +0000)] 
upstream: Ignore comments at the end of config lines in ssh_config,

similar to what we already do for sshd_config.  bz#2320, with & ok djm@

OpenBSD-Commit-ID: bdbf9fc5bc72b1a14266f5f61723ed57307a6db4

4 years agoupstream: Include cipher.h for declaration of cipher_by_name.
dtucker@openbsd.org [Sat, 28 Nov 2020 12:52:32 +0000 (12:52 +0000)] 
upstream: Include cipher.h for declaration of cipher_by_name.

OpenBSD-Commit-ID: ddfebbca03ca0e14e00bbad9d35f94b99655d032

4 years agoupstream: check result of strchr() against NULL rather than
djm@openbsd.org [Sat, 28 Nov 2020 03:27:59 +0000 (03:27 +0000)] 
upstream: check result of strchr() against NULL rather than

searched-for characters; from zhongjubin@huawei.com

OpenBSD-Commit-ID: e6f57de1d4a4d25f8db2d44e8d58d847e247a4fe

4 years agoupstream: Document ssh-keygen -Z, sanity check its argument earlier and
dtucker@openbsd.org [Fri, 27 Nov 2020 10:12:30 +0000 (10:12 +0000)] 
upstream: Document ssh-keygen -Z, sanity check its argument earlier and

provide a better error message if it's not correct.  Prompted by bz#2879, ok
djm@ jmc@

OpenBSD-Commit-ID: 484178a173e92230fb1803fb4f206d61f7b58005

4 years agoupstream: Set the specified TOS/DSCP for interactive use prior to
djm@openbsd.org [Fri, 27 Nov 2020 00:49:58 +0000 (00:49 +0000)] 
upstream: Set the specified TOS/DSCP for interactive use prior to

TCP connect. The connection phase of the SSH session is time-sensitive (due
to server side login grace periods) and is frequently interactive (e.g.
entering passwords). The ultimate interactive/bulk TOS/DSCP will be set after
authentication completes.

ok dtucker@

OpenBSD-Commit-ID: f31ab10d9233363a6d2c9996007083ba43a093f1

4 years agoupstream: clean up passing of struct passwd from monitor to preauth
djm@openbsd.org [Fri, 27 Nov 2020 00:37:10 +0000 (00:37 +0000)] 
upstream: clean up passing of struct passwd from monitor to preauth

privsep process. No longer copy entire struct w/ pointer addresses, but pass
remaining scalar fields explicitly,

Prompted by Yuichiro NAITO, feedback Thorsten Glaser; ok dtucker@

OpenBSD-Commit-ID: 9925df75a56732c43f3663e70dd15ff413ab3e53

4 years agoupstream: when loading PKCS#11 keys, include the key fingerprints
djm@openbsd.org [Sun, 22 Nov 2020 22:38:26 +0000 (22:38 +0000)] 
upstream: when loading PKCS#11 keys, include the key fingerprints

and provider/slot information in debug output.

OpenBSD-Commit-ID: 969a089575d0166a9a364a9901bb6a8d9b8a1431

4 years agoupstream: when mentioning that the host key has changed, don't
djm@openbsd.org [Sun, 22 Nov 2020 22:37:11 +0000 (22:37 +0000)] 
upstream: when mentioning that the host key has changed, don't

report the type because it is ambiguous as to whether it referred to the
known or new host key. bz3216; ok dtucker@

OpenBSD-Commit-ID: 2d5ce4a83dbcf44e340a572e361decad8aab7bad

4 years agoUse "=" not "==" in string test.
Darren Tucker [Wed, 25 Nov 2020 06:38:46 +0000 (17:38 +1100)] 
Use "=" not "==" in string test.

POSIX says "=" is string comparison and some shells (eg HP-UX) will
complain about "==".

4 years agoRestore correct flags during localtime_r check.
Darren Tucker [Fri, 20 Nov 2020 06:16:51 +0000 (17:16 +1100)] 
Restore correct flags during localtime_r check.

We were restoring the wrong thing CPPFLAGS (we used CFLAGS) for any
platform that doesn't have localtime_r.

4 years agoupstream: When doing an sftp recursive upload or download of a
dtucker@openbsd.org [Fri, 20 Nov 2020 03:16:56 +0000 (03:16 +0000)] 
upstream: When doing an sftp recursive upload or download of a

read-only directory, ensure that the directory is created with write and
execute permissions in the interim so that we can actually complete the
transfer, then set the directory permission as the final step.  (The execute
bit is only likely to be an issue with a non-POSIX server).  bz#3222, ok djm@

OpenBSD-Commit-ID: a82606212f2796e31f0e1af94a63355a7ad5d903

4 years agoAdd new pselect6_time64 syscall on ARM.
Darren Tucker [Fri, 20 Nov 2020 02:37:54 +0000 (13:37 +1100)] 
Add new pselect6_time64 syscall on ARM.

This is apparently needed on armhfp/armv7hl.  bz#3232, patch from
jjelen at redhat.com.

4 years agoupstream: Explicitly initialize all members of the
dtucker@openbsd.org [Fri, 20 Nov 2020 02:14:16 +0000 (02:14 +0000)] 
upstream: Explicitly initialize all members of the

find_by_key_ctx struct.  Initializing a single member should be enough
(the spec says the remainder should be initialized as per the static
rules) but some GCCs warn on this which prevents us testing with -Werror
on those.  ok deraadt@ djm@

OpenBSD-Commit-ID: 687126e60a27d30f02614760ef3c3ae4e8d6af28

4 years agoupstream: draft-ietf-secsh-architecture is now RFC4251.
dtucker@openbsd.org [Thu, 19 Nov 2020 23:05:05 +0000 (23:05 +0000)] 
upstream: draft-ietf-secsh-architecture is now RFC4251.

OpenBSD-Commit-ID: cb0bb58c2711fb5ed519507659be1dcf179ed403

4 years agoupstream: Specify that the KDF function is bcrypt. Based on github
dtucker@openbsd.org [Tue, 17 Nov 2020 11:23:58 +0000 (11:23 +0000)] 
upstream: Specify that the KDF function is bcrypt. Based on github

PR#214 from rafork, ok markus@, mdoc correction jmc@

OpenBSD-Commit-ID: d8f2853e7edbcd483f31b50da77ab80ffa18b4ef

4 years agoupstream: revert r1.341; it breaks ProxyJump; reported by sthen@
djm@openbsd.org [Sun, 15 Nov 2020 22:34:58 +0000 (22:34 +0000)] 
upstream: revert r1.341; it breaks ProxyJump; reported by sthen@

OpenBSD-Commit-ID: 6ac2f945b26cb86d936eed338f77861d6da8356a

4 years agoupstream: scrub keyboard-interactive authentication prompts coming
djm@openbsd.org [Fri, 13 Nov 2020 07:30:44 +0000 (07:30 +0000)] 
upstream: scrub keyboard-interactive authentication prompts coming

from the server through asmprintf() prior to display; suggested by and ok
dtucker@

OpenBSD-Commit-ID: 31fe93367645c37fbfe4691596bf6cf1e3972a58

4 years agoupstream: prefix keyboard interactive prompts with (user@host) to
djm@openbsd.org [Fri, 13 Nov 2020 04:53:12 +0000 (04:53 +0000)] 
upstream: prefix keyboard interactive prompts with (user@host) to

make it easier to determine which connection they are associated with in
cases like scp -3, ProxyJump, etc. bz#3224 ok dtucker

OpenBSD-Commit-ID: 67e6189b04b46c867662f8a6759cf3ecb5f59170

4 years agoRemove use of TIME_WITH_SYS_TIME.
Darren Tucker [Fri, 13 Nov 2020 06:56:11 +0000 (17:56 +1100)] 
Remove use of TIME_WITH_SYS_TIME.

It was only set by the recently removed AC_HEADER_TIME macro, replace
with simple inclusions of both sys/time.h and time.h.  Should prevent
mis-detection of struct timespec.

4 years agoRevert "detect Linux/X32 systems"
Damien Miller [Fri, 13 Nov 2020 03:20:43 +0000 (14:20 +1100)] 
Revert "detect Linux/X32 systems"

This reverts commit 5b56bd0affea7b02b540bdbc4d1d271b0e4fc885.

The approach used was incorrect; discussion in bz#3085

4 years agoSELinux has deprecated security_context_t
Damien Miller [Fri, 13 Nov 2020 02:22:15 +0000 (13:22 +1100)] 
SELinux has deprecated security_context_t

(it was only ever a char* anyway)

4 years agoRemove obsolete AC_HEADER_TIME macro.
Darren Tucker [Fri, 13 Nov 2020 02:43:30 +0000 (13:43 +1100)] 
Remove obsolete AC_HEADER_TIME macro.

AC_HEADER_TIME is marked as obsolete in autoconf-2.70 and as far as I
can tell everything we have that might be old enough to need it doesn't.

4 years agoupstream: when prompting the user to accept a new hostkey, display
djm@openbsd.org [Thu, 12 Nov 2020 22:56:00 +0000 (22:56 +0000)] 
upstream: when prompting the user to accept a new hostkey, display

any other host names/addresses already associated with the key. E.g.

> The authenticity of host 'test (10.0.0.1)' can't be established.
> ECDSA key fingerprint is SHA256:milU4MODXm8iJQI18wlsbPG7Yup+34fuNNmV08qDnax.
> This host key is known by the following other names/addresses:
>     ~/.ssh/known_hosts:1: host.example.org,10.0.0.1
>     ~/.ssh/known_hosts:2: [hashed name]
>     ~/.ssh/known_hosts:3: [hashed name]
>     ~/.ssh/known_hosts:4: host
>     ~/.ssh/known_hosts:5: [host]:2222
> Are you sure you want to continue connecting (yes/no/[fingerprint])?

feedback and ok markus@

OpenBSD-Commit-ID: f6f58a77b49f1368b5883b3a1f776447cfcc7ef4

4 years agoupstream: Prevent integer overflow when ridiculously large
dtucker@openbsd.org [Thu, 12 Nov 2020 22:38:57 +0000 (22:38 +0000)] 
upstream: Prevent integer overflow when ridiculously large

ConnectTimeout is specified, capping the effective value (for most platforms)
at 24 days. bz#3229, ok djm@

OpenBSD-Commit-ID: 62d4c4b7b87d111045f8e9f28b5b532d17ac5bc0

4 years agoupstream: fix logic error that broke URI parsing in ProxyJump
djm@openbsd.org [Wed, 11 Nov 2020 05:22:32 +0000 (05:22 +0000)] 
upstream: fix logic error that broke URI parsing in ProxyJump

directives; ok dtucker@

OpenBSD-Commit-ID: 96d48839b1704882a0e9a77898f5e14b2d222705

4 years agoupstream: Free the previously allocated msg buffer after writing it
claudio@openbsd.org [Tue, 10 Nov 2020 07:46:20 +0000 (07:46 +0000)] 
upstream: Free the previously allocated msg buffer after writing it

out. OK djm@

OpenBSD-Commit-ID: 18c055870fc75e4cb9f926c86c7543e2e21d7fa4

4 years agoPrevent excessively long username going to PAM.
Darren Tucker [Wed, 11 Nov 2020 01:30:46 +0000 (12:30 +1100)] 
Prevent excessively long username going to PAM.

This is a mitigation for a buffer overflow in Solaris' PAM username
handling (CVE-2020-14871), and is only enabled for Sun-derived PAM
implementations.  This is not a problem in sshd itself, it only
prevents sshd from being used as a vector to attack Solaris' PAM.
It does not prevent the bug in PAM from being exploited via some other
PAM application.

Based on github PR#212 from Mike Scott but implemented slightly
differently.  ok tim@ djm@

4 years agoupstream: unbreak; missing NULL check
djm@openbsd.org [Sun, 8 Nov 2020 23:19:03 +0000 (23:19 +0000)] 
upstream: unbreak; missing NULL check

OpenBSD-Commit-ID: 6613dfab488123f454d348ef496824476b8c11c0

4 years agoupstream: when requesting a security key touch on stderr, inform the
djm@openbsd.org [Sun, 8 Nov 2020 22:37:24 +0000 (22:37 +0000)] 
upstream: when requesting a security key touch on stderr, inform the

user once the touch has been recorded; requested by claudio@ ok markus@

OpenBSD-Commit-ID: 3b76ee444490e546b9ea7f879e4092ee0d256233

4 years agoRemove preprocessor directive from log macro calls.
Darren Tucker [Sun, 8 Nov 2020 13:33:35 +0000 (00:33 +1100)] 
Remove preprocessor directive from log macro calls.

Preprocessor directives inside macro calls, such as the new log macros,
are undefined behaviour and do not work with, eg old GCCs.  Put the
entire log call inside the ifdef for OPENSSL_HAS_NISTP521.

4 years agoupstream: Add a comment documenting the source of the moduli group
dtucker@openbsd.org [Sun, 8 Nov 2020 12:10:20 +0000 (12:10 +0000)] 
upstream: Add a comment documenting the source of the moduli group

sizes.

OpenBSD-Commit-ID: aec0725ce607630caaa62682624c6763b350391c

4 years agoupstream: Replace WITH_OPENSSL ifdefs in log calls with a macro.
dtucker@openbsd.org [Sun, 8 Nov 2020 11:46:12 +0000 (11:46 +0000)] 
upstream: Replace WITH_OPENSSL ifdefs in log calls with a macro.

The log calls are themselves now macros, and preprocessor directives inside
macro arguments are undefined behaviour which some compilers (eg old GCCs)
choke on.  It also makes the code tidier.  ok deraadt@

OpenBSD-Commit-ID: cc12a9029833d222043aecd252d654965c351a69

5 years agoFix function body for variadic macro test.
Darren Tucker [Fri, 6 Nov 2020 06:11:16 +0000 (17:11 +1100)] 
Fix function body for variadic macro test.

AC_LANG_PROGRAM puts its second argument inside main() so we don't need
to do it ourselves.

5 years agoRemove AC_PROC_CC_C99 obsoleted in autoconf 2.70.
Darren Tucker [Fri, 6 Nov 2020 05:53:24 +0000 (16:53 +1100)] 
Remove AC_PROC_CC_C99 obsoleted in autoconf 2.70.

Since we only use it to make sure we can handle variadic macros,
explicitly check only for that.  with & ok djm@

5 years agoReplace AC_TRY_COMPILE obsoleted in autoconf 2.70.
Darren Tucker [Fri, 6 Nov 2020 02:56:41 +0000 (13:56 +1100)] 
Replace AC_TRY_COMPILE obsoleted in autoconf 2.70.

Replace with the equivalent AC_COMPILE_IFELSE.

5 years agoMove AC_PROG_CC_C99 to immediately afer AC_PROG_CC.
Darren Tucker [Fri, 6 Nov 2020 02:55:33 +0000 (13:55 +1100)] 
Move AC_PROG_CC_C99 to immediately afer AC_PROG_CC.

This puts the related C version selection output in the same place.

5 years agoAC_CHECK_HEADER() is obsoleted in autoconf 2.70.
Darren Tucker [Fri, 6 Nov 2020 02:54:17 +0000 (13:54 +1100)] 
AC_CHECK_HEADER() is obsoleted in autoconf 2.70.

Replace with the non-obsoleted AC_CHECK_HEADERS().

5 years agoupstream: fold consecutive '*' wildcards to mitigate combinatorial
djm@openbsd.org [Tue, 3 Nov 2020 22:53:12 +0000 (22:53 +0000)] 
upstream: fold consecutive '*' wildcards to mitigate combinatorial

explosion of recursive searches; ok dtucker

OpenBSD-Commit-ID: d18bcb39c40fb8a1ab61153db987e7d11dd3792b

5 years agoupstream: print reason in fatal error message when
djm@openbsd.org [Fri, 30 Oct 2020 01:50:07 +0000 (01:50 +0000)] 
upstream: print reason in fatal error message when

kex_assemble_namelist() fails

OpenBSD-Commit-ID: a9975ee8db6c98d6f32233d88051b2077ca63dab

5 years agoupstream: fix sshd_config SetEnv directive inside Match blocks; part of
djm@openbsd.org [Thu, 29 Oct 2020 03:13:06 +0000 (03:13 +0000)] 
upstream: fix sshd_config SetEnv directive inside Match blocks; part of

github PR#201 from github user manuelm

OpenBSD-Commit-ID: 9772e3748abff3ad65ae8fc43d026ed569b1d2bc

5 years agoupstream: fix type of nid in type_bits_valid(); github PR#202 from
djm@openbsd.org [Thu, 29 Oct 2020 03:01:18 +0000 (03:01 +0000)] 
upstream: fix type of nid in type_bits_valid(); github PR#202 from

github user thingsconnected

OpenBSD-Commit-ID: 769d2b040dec7ab32d323daf54b854dd5dcb5485

5 years agoupstream: whitespace; no code change
djm@openbsd.org [Thu, 29 Oct 2020 02:52:43 +0000 (02:52 +0000)] 
upstream: whitespace; no code change

OpenBSD-Commit-ID: efefc1c47e880887bdee8cd2127ca93177eaad79

5 years agoupstream: UpdateHostkeys: fixed/better detection of host keys that
djm@openbsd.org [Thu, 29 Oct 2020 02:47:23 +0000 (02:47 +0000)] 
upstream: UpdateHostkeys: fixed/better detection of host keys that

exist under other names and addresses; spotted by and debugged with lots of
help from jca@

OpenBSD-Commit-ID: 5113d7f550bbd48243db1705afbf16b63792d4b7

5 years agosession.c: use "denylist" terminology
Duncan Eastoe [Wed, 21 Oct 2020 09:11:10 +0000 (10:11 +0100)] 
session.c: use "denylist" terminology

Follow upstream (6d755706a0059eb9e2d63517f288b75cbc3b4701) language
improvements in this portable-specific code.

5 years agoRemove checks for strict POSIX mkdtemp()
Damien Miller [Tue, 27 Oct 2020 05:46:31 +0000 (16:46 +1100)] 
Remove checks for strict POSIX mkdtemp()

We needed a mkdtemp() that accepted template paths that did not
end in XXXXXX a long time ago for KRB4, but that code is long
deprecated. We no longer need to replace mkdtemp() for strictly
following POSIX. ok dtucker@

5 years agoupstream: Minor man page fixes (capitalization, commas) identified by
dtucker@openbsd.org [Mon, 26 Oct 2020 00:39:04 +0000 (00:39 +0000)] 
upstream: Minor man page fixes (capitalization, commas) identified by

the manpage-l10n project via bz#3223.  feedback deraadt@, ok jmc@

OpenBSD-Commit-ID: ab83af0daf18369244a72daaec6c4a58a9eb7e2c

5 years agoupstream: Adapt XMSS to new logging infrastructure. With markus@, ok
dtucker@openbsd.org [Mon, 19 Oct 2020 22:49:23 +0000 (22:49 +0000)] 
upstream: Adapt XMSS to new logging infrastructure. With markus@, ok

djm@.

OpenBSD-Commit-ID: 9c35ec3aa0f710e4e3325187ceff4fa3791686de

5 years agoupstream: fix SEGV on fatal() errors spotted by dtucker@
djm@openbsd.org [Mon, 19 Oct 2020 08:07:08 +0000 (08:07 +0000)] 
upstream: fix SEGV on fatal() errors spotted by dtucker@

OpenBSD-Commit-ID: 75f155a1ac61e364ed00dc379e2c42df81067ce2

5 years agoUse fatal_fr not fatal_r when passing r.
Darren Tucker [Sun, 18 Oct 2020 23:54:41 +0000 (10:54 +1100)] 
Use fatal_fr not fatal_r when passing r.

Caught by the PAM -Werror tinderbox build.

5 years agoupstream: use the new variant log macros instead of prepending
djm@openbsd.org [Sun, 18 Oct 2020 11:32:01 +0000 (11:32 +0000)] 
upstream: use the new variant log macros instead of prepending

__func__ and appending ssh_err(r) manually; ok markus@

OpenBSD-Commit-ID: 1f14b80bcfa85414b2a1a6ff714fb5362687ace8

5 years agoupstream: variants of the log methods that append a ssherr.h string
djm@openbsd.org [Sun, 18 Oct 2020 11:21:59 +0000 (11:21 +0000)] 
upstream: variants of the log methods that append a ssherr.h string

from a supplied error code; ok markus@

OpenBSD-Commit-ID: aed98c4435d48d036ae6740300f6a8357b7cc0bf

5 years agoupstream: remove a level of macro indirection; ok markus@
djm@openbsd.org [Sun, 18 Oct 2020 11:14:27 +0000 (11:14 +0000)] 
upstream: remove a level of macro indirection; ok markus@

OpenBSD-Commit-ID: 0c529d06e902c5d1a6b231e1bec6157f76dc67c9

5 years agoupstream: add some variant log.h calls that prepend the calling
djm@openbsd.org [Sun, 18 Oct 2020 11:13:45 +0000 (11:13 +0000)] 
upstream: add some variant log.h calls that prepend the calling

function name; ok markus@

OpenBSD-Commit-ID: 4be1b2e2455b271ddb7457bc195c5367644f4e48

5 years agomissing header
Damien Miller [Sat, 17 Oct 2020 11:55:24 +0000 (22:55 +1100)] 
missing header

5 years agosync regress/misc/sk-dummy/fatal.c
Damien Miller [Sat, 17 Oct 2020 11:47:52 +0000 (22:47 +1100)] 
sync regress/misc/sk-dummy/fatal.c

5 years agoupstream: make the log functions that exit (sshlogdie(),
djm@openbsd.org [Sat, 17 Oct 2020 01:28:20 +0000 (01:28 +0000)] 
upstream: make the log functions that exit (sshlogdie(),

sshfatal(), etc) have identical signatures. Makes things a bit more
consistent...

OpenBSD-Commit-ID: bd0ae124733389d7c0042e135c71ee9091362eb9

5 years agoupstream: add space between macro arg and punctuation;
jmc@openbsd.org [Fri, 16 Oct 2020 14:34:33 +0000 (14:34 +0000)] 
upstream: add space between macro arg and punctuation;

OpenBSD-Commit-ID: bb81e2ed5a77832fe62ab30a915ae67cda57633e

5 years agocheck for and require a C99 capable compiler
Damien Miller [Sat, 17 Oct 2020 01:03:34 +0000 (12:03 +1100)] 
check for and require a C99 capable compiler

recent logging changes use __VA_ARGS__.

5 years agologging is now macros, remove function pointers
Damien Miller [Sat, 17 Oct 2020 00:51:20 +0000 (11:51 +1100)] 
logging is now macros, remove function pointers

5 years agoadapt sk-dummy's fatal implementation to changes
Damien Miller [Sat, 17 Oct 2020 00:42:26 +0000 (11:42 +1100)] 
adapt sk-dummy's fatal implementation to changes

5 years agofix netcat build problem
Damien Miller [Sat, 17 Oct 2020 00:33:13 +0000 (11:33 +1100)] 
fix netcat build problem

5 years agoupstream: LogVerbose keyword for ssh and sshd
djm@openbsd.org [Fri, 16 Oct 2020 13:26:13 +0000 (13:26 +0000)] 
upstream: LogVerbose keyword for ssh and sshd

Allows forcing maximum debug logging by file/function/line pattern-
lists.

ok markus@

OpenBSD-Commit-ID: c294c25732d1b4fe7e345cb3e044df00531a6356

5 years agoupstream: revised log infrastructure for OpenSSH
djm@openbsd.org [Fri, 16 Oct 2020 13:24:45 +0000 (13:24 +0000)] 
upstream: revised log infrastructure for OpenSSH

log functions receive function, filename and line number of caller.
We can use this to selectively enable logging via pattern-lists.

ok markus@

OpenBSD-Commit-ID: 51a472610cbe37834ce6ce4a3f0e0b1ccc95a349

5 years agoupstream: use do_log2 instead of function pointers to different log
djm@openbsd.org [Fri, 16 Oct 2020 02:37:12 +0000 (02:37 +0000)] 
upstream: use do_log2 instead of function pointers to different log

functions

OpenBSD-Commit-ID: 88077b826d348c58352a6b394755520f4e484480

5 years agoupstream: make UpdateHostkeys still more conservative: refuse to
djm@openbsd.org [Wed, 14 Oct 2020 00:55:17 +0000 (00:55 +0000)] 
upstream: make UpdateHostkeys still more conservative: refuse to

proceed if one of the keys offered by the server is already in known_hosts
under another name. This avoid collisions between address entries for
different host aliases when CheckHostIP=yes

Also, do not attempt to fix known_hosts with incomplete host/ip matches
when there are no new or deprecated hostkeys.

OpenBSD-Commit-ID: 95c19842f7c41f9bd9c92aa6441a278c0fd0c4a3

5 years agoupstream: Zap unused family parameter from ssh_connect_direct()
kn@openbsd.org [Mon, 12 Oct 2020 08:36:36 +0000 (08:36 +0000)] 
upstream: Zap unused family parameter from ssh_connect_direct()

sshconnect.c r1.241 from 2013 made it unused;  found while reading code.

OK djm

OpenBSD-Commit-ID: 219ba6d7f9925d0b7992918612680399d86712b5

5 years agoshift contents of long $() into filter_ids()
Philip Hands [Sat, 3 Oct 2020 22:15:46 +0000 (00:15 +0200)] 
shift contents of long $() into filter_ids()

This was prompted by the fact that posh does not deal with $()
that contains comments where the comment includes an odd number
of single-quotes. It seems to get befuddled into trying to find
the matching quote.
Regardless, making a function for filtering the unneeded ids
seems much neater than avoiding apostrophes,
so that's what I've done.

SSH-Copy-ID-Upstream: 3dab3366a584427045c8a690a93282f02c09cf24

5 years agocombine if/elif to avoid duplication of the action
Philip Hands [Sat, 3 Oct 2020 21:15:16 +0000 (23:15 +0200)] 
combine if/elif to avoid duplication of the action

SSH-Copy-ID-Upstream: 42aeb1cc53d3f7f6e78edc210fb121fda0834914

5 years agoshellcheck tidyage
Philip Hands [Sat, 3 Oct 2020 19:45:16 +0000 (21:45 +0200)] 
shellcheck tidyage

SSH-Copy-ID-Upstream: 5b08f840e78ac544288b3983010a1b0585e966fd

5 years agotidy up test of $SCRATCH_DIR creation
Philip Hands [Sat, 3 Oct 2020 19:10:03 +0000 (21:10 +0200)] 
tidy up test of $SCRATCH_DIR creation

SSH-Copy-ID-Upstream: 2d8b22d96c105d87743ffe8874887b06f8989b93

5 years agoadd -s flag: to install keys via SFTP
Philip Hands [Wed, 16 Sep 2020 14:13:30 +0000 (16:13 +0200)] 
add -s flag: to install keys via SFTP

This is prompted by:

 https://bugzilla.mindrot.org/show_bug.cgi?id=3201

Thanks go to Matthias Blümel for the idea, and the helpful patch, from
which this patch grew.

SSH-Copy-ID-Upstream: f7c76dc64427cd20287a6868f672423b62057614

5 years agoupstream: UpdateHostkeys: check for keys under other names
djm@openbsd.org [Sun, 11 Oct 2020 22:14:38 +0000 (22:14 +0000)] 
upstream: UpdateHostkeys: check for keys under other names

Stop UpdateHostkeys from automatically removing deprecated keys from
known_hosts files if the same keys exist under a different name or
address to the host that is being connected to.

This avoids UpdateHostkeys from making known_hosts inconsistent in
some cases. For example, multiple host aliases sharing address-based
known_hosts on different lines, or hosts that resolves to multiple
addresses.

ok markus@

OpenBSD-Commit-ID: 6444a705ba504c3c8ccddccd8d1b94aa33bd11c1

5 years agoupstream: UpdateHostkeys: better CheckHostIP handling
djm@openbsd.org [Sun, 11 Oct 2020 22:13:37 +0000 (22:13 +0000)] 
upstream: UpdateHostkeys: better CheckHostIP handling

When preparing to update the known_hosts file, fully check both
entries for both the host and the address (if CheckHostIP enabled)
and ensure that, at the end of the operation, entries for both are
recorded.

Make sure this works with HashKnownHosts too, which requires maintaining
a list of entry-types seen across the whole file for each key.

ok markus@

OpenBSD-Commit-ID: 374dc263103f6b343d9671f87dbf81ffd0d6abdd

5 years agoupstream: UpdateHostkeys: better detect manual host entries
djm@openbsd.org [Sun, 11 Oct 2020 22:12:44 +0000 (22:12 +0000)] 
upstream: UpdateHostkeys: better detect manual host entries

Disable UpdateHostkeys if the known_hosts line has more than two
entries in the pattern-list. ssh(1) only writes "host" or "host,ip"
lines so anything else was added by a different tool or by a human.

ok markus@

OpenBSD-Commit-ID: e434828191fb5f3877d4887c218682825aa59820

5 years agoupstream: don't misdetect comma-separated hostkey names as wildcards;
djm@openbsd.org [Thu, 8 Oct 2020 01:15:16 +0000 (01:15 +0000)] 
upstream: don't misdetect comma-separated hostkey names as wildcards;

spotted by naddy@

OpenBSD-Commit-ID: 4b874edfec7fc324a21b130bdb42f912177739ce

5 years agofix TEST_MALLOC_OPTIONS var
wangxp006 [Thu, 8 Oct 2020 09:49:59 +0000 (17:49 +0800)] 
fix TEST_MALLOC_OPTIONS var

5 years agoupstream: clarify conditions for UpdateHostkeys
djm@openbsd.org [Thu, 8 Oct 2020 00:31:05 +0000 (00:31 +0000)] 
upstream: clarify conditions for UpdateHostkeys

OpenBSD-Commit-ID: 9cba714cf6aeed769f998ccbe8c483077a618e27

5 years agoupstream: remove GlobalKnownHostsFile for this test after
djm@openbsd.org [Wed, 7 Oct 2020 06:38:16 +0000 (06:38 +0000)] 
upstream: remove GlobalKnownHostsFile for this test after

UpdateHostkeys change

OpenBSD-Regress-ID: a940ad79d59343319613ba8fc46b6ef24aa3f8e1

5 years agoupstream: Disable UpdateHostkeys when hostkey checking fails
djm@openbsd.org [Wed, 7 Oct 2020 02:26:28 +0000 (02:26 +0000)] 
upstream: Disable UpdateHostkeys when hostkey checking fails

If host key checking fails (i.e. a wrong host key is recorded for the
server) and the user elects to continue (via StrictHostKeyChecking=no),
then disable UpdateHostkeys for the session.

reminded by Mark D. Baushke; ok markus@

OpenBSD-Commit-ID: 98b524f121f4252309dd21becd8c4cacb0c6042a

5 years agoupstream: Fix UpdateHostkeys/HashKnownHosts/CheckHostIP bug
djm@openbsd.org [Wed, 7 Oct 2020 02:25:43 +0000 (02:25 +0000)] 
upstream: Fix UpdateHostkeys/HashKnownHosts/CheckHostIP bug

When all of UpdateHostkeys, HashKnownHosts and ChechHostIP
were enabled and new host keys were learned, known_hosts IP
entries were not being recorded for new host keys.

reported by matthieu@ ok markus@

OpenBSD-Commit-ID: a654a8290bd1c930aac509e8158cf85e42e49cb7

5 years agoupstream: don't UpdateHostkeys when the hostkey is verified by the
djm@openbsd.org [Wed, 7 Oct 2020 02:24:51 +0000 (02:24 +0000)] 
upstream: don't UpdateHostkeys when the hostkey is verified by the

GlobalKnownHostsFile file, support only UserKnownHostsFile matches

suggested by Mark D. Baushke; feedback and ok markus@

OpenBSD-Commit-ID: eabb771a6add676c398d38a143a1aff5f04abbb9

5 years agoupstream: revert kex->flags cert hostkey downgrade back to a plain
djm@openbsd.org [Wed, 7 Oct 2020 02:22:23 +0000 (02:22 +0000)] 
upstream: revert kex->flags cert hostkey downgrade back to a plain

key (commitid VtF8vozGOF8DMKVg). We now do this a simpler way that needs less
plumbing.

ok markus@

OpenBSD-Commit-ID: fb92d25b216bff8c136da818ac2221efaadf18ed

5 years agoupstream: simply disable UpdateHostkeys when a certificate
djm@openbsd.org [Wed, 7 Oct 2020 02:20:35 +0000 (02:20 +0000)] 
upstream: simply disable UpdateHostkeys when a certificate

successfully authenticated the host; simpler than the complicated plumbing
via kex->flags we have now.

ok markus@

OpenBSD-Commit-ID: 80e39644eed75717d563a7f177e8117a0e14f42c

5 years agoupstream: disable UpdateHostkeys by default if VerifyHostKeyDNS is
djm@openbsd.org [Wed, 7 Oct 2020 02:18:45 +0000 (02:18 +0000)] 
upstream: disable UpdateHostkeys by default if VerifyHostKeyDNS is

enabled; suggested by Mark D. Baushke

OpenBSD-Commit-ID: 85a1b88592c81bc85df7ee7787dbbe721a0542bf

5 years agoupstream: Agent protocol draft is now at rev 4. ok djm@
dtucker@openbsd.org [Tue, 6 Oct 2020 07:12:04 +0000 (07:12 +0000)] 
upstream: Agent protocol draft is now at rev 4. ok djm@

OpenBSD-Commit-ID: 8c01ea3aae48aab45e01b7421b0fca2dad5e7837

5 years agoupstream: when ordering host key algorithms in the client, consider
djm@openbsd.org [Sun, 4 Oct 2020 09:45:01 +0000 (09:45 +0000)] 
upstream: when ordering host key algorithms in the client, consider

the ECDSA key subtype; ok markus@

OpenBSD-Commit-ID: 3097686f853c61ff61772ea35f8b699931392ece