Portable OpenSSH
Go to file
markus@openbsd.org ec165c392c upstream commit
Unregister the KEXINIT handler after message has been
received. Otherwise an unauthenticated peer can repeat the KEXINIT and cause
allocation of up to 128MB -- until the connection is closed. Reported by
shilei-c at 360.cn

Upstream-ID: 43649ae12a27ef94290db16d1a98294588b75c05
2016-10-13 18:55:25 +11:00
contrib crank version numbers 2016-07-24 21:50:13 +10:00
openbsd-compat Import rev 1.24 from OpenBSD. 2016-10-13 04:07:20 +11:00
regress upstream commit 2016-10-01 06:44:43 +10:00
.skipped-commit-ids upstream commit 2016-08-14 11:19:14 +10:00
CREDITS Remove now-obsolete CVS $Id tags from text files. 2016-08-17 13:40:58 +10:00
INSTALL Fix typo. 2016-08-17 15:33:10 +10:00
LICENCE
Makefile.in upstream commit 2016-09-29 03:11:32 +10:00
OVERVIEW upstream commit 2015-07-15 15:36:21 +10:00
PROTOCOL upstream commit 2016-04-08 17:36:29 +10:00
PROTOCOL.agent upstream commit 2016-05-19 17:48:36 +10:00
PROTOCOL.certkeys upstream commit 2016-05-03 20:29:14 +10:00
PROTOCOL.chacha20poly1305 upstream commit 2016-05-04 00:55:21 +10:00
PROTOCOL.key
PROTOCOL.krl upstream commit 2015-01-30 12:17:07 +11:00
PROTOCOL.mux upstream commit 2015-07-17 13:36:29 +10:00
README Remove now-obsolete CVS $Id tags from text files. 2016-08-17 13:40:58 +10:00
README.dns
README.platform Remove now-obsolete CVS $Id tags from text files. 2016-08-17 13:40:58 +10:00
README.privsep Remove portability support for mmap 2016-09-29 03:19:23 +10:00
README.tun
TODO Remove portability support for mmap 2016-09-29 03:19:23 +10:00
aclocal.m4 Test multiplying two long long ints. 2016-08-17 13:35:43 +10:00
addrmatch.c upstream commit 2016-09-22 03:14:59 +10:00
atomicio.c upstream commit 2016-08-03 15:38:43 +10:00
atomicio.h
audit-bsm.c Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
audit-linux.c Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
audit.c Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
audit.h Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
auth-bsdauth.c upstream commit 2015-10-25 11:42:04 +11:00
auth-krb5.c upstream commit 2016-05-19 17:48:34 +10:00
auth-options.c upstream commit 2016-03-08 06:20:35 +11:00
auth-options.h upstream commit 2015-01-14 21:34:20 +11:00
auth-pam.c add --with-pam-service to specify PAM service name 2016-08-16 13:37:26 +10:00
auth-pam.h Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
auth-passwd.c upstream commit 2016-07-22 13:36:40 +10:00
auth-rhosts.c upstream commit 2016-08-14 11:19:14 +10:00
auth-shadow.c
auth-sia.c
auth-sia.h
auth-skey.c
auth.c upstream commit 2016-08-14 11:19:14 +10:00
auth.h upstream commit 2016-08-14 11:19:14 +10:00
auth2-chall.c upstream commit 2016-05-02 20:35:04 +10:00
auth2-gss.c upstream commit 2015-01-20 09:14:16 +11:00
auth2-hostbased.c upstream commit 2016-03-08 06:20:35 +11:00
auth2-kbdint.c - millert@cvs.openbsd.org 2014/07/15 15:54:14 2014-07-18 14:11:24 +10:00
auth2-none.c - millert@cvs.openbsd.org 2014/07/15 15:54:14 2014-07-18 14:11:24 +10:00
auth2-passwd.c - millert@cvs.openbsd.org 2014/07/15 15:54:14 2014-07-18 14:11:24 +10:00
auth2-pubkey.c upstream commit 2016-09-22 03:45:03 +10:00
auth2.c upstream commit 2016-05-02 20:35:04 +10:00
authfd.c upstream commit 2015-12-07 12:38:58 +11:00
authfd.h upstream commit 2015-12-07 12:38:58 +11:00
authfile.c upstream commit 2016-04-13 10:44:06 +10:00
authfile.h upstream commit 2015-01-09 00:17:12 +11:00
bitmap.c upstream commit 2015-09-16 17:52:07 +10:00
bitmap.h add files missed in last commit 2015-01-15 02:28:00 +11:00
blocks.c
bufaux.c
bufbn.c support --without-openssl at configure time 2015-01-15 02:28:36 +11:00
bufec.c - (djm) [bufec.c] Skip this file on !ECC OpenSSL 2014-08-26 08:37:47 +10:00
buffer.c
buffer.h Include OpenSSL's objects.h before bn.h. 2015-02-24 13:39:57 +11:00
buildpkg.sh.in
canohost.c upstream commit 2016-03-08 06:20:35 +11:00
canohost.h upstream commit 2016-03-08 06:20:35 +11:00
chacha.c
chacha.h upstream commit 2016-08-29 11:20:28 +10:00
channels.c upstream commit 2016-10-01 07:07:58 +10:00
channels.h upstream commit 2016-10-01 02:45:10 +10:00
cipher-3des1.c upstream commit 2015-01-14 21:32:54 +11:00
cipher-aes.c
cipher-aesctr.c Add includes.h for compatibility stuff. 2015-02-25 13:17:40 +11:00
cipher-aesctr.h
cipher-bf1.c disable ciphers not supported by OpenSSL 2016-07-15 14:45:34 +10:00
cipher-chachapoly.c upstream commit 2016-08-09 09:06:52 +10:00
cipher-chachapoly.h
cipher-ctr.c support --without-openssl at configure time 2015-01-15 02:28:36 +11:00
cipher.c upstream commit 2016-08-09 09:06:52 +10:00
cipher.h upstream commit 2016-08-09 09:06:52 +10:00
cleanup.c
clientloop.c upstream commit 2016-10-01 02:45:10 +10:00
clientloop.h upstream commit 2016-10-01 02:45:10 +10:00
compat.c upstream commit 2016-06-06 11:25:37 +10:00
compat.h upstream commit 2015-05-27 13:47:19 +10:00
config.guess update config.guess and config.sub to current 2016-08-02 10:48:04 +10:00
config.sub update config.guess and config.sub to current 2016-08-02 10:48:04 +10:00
configure.ac Remove portability support for mmap 2016-09-29 03:19:23 +10:00
crc32.c
crc32.h
crypto_api.h
deattack.c upstream commit 2015-01-26 23:58:53 +11:00
deattack.h upstream commit 2015-01-20 09:13:01 +11:00
defines.h Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
dh.c upstream commit 2016-09-12 13:46:29 +10:00
dh.h upstream commit 2016-05-02 20:39:32 +10:00
digest-libc.c upstream commit 2015-05-08 13:32:55 +10:00
digest-openssl.c support --without-openssl at configure time 2015-01-15 02:28:36 +11:00
digest.h upstream commit 2014-12-22 09:32:29 +11:00
dispatch.c upstream commit 2015-05-10 11:55:48 +10:00
dispatch.h cleaner way fix dispatch.h portion of commit 2015-02-23 22:06:56 -08:00
dns.c upstream commit 2015-08-21 13:43:25 +10:00
dns.h upstream commit 2015-05-08 16:46:01 +10:00
ed25519.c
entropy.c support --without-openssl at configure time 2015-01-15 02:28:36 +11:00
entropy.h Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
fatal.c
fe25519.c
fe25519.h
fixalgorithms
fixpaths
fixprogs
ge25519.c
ge25519.h upstream commit 2015-02-17 09:32:31 +11:00
ge25519_base.data
groupaccess.c upstream commit 2015-05-10 11:38:04 +10:00
groupaccess.h
gss-genr.c upstream commit 2016-09-12 13:46:29 +10:00
gss-serv-krb5.c - (dtucker) [auth2-gss.c gss-serv-krb5.c] Include misc.h for fwd_opts, used 2014-07-19 06:23:18 +10:00
gss-serv.c upstream commit 2015-05-22 20:02:17 +10:00
hash.c
hmac.c upstream commit 2015-03-27 12:00:47 +11:00
hmac.h
hostfile.c upstream commit 2016-09-21 11:03:55 +10:00
hostfile.h upstream commit 2015-02-17 09:32:31 +11:00
includes.h Prevent name collisions with system glob (bz#2463) 2015-10-29 10:48:23 +11:00
install-sh
kex.c upstream commit 2016-10-13 18:55:25 +11:00
kex.h upstream commit 2016-09-29 08:18:39 +10:00
kexc25519.c upstream commit 2016-05-02 20:35:04 +10:00
kexc25519c.c upstream commit 2015-01-27 00:00:57 +11:00
kexc25519s.c upstream commit 2015-12-07 12:38:58 +11:00
kexdh.c upstream commit 2016-05-02 20:39:32 +10:00
kexdhc.c upstream commit 2016-05-02 20:39:32 +10:00
kexdhs.c upstream commit 2016-05-02 20:39:32 +10:00
kexecdh.c upstream commit 2015-01-20 09:19:39 +11:00
kexecdhc.c upstream commit 2015-01-27 00:00:57 +11:00
kexecdhs.c upstream commit 2015-12-07 12:38:58 +11:00
kexgex.c upstream commit 2015-01-20 09:19:39 +11:00
kexgexc.c upstream commit 2016-09-12 13:46:29 +10:00
kexgexs.c upstream commit 2016-09-12 13:46:29 +10:00
key.c upstream commit 2016-05-02 20:35:05 +10:00
key.h upstream commit 2016-09-13 09:33:24 +10:00
krl.c upstream commit 2016-09-12 13:46:29 +10:00
krl.h upstream commit 2016-01-07 20:13:32 +11:00
log.c upstream commit 2016-07-15 20:54:55 +10:00
log.h upstream commit 2016-07-15 20:54:55 +10:00
loginrec.c Add sys/time.h for gettimeofday. 2015-12-15 13:59:12 +11:00
loginrec.h
logintest.c
mac.c upstream commit 2016-07-08 13:50:03 +10:00
mac.h upstream commit 2016-07-08 13:50:03 +10:00
match.c upstream commit 2016-09-22 03:14:59 +10:00
match.h upstream commit 2015-05-10 11:38:04 +10:00
md-sha256.c
md5crypt.c
md5crypt.h Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
mdoc2man.awk fix mdoc2man.awk formatting for top-level lists 2016-09-28 07:40:33 +10:00
misc.c upstream commit 2016-07-15 14:20:10 +10:00
misc.h upstream commit 2016-09-12 13:46:29 +10:00
mkinstalldirs
moduli Import updated moduli. 2016-08-11 11:42:48 +10:00
moduli.5
moduli.c upstream commit 2016-09-12 13:46:29 +10:00
monitor.c upstream commit 2016-09-29 03:11:32 +10:00
monitor.h upstream commit 2016-09-29 03:11:32 +10:00
monitor_fdpass.c upstream commit 2016-03-04 15:12:17 +11:00
monitor_fdpass.h
monitor_wrap.c upstream commit 2016-08-14 11:19:14 +10:00
monitor_wrap.h upstream commit 2016-09-29 03:11:32 +10:00
msg.c upstream commit 2015-01-15 21:39:14 +11:00
msg.h upstream commit 2015-01-15 21:39:14 +11:00
mux.c upstream commit 2016-10-01 02:45:10 +10:00
myproposal.h upstream commit 2016-09-29 03:11:32 +10:00
nchan.c
nchan.ms
nchan2.ms
opacket.c upstream commit 2016-01-27 16:54:10 +11:00
opacket.h upstream commit 2016-10-01 02:45:10 +10:00
openssh.xml.in
opensshd.init.in modified: configure.ac opensshd.init.in 2016-08-01 14:31:52 -07:00
packet.c upstream commit 2016-10-01 02:45:10 +10:00
packet.h upstream commit 2016-10-01 02:45:10 +10:00
pathnames.h upstream commit 2016-04-01 23:57:14 +11:00
pkcs11.h
platform-pledge.c Support Illumos/Solaris fine-grained privileges 2016-01-08 14:29:12 +11:00
platform-tracing.c Move platform_disable_tracing into its own file. 2016-06-15 11:29:24 +10:00
platform.c Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
platform.h Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
poly1305.c
poly1305.h
progressmeter.c upstream commit 2016-07-08 13:46:59 +10:00
progressmeter.h upstream commit 2015-01-15 02:22:18 +11:00
readconf.c upstream commit 2016-08-29 11:20:28 +10:00
readconf.h upstream commit 2016-07-15 14:20:10 +10:00
readpass.c upstream commit 2015-12-11 13:23:14 +11:00
rijndael.c upstream commit 2015-03-23 17:08:12 +11:00
rijndael.h
rsa.c
rsa.h
sandbox-capsicum.c
sandbox-darwin.c
sandbox-null.c
sandbox-pledge.c s/SANDBOX_TAME/SANDBOX_PLEDGE/g 2015-10-14 09:22:15 -07:00
sandbox-rlimit.c upstream commit 2016-09-12 13:46:29 +10:00
sandbox-seccomp-filter.c Deny lstat syscalls in seccomp sandbox 2016-05-20 09:56:53 +10:00
sandbox-solaris.c Make Solaris privs code build on older systems. 2016-02-19 09:05:39 +11:00
sandbox-systrace.c (re)wrap SYS_sendsyslog in ifdef. 2015-10-29 20:57:34 +11:00
sc25519.c
sc25519.h
scp.1 upstream commit 2016-07-17 14:21:09 +10:00
scp.c upstream commit 2016-09-12 13:46:29 +10:00
servconf.c upstream commit 2016-09-29 06:54:50 +10:00
servconf.h upstream commit 2016-08-23 14:29:07 +10:00
serverloop.c upstream commit 2016-09-12 13:46:29 +10:00
serverloop.h upstream commit 2016-08-14 11:19:14 +10:00
session.c upstream commit 2016-08-29 11:20:28 +10:00
session.h upstream commit 2016-08-14 11:19:14 +10:00
sftp-client.c upstream commit 2016-09-12 13:46:29 +10:00
sftp-client.h Prevent name collisions with system glob (bz#2463) 2015-10-29 10:48:23 +11:00
sftp-common.c upstream commit 2016-09-12 13:46:29 +10:00
sftp-common.h upstream commit 2015-01-15 02:22:18 +11:00
sftp-glob.c upstream commit 2015-01-15 02:22:18 +11:00
sftp-server-main.c upstream commit 2016-02-16 10:44:00 +11:00
sftp-server.8 upstream commit 2014-12-11 19:17:24 +11:00
sftp-server.c upstream commit 2016-09-12 13:46:29 +10:00
sftp.1 upstream commit 2016-07-17 14:21:09 +10:00
sftp.c upstream commit 2016-09-12 13:46:29 +10:00
sftp.h
smult_curve25519_ref.c
ssh-add.1 upstream commit 2015-04-01 10:00:27 +11:00
ssh-add.c upstream commit 2016-02-16 10:44:00 +11:00
ssh-agent.1 upstream commit 2015-11-16 11:31:40 +11:00
ssh-agent.c upstream commit 2016-09-12 13:46:29 +10:00
ssh-dss.c upstream commit 2016-04-21 16:30:11 +10:00
ssh-ecdsa.c upstream commit 2016-04-21 16:30:11 +10:00
ssh-ed25519.c upstream commit 2016-04-21 16:30:11 +10:00
ssh-gss.h
ssh-keygen.1 upstream commit 2016-06-24 13:35:28 +10:00
ssh-keygen.c Resync ssh-keygen -W error message with upstream. 2016-09-12 13:57:28 +10:00
ssh-keyscan.1 upstream commit 2015-11-09 14:25:41 +11:00
ssh-keyscan.c upstream commit 2016-05-02 20:39:32 +10:00
ssh-keysign.8 upstream commit 2016-02-18 09:24:40 +11:00
ssh-keysign.c upstream commit 2016-02-16 10:44:00 +11:00
ssh-pkcs11-client.c upstream commit 2015-12-11 13:23:14 +11:00
ssh-pkcs11-helper.8
ssh-pkcs11-helper.c upstream commit 2016-02-16 10:44:00 +11:00
ssh-pkcs11.c upstream commit 2016-02-12 11:23:05 +11:00
ssh-pkcs11.h upstream commit 2015-01-15 21:39:14 +11:00
ssh-rsa.c upstream commit 2016-09-14 10:51:24 +10:00
ssh-sandbox.h
ssh.1 upstream commit 2016-07-17 14:21:09 +10:00
ssh.c upstream commit 2016-10-01 02:45:10 +10:00
ssh.h upstream commit 2015-12-18 14:49:32 +11:00
ssh1.h upstream commit 2016-05-19 17:48:34 +10:00
ssh2.h upstream commit 2016-05-19 17:48:34 +10:00
ssh_api.c upstream commit 2016-05-19 17:48:34 +10:00
ssh_api.h various include fixes for portable 2015-02-24 06:30:29 +11:00
ssh_config upstream commit 2016-02-23 12:44:19 +11:00
ssh_config.5 upstream commit 2016-09-29 06:54:50 +10:00
sshbuf-getput-basic.c Move VA_COPY macro into compat header. 2016-07-15 14:54:16 +10:00
sshbuf-getput-crypto.c upstream commit 2016-01-13 10:48:11 +11:00
sshbuf-misc.c upstream commit 2016-05-02 20:35:04 +10:00
sshbuf.c upstream commit 2016-09-12 13:46:29 +10:00
sshbuf.h upstream commit 2016-05-02 20:35:04 +10:00
sshconnect.c upstream commit 2016-09-12 13:46:29 +10:00
sshconnect.h upstream commit 2015-11-16 11:31:39 +11:00
sshconnect1.c upstream commit 2016-09-21 11:03:55 +10:00
sshconnect2.c upstream commit 2016-09-29 06:54:50 +10:00
sshd.8 upstream commit 2016-08-23 14:29:07 +10:00
sshd.c upstream commit 2016-09-29 03:11:32 +10:00
sshd_config upstream commit 2016-08-23 13:28:30 +10:00
sshd_config.5 upstream commit 2016-10-10 14:27:12 +11:00
ssherr.c upstream commit 2015-09-16 17:52:09 +10:00
ssherr.h upstream commit 2015-01-30 12:18:59 +11:00
sshkey.c upstream commit 2016-10-06 06:00:43 +11:00
sshkey.h upstream commit 2016-09-13 09:33:24 +10:00
sshlogin.c upstream commit 2016-01-07 20:13:31 +11:00
sshlogin.h
sshpty.c Remove no-op brackets to resync with upstream. 2016-09-12 14:43:58 +10:00
sshpty.h
sshtty.c
survey.sh.in
ttymodes.c upstream commit 2016-05-19 17:48:34 +10:00
ttymodes.h upstream commit 2016-05-03 20:04:42 +10:00
uidswap.c Support Illumos/Solaris fine-grained privileges 2016-01-08 14:29:12 +11:00
uidswap.h
umac.c - guenther@cvs.openbsd.org 2014/07/22 07:13:42 2014-07-23 09:43:42 +10:00
umac.h
utf8.c Check for wchar.h and langinfo.h 2016-07-11 17:26:49 +10:00
utf8.h upstream commit 2016-06-06 11:27:38 +10:00
uuencode.c upstream commit 2015-04-29 18:15:24 +10:00
uuencode.h
verify.c
version.h upstream commit 2016-07-24 21:47:18 +10:00
xmalloc.c make existing ssh_malloc_init only for __OpenBSD__ 2016-02-16 10:45:02 +11:00
xmalloc.h upstream commit 2016-02-16 10:44:00 +11:00

README

See http://www.openssh.com/txt/release-7.3p1 for the release notes.

Please read http://www.openssh.com/report.html for bug reporting
instructions and note that we do not use Github for bug reporting or
patch/pull-request management.

- A Japanese translation of this document and of the OpenSSH FAQ is
- available at http://www.unixuser.org/~haruyama/security/openssh/index.html
- Thanks to HARUYAMA Seigo <haruyama@unixuser.org>

This is the port of OpenBSD's excellent OpenSSH[0] to Linux and other
Unices.

OpenSSH is based on the last free version of Tatu Ylonen's sample
implementation with all patent-encumbered algorithms removed (to
external libraries), all known security bugs fixed, new features
reintroduced and many other clean-ups.  OpenSSH has been created by
Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt,
and Dug Song. It has a homepage at http://www.openssh.com/

This port consists of the re-introduction of autoconf support, PAM
support, EGD[1]/PRNGD[2] support and replacements for OpenBSD library
functions that are (regrettably) absent from other unices. This port
has been best tested on AIX, Cygwin, HP-UX, Linux, MacOS/X,
NetBSD, OpenBSD, OpenServer, Solaris, Unicos, and UnixWare.

This version actively tracks changes in the OpenBSD CVS repository.

The PAM support is now more functional than the popular packages of
commercial ssh-1.2.x. It checks "account" and "session" modules for
all logins, not just when using password authentication.

OpenSSH depends on Zlib[3], OpenSSL[4] and optionally PAM[5].

There is now several mailing lists for this port of OpenSSH. Please
refer to http://www.openssh.com/list.html for details on how to join.

Please send bug reports and patches to the mailing list
openssh-unix-dev@mindrot.org. The list is open to posting by
unsubscribed users.Code contribution are welcomed, but please follow the 
OpenBSD style guidelines[6].

Please refer to the INSTALL document for information on how to install
OpenSSH on your system. There are a number of differences between this
port of OpenSSH and F-Secure SSH 1.x, please refer to the OpenSSH FAQ[7]
for details and general tips.

Damien Miller <djm@mindrot.org>

Miscellania -

This version of OpenSSH is based upon code retrieved from the OpenBSD
CVS repository which in turn was based on the last free sample
implementation released by Tatu Ylonen.

References -

[0] http://www.openssh.com/faq.html
[1] http://www.lothar.com/tech/crypto/
[2] http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html
[3] http://www.gzip.org/zlib/
[4] http://www.openssl.org/
[5] http://www.openpam.org
    http://www.kernel.org/pub/linux/libs/pam/ 
    (PAM also is standard on Solaris and HP-UX 11)
[6] http://www.openbsd.org/cgi-bin/man.cgi?query=style&sektion=9
[7] http://www.openssh.com/faq.html