Commit Graph

7586 Commits

Author SHA1 Message Date
Damien Miller 602943d117 - djm@cvs.openbsd.org 2014/07/03 22:33:41
[channels.c]
     allow explicit ::1 and 127.0.0.1 forwarding bind addresses when
     GatewayPorts=no; allows client to choose address family;
     bz#2222 ok markus@
2014-07-04 08:59:41 +10:00
Damien Miller 6b37fbb792 - 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@
2014-07-04 08:59:24 +10:00
Damien Miller d2c3cd5f2e - 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@
2014-07-04 08:59:01 +10:00
Damien Miller 686feb560e - 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
2014-07-03 21:29:38 +10:00
Damien Miller 0f12341402 - jmc@cvs.openbsd.org 2014/07/03 07:45:27
[ssh_config.5]
     escape %C since groff thinks it part of an Rs/Re block;
2014-07-03 21:28:09 +10:00
Damien Miller 9c38643c5c - 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@
2014-07-03 21:27:46 +10:00
Damien Miller 49d9bfe2b2 - djm@cvs.openbsd.org 2014/07/03 05:38:17
[ssh.1]
     document that -g will only work in the multiplexed case if applied to
     the mux master
2014-07-03 21:26:42 +10:00
Damien Miller ef9f13ba4c - 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
2014-07-03 21:26:21 +10:00
Damien Miller e6a407789e - djm@cvs.openbsd.org 2014/07/03 04:36:45
[digest.h]
     forward-declare struct sshbuf so consumers don't need to include sshbuf.h
