Portable OpenSSH
Go to file
dtucker@openbsd.org 8570177195 upstream: Don't send IUTF8 to servers that don't like them.
Some SSH servers eg "ConfD" drop the connection if the client sends the
new IUTF8 (RFC8160) terminal mode even if it's not set.  Add a bug bit
for such servers and avoid sending IUTF8 to them.  ok djm@

OpenBSD-Commit-ID: 26425855402d870c3c0a90491e72e2a8a342ceda
2018-02-16 23:25:48 +11:00
contrib Remove remaining now-obsolete cvs $Ids. 2018-02-15 20:06:19 +11:00
openbsd-compat freezero should check for NULL. 2018-02-16 17:33:29 +11:00
regress Remove execute bit from modpipe.c. 2018-02-15 22:33:21 +11:00
.depend Regenerate dependencies after UNICOS removal. 2018-02-15 20:04:12 +11:00
.gitignore Fuzzer harnesses for sig verify and pubkey parsing 2017-09-08 12:44:13 +10:00
.skipped-commit-ids upstream commit 2018-01-23 16:34:53 +11: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
auth2-chall.c upstream commit 2017-05-31 10:50:33 +10:00
auth2-gss.c upstream commit 2017-06-24 16:56:11 +10:00
auth2-hostbased.c upstream commit 2018-01-23 16:40:29 +11:00
auth2-kbdint.c upstream commit 2017-05-31 10:50:33 +10:00
auth2-none.c upstream commit 2017-05-31 10:50:33 +10:00
auth2-passwd.c upstream commit 2017-05-31 10:50:33 +10:00
auth2-pubkey.c upstream commit 2018-02-09 20:00:18 +11:00
auth2.c Remove UNICOS support. 2018-02-15 20:04:02 +11: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 2017-09-12 17:37:02 +10:00
auth-options.h upstream commit 2017-06-01 14:55:23 +10:00
auth-pam.c Expose list of completed auth methods to PAM 2017-07-28 15:04:00 +10:00
auth-pam.h Remove do_pam_set_tty which is dead code. 2016-10-15 04:34:46 +11: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 2018-01-23 16:32:57 +11:00
auth.h upstream commit 2018-01-23 16:32:57 +11:00
authfd.c upstream commit 2018-02-10 20:26:40 +11:00
authfd.h upstream commit 2018-02-10 20:26:40 +11:00
authfile.c upstream commit 2017-07-21 14:17:32 +10:00
authfile.h upstream commit 2015-01-09 00:17:12 +11:00
bitmap.c upstream commit 2017-10-20 12:58:35 +11:00
bitmap.h upstream commit 2017-10-20 12:58:35 +11:00
bufaux.c - (dtucker) [bufaux.c bufbn.c bufec.c buffer.c] Pull in includes.h for 2014-06-11 13:39:24 +10:00
bufbn.c upstream commit 2017-05-01 10:05:02 +10:00
bufec.c - (djm) [bufec.c] Skip this file on !ECC OpenSSL 2014-08-26 08:37:47 +10:00
buffer.c - (dtucker) [bufaux.c bufbn.c bufec.c buffer.c] Pull in includes.h for 2014-06-11 13:39:24 +10:00
buffer.h upstream commit 2017-05-01 10:05:02 +10:00
buildpkg.sh.in Update links to https. 2016-10-21 06:55:58 +11:00
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 2018-02-07 07:50:46 +11:00
channels.h upstream commit 2017-09-22 09:14:53 +10:00
cipher-aes.c
cipher-aesctr.c Add includes.h for compatibility stuff. 2015-02-25 13:17:40 +11:00
cipher-aesctr.h - markus@cvs.openbsd.org 2014/04/29 18:01:49 2014-05-15 14:24:09 +10:00
cipher-chachapoly.c upstream commit 2016-08-09 09:06:52 +10:00
cipher-chachapoly.h - djm@cvs.openbsd.org 2014/06/24 01:13:21 2014-07-02 15:28:02 +10:00
cipher-ctr.c support --without-openssl at configure time 2015-01-15 02:28:36 +11:00
cipher.c upstream: remove space before tab 2018-02-13 14:38:05 +11:00
cipher.h upstream commit 2017-05-08 09:21:00 +10:00
cleanup.c
clientloop.c upstream Don't reset signal handlers inside handlers. 2018-02-13 09:29:09 +11:00
clientloop.h upstream commit 2017-10-23 16:14:30 +11:00
compat.c upstream: Don't send IUTF8 to servers that don't like them. 2018-02-16 23:25:48 +11:00
compat.h upstream: Don't send IUTF8 to servers that don't like them. 2018-02-16 23:25:48 +11: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 remaining now-obsolete cvs $Ids. 2018-02-15 20:06:19 +11:00
crc32.c
crc32.h
CREDITS Remove now-obsolete CVS $Id tags from text files. 2016-08-17 13:40:58 +10:00
crypto_api.h crypto_api.h needs includes.h 2018-01-24 12:20:44 +11:00
defines.h Remove UNICOS support. 2018-02-15 20:04:02 +11:00
dh.c upstream commit 2018-02-08 09:26:27 +11:00
dh.h upstream commit 2016-05-02 20:39:32 +10:00
digest-libc.c upstream commit 2017-05-10 11:41:21 +10:00
digest-openssl.c upstream commit 2017-05-10 11:41:21 +10:00
digest.h upstream commit 2017-05-10 11:41:21 +10:00
dispatch.c upstream commit 2017-06-01 14:53:33 +10:00
dispatch.h upstream commit 2017-06-01 14:53:33 +10:00
dns.c upstream commit 2017-09-14 14:33:06 +10:00
dns.h upstream commit 2017-09-14 14:33:06 +10:00
ed25519.c
entropy.c Replace remaining mysignal() with signal(). 2018-02-15 22:06:26 +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
ge25519_base.data
ge25519.c
ge25519.h upstream commit 2015-02-17 09:32:31 +11:00
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 2017-06-24 16:56:11 +10:00
hash.c upstream commit 2018-01-23 16:35:07 +11:00
hmac.c upstream commit 2015-03-27 12:00:47 +11:00
hmac.h - djm@cvs.openbsd.org 2014/06/24 01:13:21 2014-07-02 15:28:02 +10:00
hostfile.c upstream commit 2017-06-01 14:55:22 +10:00
hostfile.h upstream commit 2015-02-17 09:32:31 +11:00
includes.h portability for sftp globbed ls sort by mtime 2017-06-10 23:41:25 +10:00
INSTALL Remove extra newline. 2018-02-15 22:28:00 +11:00
install-sh Pull in newer install-sh from autoconf-2.69. 2017-12-01 17:07:08 +11:00
kex.c upstream commit 2018-02-08 09:26:27 +11:00
kex.h upstream commit 2017-05-31 10:50:05 +10:00
kexc25519.c upstream commit 2016-05-02 20:35:04 +10:00
kexc25519c.c upstream commit 2017-12-19 15:21:37 +11:00
kexc25519s.c upstream commit 2017-10-20 12:58:18 +11:00
kexdh.c upstream commit 2016-05-02 20:39:32 +10:00
kexdhc.c upstream commit 2018-02-08 09:26:27 +11:00
kexdhs.c upstream commit 2018-02-08 09:26:27 +11:00
kexecdh.c upstream commit 2015-01-20 09:19:39 +11:00
kexecdhc.c upstream commit 2018-02-08 09:26:27 +11:00
kexecdhs.c upstream commit 2018-02-08 09:26:27 +11:00
kexgex.c upstream commit 2015-01-20 09:19:39 +11:00
kexgexc.c upstream commit 2018-02-08 09:26:27 +11:00
kexgexs.c upstream commit 2018-02-08 09:26:27 +11:00
key.c upstream commit 2017-12-19 15:21:37 +11:00
key.h upstream commit 2017-12-19 15:21:37 +11:00
krl.c upstream commit 2017-12-19 15:21:37 +11:00
krl.h upstream commit 2016-01-07 20:13:32 +11:00
LICENCE upstream commit 2017-05-01 10:05:04 +10:00
log.c upstream commit 2017-05-17 11:25:22 +10:00
log.h upstream commit 2017-05-17 11:25:22 +10:00
loginrec.c Remove UNICOS support. 2018-02-15 20:04:02 +11:00
loginrec.h
logintest.c
mac.c upstream commit 2017-05-10 11:41:21 +10:00
mac.h upstream commit 2016-07-08 13:50:03 +10:00
Makefile.in Remove remaining now-obsolete cvs $Ids. 2018-02-15 20:06:19 +11:00
match.c upstream commit 2017-03-10 15:35:40 +11:00
match.h upstream commit 2017-02-04 10:08:15 +11:00
md5crypt.c Remove assigned-to-but-never-used variable. 2018-02-13 16:27:09 +11:00
md5crypt.h Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
mdoc2man.awk Remove remaining now-obsolete cvs $Ids. 2018-02-15 20:06:19 +11:00
misc.c upstream commit 2018-01-23 16:32:57 +11:00
misc.h upstream commit 2018-01-23 16:32:57 +11:00
mkinstalldirs Remove remaining now-obsolete cvs $Ids. 2018-02-15 20:06:19 +11:00
moduli upstream commit 2017-12-07 11:40:38 +11:00
moduli.5
moduli.c upstream commit 2017-12-12 10:32:04 +11:00
monitor_fdpass.c upstream commit 2016-03-04 15:12:17 +11:00
monitor_fdpass.h
monitor_wrap.c upstream commit 2018-01-23 16:28:31 +11:00
monitor_wrap.h upstream commit 2017-12-19 15:21:37 +11:00
monitor.c upstream commit 2018-02-07 07:50:46 +11:00
monitor.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 2017-09-22 09:14:53 +10:00
myproposal.h upstream commit 2017-05-08 09:21:11 +10:00
nchan2.ms
nchan.c upstream commit 2017-09-12 17:37:03 +10:00
nchan.ms
opacket.c upstream commit 2017-10-20 12:58:35 +11:00
opacket.h upstream commit 2017-10-20 12:58:35 +11:00
openssh.xml.in
opensshd.init.in Remove RSA1 host key generation. 2017-12-01 16:55:35 +11:00
OVERVIEW upstream commit 2015-07-15 15:36:21 +10:00
packet.c upstream commit 2017-12-19 15:21:37 +11:00
packet.h upstream commit 2017-12-12 10:32:04 +11:00
pathnames.h upstream commit 2017-05-08 09:18:27 +10:00
pkcs11.h
platform-misc.c Split platform_sys_dir_uid into its own file 2017-08-25 13:25:01 +10:00
platform-pledge.c Support Illumos/Solaris fine-grained privileges 2016-01-08 14:29:12 +11:00
platform-tracing.c Use ptrace(PT_DENY_ATTACH, ..) on OS X. 2016-11-01 08:12:33 +11:00
platform.c Split platform_sys_dir_uid into its own file 2017-08-25 13:25:01 +10:00
platform.h Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
poly1305.c
poly1305.h - djm@cvs.openbsd.org 2014/05/02 03:27:54 2014-05-15 14:37:03 +10:00
progressmeter.c upstream commit 2016-07-08 13:46:59 +10:00
progressmeter.h upstream commit 2015-01-15 02:22:18 +11:00
PROTOCOL upstream commit 2017-05-27 15:35:52 +10:00
PROTOCOL.agent update URL again 2017-10-01 10:32:25 +11:00
PROTOCOL.certkeys upstream commit 2017-11-03 16:20:41 +11: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
readconf.c upstream commit 2017-12-07 11:49:00 +11:00
readconf.h upstream commit 2017-10-23 16:10:08 +11:00
README Update prngd link to point to sourceforge. 2018-02-15 22:28:25 +11: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 references to UNICOS. 2018-02-15 22:28:14 +11:00
README.tun
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 - (djm) [rijndael.c rijndael.h] Sync with newly-ressurected versions ine 2014-05-15 13:45:26 +10:00
sandbox-capsicum.c Switch Capsicum header to sys/capsicum.h. 2017-08-28 16:48:27 +10:00
sandbox-darwin.c Add missing monitor.h include. 2016-12-16 15:02:24 +11:00
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 Fix typo in "socketcall". 2017-04-25 08:32:27 +10:00
sandbox-solaris.c drop two more privileges in the Solaris sandbox 2017-06-09 14:44:43 +10: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 2017-10-31 09:08:50 +11:00
scp.c upstream commit 2018-02-10 17:16:04 +11:00
servconf.c upstream: stop loading DSA keys by default, remove sshd_config 2018-02-16 13:35:28 +11:00
servconf.h upstream commit 2017-10-25 12:26:21 +11:00
serverloop.c Replace remaining mysignal() with signal(). 2018-02-15 22:06:26 +11:00
serverloop.h upstream commit 2017-09-12 17:37:02 +10:00
session.c Remove UNICOS support. 2018-02-15 20:04:02 +11:00
session.h upstream commit 2017-09-12 17:37:02 +10:00
sftp-client.c upstream commit 2017-12-07 11:38:50 +11: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 2017-06-10 16:40:11 +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 2017-04-04 10:26:01 +10:00
sftp.1 upstream commit 2017-11-03 16:20:41 +11:00
sftp.c upstream commit 2017-11-03 16:20:41 +11:00
sftp.h
smult_curve25519_ref.c
ssh2.h upstream commit 2016-05-19 17:48:34 +10:00
ssh_api.c upstream commit 2017-05-01 09:42:37 +10:00
ssh_api.h various include fixes for portable 2015-02-24 06:30:29 +11:00
ssh_config upstream commit 2017-05-08 09:21:00 +10:00
ssh_config.5 upstream: Mention recent DH KEX methods: 2018-02-16 13:42:09 +11:00
ssh-add.1 upstream commit 2017-09-04 09:38:57 +10:00
ssh-add.c upstream commit 2017-09-04 09:38:57 +10:00
ssh-agent.1 upstream commit 2016-11-30 19:44:25 +11:00
ssh-agent.c upstream commit 2018-01-23 16:40:29 +11:00
ssh-dss.c upstream commit 2018-02-08 09:26:27 +11:00
ssh-ecdsa.c upstream commit 2018-02-08 09:26:27 +11:00
ssh-ed25519.c upstream commit 2016-04-21 16:30:11 +10:00
ssh-gss.h upstream commit 2017-06-24 16:56:11 +10:00
ssh-keygen.1 upstream commit 2018-02-07 07:50:46 +11:00
ssh-keygen.c upstream commit 2018-02-10 16:49:44 +11:00
ssh-keyscan.1 upstream commit 2017-05-08 09:18:05 +10:00
ssh-keyscan.c upstream commit 2017-11-28 12:01:49 +11:00
ssh-keysign.8 upstream commit 2016-02-18 09:24:40 +11:00
ssh-keysign.c upstream commit 2018-02-09 20:00:18 +11:00
ssh-pkcs11-client.c upstream commit 2018-02-07 07:50:46 +11:00
ssh-pkcs11-helper.8
ssh-pkcs11-helper.c upstream commit 2018-01-23 16:31:55 +11:00
ssh-pkcs11.c upstream commit 2018-02-08 09:26:27 +11:00
ssh-pkcs11.h upstream commit 2015-01-15 21:39:14 +11:00
ssh-rsa.c upstream: Ensure that D mod (P-1) and D mod (Q-1) are calculated in 2018-02-16 13:35:28 +11:00
ssh-sandbox.h
ssh.1 upstream commit 2017-11-03 16:20:41 +11:00
ssh.c upstream: remove space before tab 2018-02-13 14:38:05 +11:00
ssh.h upstream commit 2017-05-08 09:21:22 +10:00
sshbuf-getput-basic.c upstream commit 2017-06-01 14:55:23 +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 2017-06-07 11:31:15 +10:00
sshbuf.h upstream commit 2017-09-12 17:37:02 +10:00
sshconnect2.c upstream commit 2018-02-09 20:00:18 +11:00
sshconnect.c upstream commit 2018-02-10 20:26:40 +11:00
sshconnect.h upstream commit 2018-02-10 20:26:40 +11:00
sshd_config upstream: stop loading DSA keys by default, remove sshd_config 2018-02-16 13:35:28 +11:00
sshd_config.5 upstream: Mention recent DH KEX methods: 2018-02-16 13:42:09 +11:00
sshd.8 upstream: stop loading DSA keys by default, remove sshd_config 2018-02-16 13:35:28 +11:00
sshd.c Remove UNICOS support. 2018-02-15 20:04:02 +11:00
ssherr.c upstream commit 2017-09-12 17:37:02 +10:00
ssherr.h upstream commit 2017-09-12 17:37:02 +10:00
sshkey.c upstream: Some obvious freezero() conversions. 2018-02-16 13:35:28 +11:00
sshkey.h upstream commit 2017-12-19 15:21:37 +11:00
sshlogin.c upstream commit 2016-01-07 20:13:31 +11:00
sshlogin.h
sshpty.c Remove UNICOS support. 2018-02-15 20:04:02 +11:00
sshpty.h upstream commit 2016-11-29 16:51:27 +11:00
sshtty.c
survey.sh.in
TODO Remove portability support for mmap 2016-09-29 03:19:23 +10:00
ttymodes.c upstream: Don't send IUTF8 to servers that don't like them. 2018-02-16 23:25:48 +11:00
ttymodes.h upstream commit 2017-05-01 10:05:04 +10:00
uidswap.c Support Illumos/Solaris fine-grained privileges 2016-01-08 14:29:12 +11:00
uidswap.h
umac128.c upstream commit 2018-02-09 20:00:18 +11:00
umac.c upstream commit 2017-12-19 15:17:38 +11:00
umac.h
utf8.c upstream commit 2017-06-01 14:55:22 +10:00
utf8.h Force Turkish locales back to C/POSIX; bz#2643 2016-12-12 13:58:59 +11:00
uuencode.c upstream commit 2015-04-29 18:15:24 +10:00
uuencode.h
verify.c
version.h upstream commit 2017-10-01 09:27:30 +11:00
xmalloc.c upstream commit 2017-06-01 14:55:22 +10:00
xmalloc.h upstream commit 2017-06-01 14:55:22 +10:00

See https://www.openssh.com/releasenotes.html#7.6p1 for the release notes.

Please read https://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 release notes 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 https://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 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] and
libedit[6]

There is now several mailing lists for this port of OpenSSH. Please
refer to https://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[7].

Please refer to the INSTALL document for information on how to install
OpenSSH on your system.

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] https://www.openssh.com/
[1] http://www.lothar.com/tech/crypto/
[2] http://prngd.sourceforge.net/
[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://thrysoee.dk/editline/ (portable version)
[7] http://man.openbsd.org/style.9