Damien Miller [Wed, 16 Jul 2014 23:52:07 +0000 (09:52 +1000)]
- tedu@cvs.openbsd.org 2014/07/11 13:54:34
[myproposal.h]
by popular demand, add back hamc-sha1 to server proposal for better compat
with many clients still in use. ok deraadt
Damien Miller [Wed, 16 Jul 2014 23:49:37 +0000 (09:49 +1000)]
- deraadt@cvs.openbsd.org 2014/07/11 08:09:54
[sandbox-systrace.c]
Permit use of SYS_sendsyslog from inside the sandbox. Clock is ticking,
update your kernels and sshd soon.. libc will start using sendsyslog()
in about 4 days.
Damien Miller [Wed, 9 Jul 2014 03:22:31 +0000 (13:22 +1000)]
- djm@cvs.openbsd.org 2014/07/07 08:15:26
[multiplex.sh]
remove forced-fatal that I stuck in there to test the new cleanup
logic and forgot to remove...
Damien Miller [Wed, 9 Jul 2014 03:07:28 +0000 (13:07 +1000)]
- djm@cvs.openbsd.org 2014/07/09 03:02:15
[key.c]
downgrade more error() to debug() to better match what old authfile.c
did; suppresses spurious errors with hostbased authentication enabled
Damien Miller [Wed, 9 Jul 2014 03:06:25 +0000 (13:06 +1000)]
- djm@cvs.openbsd.org 2014/07/07 08:19:12
[ssh_config.5]
mention that ProxyCommand is executed using shell "exec" to avoid
a lingering process; bz#1977
Damien Miller [Thu, 3 Jul 2014 23:00:04 +0000 (09:00 +1000)]
- djm@cvs.openbsd.org 2014/07/03 22:40:43
[servconf.c servconf.h session.c sshd.8 sshd_config.5]
Add a sshd_config PermitUserRC option to control whether ~/.ssh/rc is
executed, mirroring the no-user-rc authorized_keys option;
bz#2160; ok markus@
Damien Miller [Thu, 3 Jul 2014 22:59:24 +0000 (08:59 +1000)]
- djm@cvs.openbsd.org 2014/07/03 22:23:46
[sshconnect.c]
when rekeying, skip file/DNS lookup if it is the same as the key sent
during initial key exchange. bz#2154 patch from Iain Morgan; ok markus@
Damien Miller [Thu, 3 Jul 2014 22:59:01 +0000 (08:59 +1000)]
- jsing@cvs.openbsd.org 2014/07/03 12:42:16
[cipher-chachapoly.c]
Call chacha_ivsetup() immediately before chacha_encrypt_bytes() - this
makes it easier to verify that chacha_encrypt_bytes() is only called once
per chacha_ivsetup() call.
ok djm@
Damien Miller [Thu, 3 Jul 2014 11:29:38 +0000 (21:29 +1000)]
- djm@cvs.openbsd.org 2014/07/03 11:16:55
[auth.c auth.h auth1.c auth2.c]
make the "Too many authentication failures" message include the
user, source address, port and protocol in a format similar to the
authentication success / failure messages; bz#2199, ok dtucker
Damien Miller [Thu, 3 Jul 2014 11:27:46 +0000 (21:27 +1000)]
- djm@cvs.openbsd.org 2014/07/03 06:39:19
[ssh.c ssh_config.5]
Add a %C escape sequence for LocalCommand and ControlPath that expands
to a unique identifer based on a has of the tuple of (local host,
remote user, hostname, port).
Helps avoid exceeding sockaddr_un's miserly pathname limits for mux
control paths.
bz#2220, based on patch from mancha1 AT zoho.com; ok markus@
Damien Miller [Thu, 3 Jul 2014 11:26:21 +0000 (21:26 +1000)]
- djm@cvs.openbsd.org 2014/07/03 05:32:36
[ssh_config.5]
mention '%%' escape sequence in HostName directives and how it may
be used to specify IPv6 link-local addresses
Damien Miller [Thu, 3 Jul 2014 11:24:40 +0000 (21:24 +1000)]
- djm@cvs.openbsd.org 2014/07/03 03:47:27
[ssh-keygen.c]
When hashing or removing hosts using ssh-keygen, don't choke on
@revoked markers and don't remove @cert-authority markers;
bz#2241, reported by mlindgren AT runelind.net
Damien Miller [Thu, 3 Jul 2014 11:24:19 +0000 (21:24 +1000)]
- djm@cvs.openbsd.org 2014/07/03 03:34:09
[gss-serv.c session.c ssh-keygen.c]
standardise on NI_MAXHOST for gethostname() string lengths; about
1/2 the cases were using it already. Fixes bz#2239 en passant
Damien Miller [Thu, 3 Jul 2014 11:23:24 +0000 (21:23 +1000)]
- djm@cvs.openbsd.org 2014/07/03 03:26:43
[digest-openssl.c]
use EVP_Digest() for one-shot hash instead of creating, updating,
finalising and destroying a context.
bz#2231, based on patch from Timo Teras
Damien Miller [Thu, 3 Jul 2014 11:23:01 +0000 (21:23 +1000)]
- djm@cvs.openbsd.org 2014/07/03 03:15:01
[ssh-add.c]
make stdout line-buffered; saves partial output getting lost when
ssh-add fatal()s part-way through (e.g. when listing keys from an
agent that supports key types that ssh-add doesn't);
bz#2234, reported by Phil Pennock
Damien Miller [Thu, 3 Jul 2014 11:22:40 +0000 (21:22 +1000)]
- djm@cvs.openbsd.org 2014/07/03 03:11:03
[ssh-agent.c]
Only cleanup agent socket in the main agent process and not in any
subprocesses it may have started (e.g. forked askpass). Fixes
agent sockets being zapped when askpass processes fatal();
bz#2236 patch from Dmitry V. Levin
Damien Miller [Thu, 3 Jul 2014 11:22:22 +0000 (21:22 +1000)]
- djm@cvs.openbsd.org 2014/07/03 01:45:38
[sshkey.c]
make Ed25519 keys' title fit properly in the randomart border; bz#2247
based on patch from Christian Hesse
Damien Miller [Wed, 2 Jul 2014 05:33:09 +0000 (15:33 +1000)]
- djm@cvs.openbsd.org 2014/06/30 12:54:39
[key.c]
suppress spurious error message when loading key with a passphrase;
reported by kettenis@ ok markus@
- djm@cvs.openbsd.org 2014/07/02 04:59:06
[cipher-3des1.c]
fix ssh protocol 1 on the server that regressed with the sshkey change
(sometimes fatal() after auth completed), make file return useful status
codes.
NB. Id sync only for these two. They were bundled into the sshkey merge
above, since it was easier to sync the entire file and then apply
portable-specific changed atop it.
Damien Miller [Wed, 2 Jul 2014 05:29:40 +0000 (15:29 +1000)]
- markus@cvs.openbsd.org 2014/06/27 16:41:56
[channels.c channels.h clientloop.c ssh.c]
fix remote fwding with same listen port but different listen address
with gerhard@, ok djm@
Damien Miller [Wed, 2 Jul 2014 05:29:01 +0000 (15:29 +1000)]
- djm@cvs.openbsd.org 2014/06/24 02:21:01
[scp.c]
when copying local->remote fails during read, don't send uninitialised
heap to the remote end. Reported by Jann Horn
Damien Miller [Wed, 2 Jul 2014 05:28:40 +0000 (15:28 +1000)]
- djm@cvs.openbsd.org 2014/06/24 02:19:48
[ssh.c]
don't fatal() when hostname canonicalisation fails with a
ProxyCommand in use; continue and allow the ProxyCommand to
connect anyway (e.g. to a host with a name outside the DNS
behind a bastion)
Damien Miller [Wed, 2 Jul 2014 02:48:30 +0000 (12:48 +1000)]
- djm@cvs.openbsd.org 2014/06/24 00:52:02
[krl.c]
fix bug in KRL generation: multiple consecutive revoked certificate
serial number ranges could be serialised to an invalid format.
Readers of a broken KRL caused by this bug will fail closed, so no
should-have-been-revoked key will be accepted.
Damien Miller [Wed, 2 Jul 2014 02:48:04 +0000 (12:48 +1000)]
- naddy@cvs.openbsd.org 2014/06/18 15:42:09
[sshbuf-getput-crypto.c]
The ssh_get_bignum functions must accept the same range of bignums
the corresponding ssh_put_bignum functions create. This fixes the
use of 16384-bit RSA keys (bug reported by Eivind Evensen).
ok djm@
Damien Miller [Wed, 2 Jul 2014 02:47:48 +0000 (12:47 +1000)]
- matthew@cvs.openbsd.org 2014/06/18 02:59:13
[sandbox-systrace.c]
Now that we have a dedicated getentropy(2) system call for
arc4random(3), we can disallow __sysctl(2) in OpenSSH's systrace
sandbox.
Darren Tucker [Tue, 17 Jun 2014 13:06:07 +0000 (23:06 +1000)]
- (dtucker) [entropy.c openbsd-compat/openssl-compat.{c,h}
openbsd-compat/regress/{.cvsignore,Makefile.in,opensslvertest.c}]
Move the OpenSSL header/library version test into its own function and add
tests for it. Fix it to allow fix version upgrades (but not downgrades).
Prompted by chl@ via OpenSMTPD (issue #462) and Debian (bug #748150).
ok djm@ chl@
Darren Tucker [Tue, 10 Jun 2014 21:58:35 +0000 (07:58 +1000)]
- dtucker@cvs.openbsd.org 2014/06/10 21:46:11
[sshbuf.h]
Group ECC functions together to make things a little easier in -portable.
"doesn't bother me" deraadt@
Darren Tucker [Tue, 10 Jun 2014 21:57:58 +0000 (07:57 +1000)]
- djm@cvs.openbsd.org 2014/06/05 22:17:50
[sshconnect2.c]
fix inverted test that caused PKCS#11 keys that were explicitly listed
not to be preferred. Reported by Dirk-Willem van Gulik
Darren Tucker [Tue, 10 Jun 2014 20:27:16 +0000 (06:27 +1000)]
- (dtucker) [regress/unittests/sshbuf/test_sshbuf_getput_crypto.c
regress/unittests/sshbuf/test_sshbuf_getput_fuzz.c] Only do NISTP256
curve tests if OpenSSL has them.
Damien Miller [Tue, 27 May 2014 04:34:42 +0000 (14:34 +1000)]
- (djm) [configure.ac openbsd-compat/bsd-cygwin_util.c]
[openbsd-compat/bsd-cygwin_util.h] On Cygwin, determine privilege
separation user at runtime, since it may need to be a domain account.
Patch from Corinna Vinschen.
Damien Miller [Tue, 27 May 2014 04:31:58 +0000 (14:31 +1000)]
- (djm) [contrib/cygwin/ssh-host-config] Updated Cygwin ssh-host-config
from Corinna Vinschen, fixing a number of bugs and preparing for
Cygwin 1.7.30.
Damien Miller [Wed, 21 May 2014 07:12:53 +0000 (17:12 +1000)]
- (djm) [misc.c] Use CLOCK_BOOTTIME in preference to CLOCK_MONOTONIC
when it is available. It takes into account time spent suspended,
thereby ensuring timeouts (e.g. for expiring agent keys) fire
correctly. bz#2228 reported by John Haxby
Damien Miller [Wed, 21 May 2014 07:06:46 +0000 (17:06 +1000)]
- (djm) [commit configure.ac defines.h sshpty.c] don't attempt to use
vhangup on Linux. It doens't work for non-root users, and for them
it just messes up the tty settings.
Damien Miller [Thu, 15 May 2014 08:01:01 +0000 (18:01 +1000)]
- (djm) [regress/Makefile Makefile.in]
[regress/unittests/sshbuf/test_sshbuf.c
[regress/unittests/sshbuf/test_sshbuf_fixed.c]
[regress/unittests/sshbuf/test_sshbuf_fuzz.c]
[regress/unittests/sshbuf/test_sshbuf_getput_basic.c]
[regress/unittests/sshbuf/test_sshbuf_getput_crypto.c]
[regress/unittests/sshbuf/test_sshbuf_getput_fuzz.c]
[regress/unittests/sshbuf/test_sshbuf_misc.c]
[regress/unittests/sshbuf/tests.c]
[regress/unittests/test_helper/fuzz.c]
[regress/unittests/test_helper/test_helper.c]
Hook new unit tests into the build and "make tests"
Damien Miller [Thu, 15 May 2014 05:17:15 +0000 (15:17 +1000)]
- (djm) [regress/unittests/Makefile]
[regress/unittests/Makefile.inc]
[regress/unittests/sshbuf/Makefile]
[regress/unittests/sshbuf/test_sshbuf.c]
[regress/unittests/sshbuf/test_sshbuf_fixed.c]
[regress/unittests/sshbuf/test_sshbuf_fuzz.c]
[regress/unittests/sshbuf/test_sshbuf_getput_basic.c]
[regress/unittests/sshbuf/test_sshbuf_getput_crypto.c]
[regress/unittests/sshbuf/test_sshbuf_getput_fuzz.c]
[regress/unittests/sshbuf/test_sshbuf_misc.c]
[regress/unittests/sshbuf/tests.c]
[regress/unittests/test_helper/Makefile]
[regress/unittests/test_helper/fuzz.c]
[regress/unittests/test_helper/test_helper.c]
[regress/unittests/test_helper/test_helper.h]
Import new unit tests from OpenBSD; not yet hooked up to build.
Damien Miller [Thu, 15 May 2014 05:08:40 +0000 (15:08 +1000)]
- logan@cvs.openbsd.org 2014/05/04 10:40:59
[connect-privsep.sh]
Remove the Z flag from the list of malloc options as it
was removed from malloc.c 10 days ago.
Damien Miller [Thu, 15 May 2014 05:07:53 +0000 (15:07 +1000)]
- djm@cvs.openbsd.org 2014/04/21 22:15:37
[dhgex.sh integrity.sh kextype.sh rekey.sh try-ciphers.sh]
repair regress tests broken by server-side default cipher/kex/mac changes
by ensuring that the option under test is included in the server's
algorithm list
Damien Miller [Thu, 15 May 2014 05:07:33 +0000 (15:07 +1000)]
- djm@cvs.openbsd.org 2014/03/13 20:44:49
[login-timeout.sh]
this test is a sorry mess of race conditions; add another sleep
to avoid a failure on slow machines (at least until I find a
better way)
Damien Miller [Thu, 15 May 2014 04:37:39 +0000 (14:37 +1000)]
- markus@cvs.openbsd.org 2014/05/03 17:20:34
[monitor.c packet.c packet.h]
unbreak compression, by re-init-ing the compression code in the
post-auth child. the new buffer code is more strict, and requires
buffer_init() while the old code was happy after a bzero();
originally from djm@
Damien Miller [Thu, 15 May 2014 04:37:03 +0000 (14:37 +1000)]
- djm@cvs.openbsd.org 2014/05/02 03:27:54
[chacha.h cipher-chachapoly.h digest.h hmac.h kex.h kexc25519.c]
[misc.h poly1305.h ssh-pkcs11.c defines.h]
revert __bounded change; it causes way more problems for portable than
it solves; pointed out by dtucker@
Damien Miller [Thu, 15 May 2014 04:35:03 +0000 (14:35 +1000)]
- naddy@cvs.openbsd.org 2014/04/30 19:07:48
[mac.c myproposal.h umac.c]
UMAC can use our local fallback implementation of AES when OpenSSL isn't
available. Glue code straight from Ted Krovetz's original umac.c.
ok markus@
Damien Miller [Thu, 15 May 2014 04:33:43 +0000 (14:33 +1000)]
- djm@cvs.openbsd.org 2014/04/30 05:29:56
[bufaux.c bufbn.c bufec.c buffer.c buffer.h sshbuf-getput-basic.c]
[sshbuf-getput-crypto.c sshbuf-misc.c sshbuf.c sshbuf.h ssherr.c]
[ssherr.h]
New buffer API; the first installment of the conversion/replacement
of OpenSSH's internals to make them usable as a standalone library.
This includes a set of wrappers to make it compatible with the
existing buffer API so replacement can occur incrementally.
With and ok markus@
Thanks also to Ben Hawkes, David Tomaschik, Ivan Fratric, Matthew
Dempsky and Ron Bowes for a detailed review.
Damien Miller [Thu, 15 May 2014 04:25:18 +0000 (14:25 +1000)]
- dtucker@cvs.openbsd.org 2014/04/29 20:36:51
[sftp.c]
Don't attempt to append a nul quote char to the filename. Should prevent
fatal'ing with "el_insertstr failed" when there's a single quote char
somewhere in the string. bz#2238, ok markus@
Damien Miller [Thu, 15 May 2014 03:48:49 +0000 (13:48 +1000)]
- djm@cvs.openbsd.org 2014/04/29 13:10:30
[clientloop.c serverloop.c]
bz#1818 - don't send channel success/failre replies on channels that
have sent a close already; analysis and patch from Simon Tatham;
ok markus@
Damien Miller [Thu, 15 May 2014 03:48:26 +0000 (13:48 +1000)]
- djm@cvs.openbsd.org 2014/04/28 03:09:18
[authfile.c bufaux.c buffer.h channels.c krl.c mux.c packet.c packet.h]
[ssh-keygen.c]
buffer_get_string_ptr's return should be const to remind
callers that futzing with it will futz with the actual buffer
contents
Damien Miller [Thu, 15 May 2014 03:46:25 +0000 (13:46 +1000)]
- logan@cvs.openbsd.org 2014/04/21 14:36:16
[sftp-client.c sftp-client.h sftp.c]
Implement sftp upload resume support.
OK from djm@, with input from guenther@, mlarkin@ and
okan@
Damien Miller [Sun, 20 Apr 2014 03:33:58 +0000 (13:33 +1000)]
- djm@cvs.openbsd.org 2014/04/20 02:49:32
[compat.c]
add a canonical 6.6 + curve25519 bignum fix fake version that I can
recommend people use ahead of the openssh-6.7 release
Damien Miller [Sun, 20 Apr 2014 03:33:19 +0000 (13:33 +1000)]
- djm@cvs.openbsd.org 2014/04/20 02:30:25
[misc.c misc.h umac.c]
use get/put_u32 to load values rather than *((UINT32 *)p) that breaks on
strict-alignment architectures; reported by and ok stsp@
Damien Miller [Sun, 20 Apr 2014 03:29:28 +0000 (13:29 +1000)]
- tedu@cvs.openbsd.org 2014/04/19 18:42:19
[ssh.1]
delete .xr to hosts.equiv. there's still an unfortunate amount of
documentation referring to rhosts equivalency in here.