2014-07-03 21:25:03 +10:00
Damien Miller 4a1d3d50f0 - 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
2014-07-03 21:24:40 +10:00
Damien Miller e5c0d52ceb - 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
2014-07-03 21:24:19 +10:00
Damien Miller c174a3b7c1 - 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
2014-07-03 21:23:24 +10:00
Damien Miller d7ca2cd31e - 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
2014-07-03 21:23:01 +10:00
Damien Miller b1e967c8d7 - 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
2014-07-03 21:22:40 +10:00
Damien Miller 61e28e55c3 - 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
2014-07-03 21:22:22 +10:00
Damien Miller 9eb4cd9a32 - (djm) [monitor_fdpass.c] Use sys/poll.h if poll.h doesn't exist;
bz#2237
2014-07-03 13:29:50 +10:00
Damien Miller 8da0fa2493 - (djm) [digest-openssl.c configure.ac] Disable RIPEMD160 if libcrypto
doesn't support it.
2014-07-03 11:54:19 +10:00
Damien Miller 81309c857d - (djm) [regress/Makefile] fix execution of sshkey unit/fuzz test 2014-07-02 17:45:55 +10:00
Damien Miller 82b2482ce6 - (djm) [sshkey.c] Conditionalise inclusion of util.h 2014-07-02 17:43:41 +10:00
Damien Miller dd8b1dd793 - djm@cvs.openbsd.org 2014/06/24 01:14:17
[Makefile.in regress/Makefile regress/unittests/Makefile]
     [regress/unittests/sshkey/Makefile]
     [regress/unittests/sshkey/common.c]
     [regress/unittests/sshkey/common.h]
     [regress/unittests/sshkey/mktestdata.sh]
     [regress/unittests/sshkey/test_file.c]
     [regress/unittests/sshkey/test_fuzz.c]
     [regress/unittests/sshkey/test_sshkey.c]
     [regress/unittests/sshkey/tests.c]
     [regress/unittests/sshkey/testdata/dsa_1]
     [regress/unittests/sshkey/testdata/dsa_1-cert.fp]
     [regress/unittests/sshkey/testdata/dsa_1-cert.pub]
     [regress/unittests/sshkey/testdata/dsa_1.fp]
     [regress/unittests/sshkey/testdata/dsa_1.fp.bb]
     [regress/unittests/sshkey/testdata/dsa_1.param.g]
     [regress/unittests/sshkey/testdata/dsa_1.param.priv]
     [regress/unittests/sshkey/testdata/dsa_1.param.pub]
     [regress/unittests/sshkey/testdata/dsa_1.pub]
     [regress/unittests/sshkey/testdata/dsa_1_pw]
     [regress/unittests/sshkey/testdata/dsa_2]
     [regress/unittests/sshkey/testdata/dsa_2.fp]
     [regress/unittests/sshkey/testdata/dsa_2.fp.bb]
     [regress/unittests/sshkey/testdata/dsa_2.pub]
     [regress/unittests/sshkey/testdata/dsa_n]
     [regress/unittests/sshkey/testdata/dsa_n_pw]
     [regress/unittests/sshkey/testdata/ecdsa_1]
     [regress/unittests/sshkey/testdata/ecdsa_1-cert.fp]
     [regress/unittests/sshkey/testdata/ecdsa_1-cert.pub]
     [regress/unittests/sshkey/testdata/ecdsa_1.fp]
     [regress/unittests/sshkey/testdata/ecdsa_1.fp.bb]
     [regress/unittests/sshkey/testdata/ecdsa_1.param.curve]
     [regress/unittests/sshkey/testdata/ecdsa_1.param.priv]
     [regress/unittests/sshkey/testdata/ecdsa_1.param.pub]
     [regress/unittests/sshkey/testdata/ecdsa_1.pub]
     [regress/unittests/sshkey/testdata/ecdsa_1_pw]
     [regress/unittests/sshkey/testdata/ecdsa_2]
     [regress/unittests/sshkey/testdata/ecdsa_2.fp]
     [regress/unittests/sshkey/testdata/ecdsa_2.fp.bb]
     [regress/unittests/sshkey/testdata/ecdsa_2.param.curve]
     [regress/unittests/sshkey/testdata/ecdsa_2.param.priv]
     [regress/unittests/sshkey/testdata/ecdsa_2.param.pub]
     [regress/unittests/sshkey/testdata/ecdsa_2.pub]
     [regress/unittests/sshkey/testdata/ecdsa_n]
     [regress/unittests/sshkey/testdata/ecdsa_n_pw]
     [regress/unittests/sshkey/testdata/ed25519_1]
     [regress/unittests/sshkey/testdata/ed25519_1-cert.fp]
     [regress/unittests/sshkey/testdata/ed25519_1-cert.pub]
     [regress/unittests/sshkey/testdata/ed25519_1.fp]
     [regress/unittests/sshkey/testdata/ed25519_1.fp.bb]
     [regress/unittests/sshkey/testdata/ed25519_1.pub]
     [regress/unittests/sshkey/testdata/ed25519_1_pw]
     [regress/unittests/sshkey/testdata/ed25519_2]
     [regress/unittests/sshkey/testdata/ed25519_2.fp]
     [regress/unittests/sshkey/testdata/ed25519_2.fp.bb]
     [regress/unittests/sshkey/testdata/ed25519_2.pub]
     [regress/unittests/sshkey/testdata/pw]
     [regress/unittests/sshkey/testdata/rsa1_1]
     [regress/unittests/sshkey/testdata/rsa1_1.fp]
     [regress/unittests/sshkey/testdata/rsa1_1.fp.bb]
     [regress/unittests/sshkey/testdata/rsa1_1.param.n]
     [regress/unittests/sshkey/testdata/rsa1_1.pub]
     [regress/unittests/sshkey/testdata/rsa1_1_pw]
     [regress/unittests/sshkey/testdata/rsa1_2]
     [regress/unittests/sshkey/testdata/rsa1_2.fp]
     [regress/unittests/sshkey/testdata/rsa1_2.fp.bb]
     [regress/unittests/sshkey/testdata/rsa1_2.param.n]
     [regress/unittests/sshkey/testdata/rsa1_2.pub]
     [regress/unittests/sshkey/testdata/rsa_1]
     [regress/unittests/sshkey/testdata/rsa_1-cert.fp]
     [regress/unittests/sshkey/testdata/rsa_1-cert.pub]
     [regress/unittests/sshkey/testdata/rsa_1.fp]
     [regress/unittests/sshkey/testdata/rsa_1.fp.bb]
     [regress/unittests/sshkey/testdata/rsa_1.param.n]
     [regress/unittests/sshkey/testdata/rsa_1.param.p]
     [regress/unittests/sshkey/testdata/rsa_1.param.q]
     [regress/unittests/sshkey/testdata/rsa_1.pub]
     [regress/unittests/sshkey/testdata/rsa_1_pw]
     [regress/unittests/sshkey/testdata/rsa_2]
     [regress/unittests/sshkey/testdata/rsa_2.fp]
     [regress/unittests/sshkey/testdata/rsa_2.fp.bb]
     [regress/unittests/sshkey/testdata/rsa_2.param.n]
     [regress/unittests/sshkey/testdata/rsa_2.param.p]
     [regress/unittests/sshkey/testdata/rsa_2.param.q]
     [regress/unittests/sshkey/testdata/rsa_2.pub]
     [regress/unittests/sshkey/testdata/rsa_n]
     [regress/unittests/sshkey/testdata/rsa_n_pw]
     unit and fuzz tests for new key API
2014-07-02 17:38:31 +10:00
Damien Miller c1dc24b71f - djm@cvs.openbsd.org 2014/06/24 01:04:43
[regress/krl.sh]
     regress test for broken consecutive revoked serial number ranges
2014-07-02 17:02:03 +10:00
Damien Miller 43d3ed2dd3 - djm@cvs.openbsd.org 2014/05/21 07:04:21
[regress/integrity.sh]
     when failing because of unexpected output, show the offending output
2014-07-02 17:01:08 +10:00
Damien Miller 5a96707ffc - djm@cvs.openbsd.org 2014/04/30 05:32:00
[regress/Makefile]
     unit tests for new buffer API; including basic fuzz testing
     NB. Id sync only.
2014-07-02 15:38:05 +10:00
Damien Miller 3ff92ba756 - 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.
2014-07-02 15:33:09 +10:00
Damien Miller ec3d0e24a1 - markus@cvs.openbsd.org 2014/06/27 18:50:39
[ssh-add.c]
     fix loading of private keys
2014-07-02 15:30:00 +10:00
Damien Miller 4b3ed647d5 - 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@
2014-07-02 15:29:40 +10:00
Damien Miller 9e01ff2866 - deraadt@cvs.openbsd.org 2014/06/25 14:16:09
[sshbuf.c]
     unblock SIGSEGV before raising it
     ok djm
2014-07-02 15:29:21 +10:00
Damien Miller 1845fe6bda - 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
2014-07-02 15:29:01 +10:00
Damien Miller 19439e9a2a - 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)
2014-07-02 15:28:40 +10:00
Damien Miller 8668706d0f - djm@cvs.openbsd.org 2014/06/24 01:13:21
[Makefile.in auth-bsdauth.c auth-chall.c auth-options.c auth-rsa.c
     [auth2-none.c auth2-pubkey.c authfile.c authfile.h cipher-3des1.c
     [cipher-chachapoly.c cipher-chachapoly.h cipher.c cipher.h
     [digest-libc.c digest-openssl.c digest.h dns.c entropy.c hmac.h
     [hostfile.c key.c key.h krl.c monitor.c packet.c rsa.c rsa.h
     [ssh-add.c ssh-agent.c ssh-dss.c ssh-ecdsa.c ssh-ed25519.c
     [ssh-keygen.c ssh-pkcs11-client.c ssh-pkcs11-helper.c ssh-pkcs11.c
     [ssh-rsa.c sshbuf-misc.c sshbuf.h sshconnect.c sshconnect1.c
     [sshconnect2.c sshd.c sshkey.c sshkey.h
     [openbsd-compat/openssl-compat.c openbsd-compat/openssl-compat.h]
     New key API: refactor key-related functions to be more library-like,
     existing API is offered as a set of wrappers.

     with and ok markus@

     Thanks also to Ben Hawkes, David Tomaschik, Ivan Fratric, Matthew
     Dempsky and Ron Bowes for a detailed review a few months ago.

     NB. This commit also removes portable OpenSSH support for OpenSSL
     <0.9.8e.
2014-07-02 15:28:02 +10:00
Damien Miller 2cd7929250 - 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.
2014-07-02 12:48:30 +10:00
Damien Miller 99db840ee8 - 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@
2014-07-02 12:48:04 +10:00
Damien Miller 84a89161a9 - 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.

     ok djm
2014-07-02 12:47:48 +10:00
Damien Miller 51504ceec6 - deraadt@cvs.openbsd.org 2014/06/13 08:26:29
[sandbox-systrace.c]
     permit SYS_getentropy
     from matthew
2014-07-02 12:47:25 +10:00
Tim Rice a261b8df59 - (tim) [openssh/session.c] Work around to get chroot sftp working on UnixWare 2014-06-18 16:17:28 -07:00
Darren Tucker 316fac6f18 - (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@
2014-06-17 23:06:07 +10:00
Darren Tucker af665bb7b0 - (dtucker) [defines.h] Fix undef of _PATH_MAILDIR. From rak at debian via
OpenSMTPD and chl@
2014-06-16 22:50:55 +10:00
Darren Tucker f9696566fb - (dtucker) [configure.ac] Remove tcpwrappers support, support has already
been removed from sshd.c.
2014-06-13 11:06:04 +10:00
Tim Rice 5e2b8894b0 - (tim) [regress/unittests/test_helper/test_helper.h] Add includes.h for
u_intXX_t types.
2014-06-11 18:31:10 -07:00
Darren Tucker 985ee2cbc3 - (dtucker) [regress/unittests/sshbuf/*.c regress/unittests/test_helper/*]
Wrap stdlib.h include an ifdef for platforms that don't have it.
2014-06-12 05:32:29 +10:00
Darren Tucker cf5392c2db - (dtucker) [defines.h] Add va_copy if we don't already have it, taken from
openbsd-compat/bsd-asprintf.c.
2014-06-12 05:22:49 +10:00
Darren Tucker 58538d795e - (dtucker) [bufaux.c bufbn.c bufec.c buffer.c] Pull in includes.h for
compat stuff, specifically whether or not OpenSSL has ECC.
2014-06-11 13:39:24 +10:00
Darren Tucker eb012ac581 - (dtucker) [openbsd-compat/arc4random.c] Use explicit_bzero instead of an
assigment that might get optimized out.  ok djm@
2014-06-11 13:10:00 +10:00
Darren Tucker b9609fd86c - (dtucker) [sshbuf.h] Only declare ECC functions if building without
OpenSSL or if OpenSSL has ECC.
2014-06-11 08:04:02 +10:00
Darren Tucker a54a040f66 - 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@
2014-06-11 07:58:35 +10:00
Darren Tucker 9f92c53bad - 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
2014-06-11 07:57:58 +10:00
Darren Tucker 15c254a253 - (dtucker) [regress/unittests/sshbuf/test_sshbuf_getput_fuzz.c] ifdef
ECC variable too.
2014-06-11 07:38:49 +10:00
Darren Tucker d7af0cc5bf - (dtucker) [myprosal.h] Don't include curve25519-sha256@libssh.org in
the proposal if the version of OpenSSL we're using doesn't support ECC.
2014-06-11 07:37:25 +10:00
Darren Tucker 67508ac256 - (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.
2014-06-11 06:27:16 +10:00
Damien Miller 6482d90a65 - (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.
2014-05-27 14:34:42 +10:00