Import OpenSSH 3.8.1.p1 into base.
authorScott Ullrich <geekgod@dragonflybsd.org>
Sat, 31 Jul 2004 19:03:02 +0000 (19:03 +0000)
committerScott Ullrich <geekgod@dragonflybsd.org>
Sat, 31 Jul 2004 19:03:02 +0000 (19:03 +0000)
Patch-submitted-by: Simon 'corecode' Schubert
Reviewed-by: Chris Pressey
Parts-obtained-from: FreeBSD

349 files changed:
crypto/openssh/CREDITS [deleted file]
crypto/openssh/ChangeLog [deleted file]
crypto/openssh/FREEBSD-Xlist [deleted file]
crypto/openssh/FREEBSD-tricks [deleted file]
crypto/openssh/FREEBSD-upgrade [deleted file]
crypto/openssh/INSTALL [deleted file]
crypto/openssh/LICENCE [deleted file]
crypto/openssh/Makefile.in [deleted file]
crypto/openssh/Makefile.inc [deleted file]
crypto/openssh/OVERVIEW [deleted file]
crypto/openssh/README [deleted file]
crypto/openssh/README.privsep [deleted file]
crypto/openssh/README.smartcard [deleted file]
crypto/openssh/RFC.nroff [deleted file]
crypto/openssh/TODO [deleted file]
crypto/openssh/WARNING.RNG [deleted file]
crypto/openssh/acconfig.h [deleted file]
crypto/openssh/aclocal.m4 [deleted file]
crypto/openssh/atomicio.c [deleted file]
crypto/openssh/atomicio.h [deleted file]
crypto/openssh/auth-bsdauth.c [deleted file]
crypto/openssh/auth-chall.c [deleted file]
crypto/openssh/auth-krb4.c [deleted file]
crypto/openssh/auth-krb5.c [deleted file]
crypto/openssh/auth-options.c [deleted file]
crypto/openssh/auth-options.h [deleted file]
crypto/openssh/auth-pam.c [deleted file]
crypto/openssh/auth-pam.h [deleted file]
crypto/openssh/auth-passwd.c [deleted file]
crypto/openssh/auth-rh-rsa.c [deleted file]
crypto/openssh/auth-rhosts.c [deleted file]
crypto/openssh/auth-rsa.c [deleted file]
crypto/openssh/auth-sia.c [deleted file]
crypto/openssh/auth-sia.h [deleted file]
crypto/openssh/auth-skey.c [deleted file]
crypto/openssh/auth.c [deleted file]
crypto/openssh/auth.h [deleted file]
crypto/openssh/auth1.c [deleted file]
crypto/openssh/auth2-chall.c [deleted file]
crypto/openssh/auth2-hostbased.c [deleted file]
crypto/openssh/auth2-kbdint.c [deleted file]
crypto/openssh/auth2-none.c [deleted file]
crypto/openssh/auth2-pam-freebsd.c [deleted file]
crypto/openssh/auth2-pam.c [deleted file]
crypto/openssh/auth2-pam.h [deleted file]
crypto/openssh/auth2-passwd.c [deleted file]
crypto/openssh/auth2-pubkey.c [deleted file]
crypto/openssh/auth2.c [deleted file]
crypto/openssh/authfd.c [deleted file]
crypto/openssh/authfd.h [deleted file]
crypto/openssh/authfile.c [deleted file]
crypto/openssh/authfile.h [deleted file]
crypto/openssh/bufaux.c [deleted file]
crypto/openssh/bufaux.h [deleted file]
crypto/openssh/buffer.c [deleted file]
crypto/openssh/buffer.h [deleted file]
crypto/openssh/canohost.c [deleted file]
crypto/openssh/canohost.h [deleted file]
crypto/openssh/channels.c [deleted file]
crypto/openssh/channels.h [deleted file]
crypto/openssh/cipher.c [deleted file]
crypto/openssh/cipher.h [deleted file]
crypto/openssh/clientloop.c [deleted file]
crypto/openssh/clientloop.h [deleted file]
crypto/openssh/compat.c [deleted file]
crypto/openssh/compat.h [deleted file]
crypto/openssh/compress.c [deleted file]
crypto/openssh/compress.h [deleted file]
crypto/openssh/config.guess [deleted file]
crypto/openssh/config.h [deleted file]
crypto/openssh/config.sub [deleted file]
crypto/openssh/configure.ac [deleted file]
crypto/openssh/crc32.c [deleted file]
crypto/openssh/crc32.h [deleted file]
crypto/openssh/deattack.c [deleted file]
crypto/openssh/deattack.h [deleted file]
crypto/openssh/defines.h [deleted file]
crypto/openssh/dh.c [deleted file]
crypto/openssh/dh.h [deleted file]
crypto/openssh/dispatch.c [deleted file]
crypto/openssh/dispatch.h [deleted file]
crypto/openssh/entropy.c [deleted file]
crypto/openssh/entropy.h [deleted file]
crypto/openssh/fatal.c [deleted file]
crypto/openssh/fixpaths [deleted file]
crypto/openssh/fixprogs [deleted file]
crypto/openssh/getput.h [deleted file]
crypto/openssh/groupaccess.c [deleted file]
crypto/openssh/groupaccess.h [deleted file]
crypto/openssh/hostfile.c [deleted file]
crypto/openssh/hostfile.h [deleted file]
crypto/openssh/includes.h [deleted file]
crypto/openssh/install-sh [deleted file]
crypto/openssh/kex.c [deleted file]
crypto/openssh/kex.h [deleted file]
crypto/openssh/kexdh.c [deleted file]
crypto/openssh/kexgex.c [deleted file]
crypto/openssh/key.c [deleted file]
crypto/openssh/key.h [deleted file]
crypto/openssh/log.c [deleted file]
crypto/openssh/log.h [deleted file]
crypto/openssh/loginrec.c [deleted file]
crypto/openssh/loginrec.h [deleted file]
crypto/openssh/logintest.c [deleted file]
crypto/openssh/mac.c [deleted file]
crypto/openssh/mac.h [deleted file]
crypto/openssh/match.c [deleted file]
crypto/openssh/match.h [deleted file]
crypto/openssh/md5crypt.c [deleted file]
crypto/openssh/md5crypt.h [deleted file]
crypto/openssh/mdoc2man.pl [deleted file]
crypto/openssh/misc.c [deleted file]
crypto/openssh/misc.h [deleted file]
crypto/openssh/mkinstalldirs [deleted file]
crypto/openssh/moduli [deleted file]
crypto/openssh/monitor.c [deleted file]
crypto/openssh/monitor.h [deleted file]
crypto/openssh/monitor_fdpass.c [deleted file]
crypto/openssh/monitor_fdpass.h [deleted file]
crypto/openssh/monitor_mm.c [deleted file]
crypto/openssh/monitor_mm.h [deleted file]
crypto/openssh/monitor_wrap.c [deleted file]
crypto/openssh/monitor_wrap.h [deleted file]
crypto/openssh/mpaux.c [deleted file]
crypto/openssh/mpaux.h [deleted file]
crypto/openssh/msg.c [deleted file]
crypto/openssh/msg.h [deleted file]
crypto/openssh/myproposal.h [deleted file]
crypto/openssh/nchan.c [deleted file]
crypto/openssh/nchan.ms [deleted file]
crypto/openssh/nchan2.ms [deleted file]
crypto/openssh/openbsd-compat/Makefile.in [deleted file]
crypto/openssh/openbsd-compat/base64.c [deleted file]
crypto/openssh/openbsd-compat/base64.h [deleted file]
crypto/openssh/openbsd-compat/bindresvport.c [deleted file]
crypto/openssh/openbsd-compat/bindresvport.h [deleted file]
crypto/openssh/openbsd-compat/bsd-arc4random.c [deleted file]
crypto/openssh/openbsd-compat/bsd-arc4random.h [deleted file]
crypto/openssh/openbsd-compat/bsd-cray.c [deleted file]
crypto/openssh/openbsd-compat/bsd-cray.h [deleted file]
crypto/openssh/openbsd-compat/bsd-cygwin_util.c [deleted file]
crypto/openssh/openbsd-compat/bsd-cygwin_util.h [deleted file]
crypto/openssh/openbsd-compat/bsd-getpeereid.c [deleted file]
crypto/openssh/openbsd-compat/bsd-getpeereid.h [deleted file]
crypto/openssh/openbsd-compat/bsd-misc.c [deleted file]
crypto/openssh/openbsd-compat/bsd-misc.h [deleted file]
crypto/openssh/openbsd-compat/bsd-nextstep.c [deleted file]
crypto/openssh/openbsd-compat/bsd-nextstep.h [deleted file]
crypto/openssh/openbsd-compat/bsd-snprintf.c [deleted file]
crypto/openssh/openbsd-compat/bsd-snprintf.h [deleted file]
crypto/openssh/openbsd-compat/bsd-waitpid.c [deleted file]
crypto/openssh/openbsd-compat/bsd-waitpid.h [deleted file]
crypto/openssh/openbsd-compat/daemon.c [deleted file]
crypto/openssh/openbsd-compat/daemon.h [deleted file]
crypto/openssh/openbsd-compat/dirname.c [deleted file]
crypto/openssh/openbsd-compat/dirname.h [deleted file]
crypto/openssh/openbsd-compat/fake-gai-errnos.h [deleted file]
crypto/openssh/openbsd-compat/fake-getaddrinfo.c [deleted file]
crypto/openssh/openbsd-compat/fake-getaddrinfo.h [deleted file]
crypto/openssh/openbsd-compat/fake-getnameinfo.c [deleted file]
crypto/openssh/openbsd-compat/fake-getnameinfo.h [deleted file]
crypto/openssh/openbsd-compat/fake-queue.h [deleted file]
crypto/openssh/openbsd-compat/fake-socket.h [deleted file]
crypto/openssh/openbsd-compat/getcwd.c [deleted file]
crypto/openssh/openbsd-compat/getcwd.h [deleted file]
crypto/openssh/openbsd-compat/getgrouplist.c [deleted file]
crypto/openssh/openbsd-compat/getgrouplist.h [deleted file]
crypto/openssh/openbsd-compat/getopt.c [deleted file]
crypto/openssh/openbsd-compat/getopt.h [deleted file]
crypto/openssh/openbsd-compat/glob.c [deleted file]
crypto/openssh/openbsd-compat/glob.h [deleted file]
crypto/openssh/openbsd-compat/inet_aton.c [deleted file]
crypto/openssh/openbsd-compat/inet_aton.h [deleted file]
crypto/openssh/openbsd-compat/inet_ntoa.c [deleted file]
crypto/openssh/openbsd-compat/inet_ntoa.h [deleted file]
crypto/openssh/openbsd-compat/inet_ntop.c [deleted file]
crypto/openssh/openbsd-compat/inet_ntop.h [deleted file]
crypto/openssh/openbsd-compat/mktemp.c [deleted file]
crypto/openssh/openbsd-compat/mktemp.h [deleted file]
crypto/openssh/openbsd-compat/openbsd-compat.h [deleted file]
crypto/openssh/openbsd-compat/port-aix.c [deleted file]
crypto/openssh/openbsd-compat/port-aix.h [deleted file]
crypto/openssh/openbsd-compat/port-irix.c [deleted file]
crypto/openssh/openbsd-compat/port-irix.h [deleted file]
crypto/openssh/openbsd-compat/readpassphrase.c [deleted file]
crypto/openssh/openbsd-compat/readpassphrase.h [deleted file]
crypto/openssh/openbsd-compat/realpath.c [deleted file]
crypto/openssh/openbsd-compat/realpath.h [deleted file]
crypto/openssh/openbsd-compat/rresvport.c [deleted file]
crypto/openssh/openbsd-compat/rresvport.h [deleted file]
crypto/openssh/openbsd-compat/setenv.c [deleted file]
crypto/openssh/openbsd-compat/setenv.h [deleted file]
crypto/openssh/openbsd-compat/setproctitle.c [deleted file]
crypto/openssh/openbsd-compat/setproctitle.h [deleted file]
crypto/openssh/openbsd-compat/sigact.c [deleted file]
crypto/openssh/openbsd-compat/sigact.h [deleted file]
crypto/openssh/openbsd-compat/strlcat.c [deleted file]
crypto/openssh/openbsd-compat/strlcat.h [deleted file]
crypto/openssh/openbsd-compat/strlcpy.c [deleted file]
crypto/openssh/openbsd-compat/strlcpy.h [deleted file]
crypto/openssh/openbsd-compat/strmode.c [deleted file]
crypto/openssh/openbsd-compat/strmode.h [deleted file]
crypto/openssh/openbsd-compat/strsep.c [deleted file]
crypto/openssh/openbsd-compat/strsep.h [deleted file]
crypto/openssh/openbsd-compat/sys-queue.h [deleted file]
crypto/openssh/openbsd-compat/sys-tree.h [deleted file]
crypto/openssh/openbsd-compat/tree.h [deleted file]
crypto/openssh/openbsd-compat/xmmap.c [deleted file]
crypto/openssh/openbsd-compat/xmmap.h [deleted file]
crypto/openssh/packet.c [deleted file]
crypto/openssh/packet.h [deleted file]
crypto/openssh/pathnames.h [deleted file]
crypto/openssh/radix.c [deleted file]
crypto/openssh/radix.h [deleted file]
crypto/openssh/readconf.c [deleted file]
crypto/openssh/readconf.h [deleted file]
crypto/openssh/readpass.c [deleted file]
crypto/openssh/readpass.h [deleted file]
crypto/openssh/regress/Makefile [deleted file]
crypto/openssh/regress/agent.sh [deleted file]
crypto/openssh/regress/authorized_keys_root [deleted file]
crypto/openssh/regress/broken-pipe.sh [deleted file]
crypto/openssh/regress/bsd.regress.mk [deleted file]
crypto/openssh/regress/connect-privsep.sh [deleted file]
crypto/openssh/regress/connect.sh [deleted file]
crypto/openssh/regress/copy.1 [deleted file]
crypto/openssh/regress/copy.2 [deleted file]
crypto/openssh/regress/dsa_ssh2.prv [deleted file]
crypto/openssh/regress/dsa_ssh2.pub [deleted file]
crypto/openssh/regress/exit-status.sh [deleted file]
crypto/openssh/regress/forwarding.sh [deleted file]
crypto/openssh/regress/keyscan.sh [deleted file]
crypto/openssh/regress/proto-mismatch.sh [deleted file]
crypto/openssh/regress/proto-version.sh [deleted file]
crypto/openssh/regress/proxy-connect.sh [deleted file]
crypto/openssh/regress/rsa_openssh.prv [deleted file]
crypto/openssh/regress/rsa_openssh.pub [deleted file]
crypto/openssh/regress/rsa_ssh2.prv [deleted file]
crypto/openssh/regress/runtests.sh [deleted file]
crypto/openssh/regress/sftp.sh [deleted file]
crypto/openssh/regress/ssh-com-client.sh [deleted file]
crypto/openssh/regress/ssh-com-keygen.sh [deleted file]
crypto/openssh/regress/ssh-com-sftp.sh [deleted file]
crypto/openssh/regress/ssh-com.sh [deleted file]
crypto/openssh/regress/stderr-after-eof.sh [deleted file]
crypto/openssh/regress/stderr-data.sh [deleted file]
crypto/openssh/regress/t4.ok [deleted file]
crypto/openssh/regress/t5.ok [deleted file]
crypto/openssh/regress/test-exec.sh [deleted file]
crypto/openssh/regress/transfer.sh [deleted file]
crypto/openssh/regress/try-ciphers.sh [deleted file]
crypto/openssh/regress/yes-head.sh [deleted file]
crypto/openssh/rijndael.c [deleted file]
crypto/openssh/rijndael.h [deleted file]
crypto/openssh/rsa.c [deleted file]
crypto/openssh/rsa.h [deleted file]
crypto/openssh/scard-opensc.c [deleted file]
crypto/openssh/scard.c [deleted file]
crypto/openssh/scard.h [deleted file]
crypto/openssh/scard/Makefile.in [deleted file]
crypto/openssh/scard/Ssh.bin [deleted file]
crypto/openssh/scard/Ssh.bin.uu [deleted file]
crypto/openssh/scard/Ssh.java [deleted file]
crypto/openssh/scp.1 [deleted file]
crypto/openssh/scp.c [deleted file]
crypto/openssh/servconf.c [deleted file]
crypto/openssh/servconf.h [deleted file]
crypto/openssh/serverloop.c [deleted file]
crypto/openssh/serverloop.h [deleted file]
crypto/openssh/session.c [deleted file]
crypto/openssh/session.h [deleted file]
crypto/openssh/sftp-client.c [deleted file]
crypto/openssh/sftp-client.h [deleted file]
crypto/openssh/sftp-common.c [deleted file]
crypto/openssh/sftp-common.h [deleted file]
crypto/openssh/sftp-glob.c [deleted file]
crypto/openssh/sftp-glob.h [deleted file]
crypto/openssh/sftp-int.c [deleted file]
crypto/openssh/sftp-int.h [deleted file]
crypto/openssh/sftp-server.8 [deleted file]
crypto/openssh/sftp-server.c [deleted file]
crypto/openssh/sftp.1 [deleted file]
crypto/openssh/sftp.c [deleted file]
crypto/openssh/sftp.h [deleted file]
crypto/openssh/ssh-add.1 [deleted file]
crypto/openssh/ssh-add.c [deleted file]
crypto/openssh/ssh-agent.1 [deleted file]
crypto/openssh/ssh-agent.c [deleted file]
crypto/openssh/ssh-dss.c [deleted file]
crypto/openssh/ssh-dss.h [deleted file]
crypto/openssh/ssh-keygen.1 [deleted file]
crypto/openssh/ssh-keygen.c [deleted file]
crypto/openssh/ssh-keyscan.1 [deleted file]
crypto/openssh/ssh-keyscan.c [deleted file]
crypto/openssh/ssh-keysign.8 [deleted file]
crypto/openssh/ssh-keysign.c [deleted file]
crypto/openssh/ssh-rand-helper.8 [deleted file]
crypto/openssh/ssh-rand-helper.c [deleted file]
crypto/openssh/ssh-rsa.c [deleted file]
crypto/openssh/ssh-rsa.h [deleted file]
crypto/openssh/ssh.1 [deleted file]
crypto/openssh/ssh.c [deleted file]
crypto/openssh/ssh.h [deleted file]
crypto/openssh/ssh1.h [deleted file]
crypto/openssh/ssh2.h [deleted file]
crypto/openssh/ssh_config [deleted file]
crypto/openssh/ssh_config.5 [deleted file]
crypto/openssh/ssh_prng_cmds.in [deleted file]
crypto/openssh/sshconnect.c [deleted file]
crypto/openssh/sshconnect.h [deleted file]
crypto/openssh/sshconnect1.c [deleted file]
crypto/openssh/sshconnect2.c [deleted file]
crypto/openssh/sshd.8 [deleted file]
crypto/openssh/sshd.c [deleted file]
crypto/openssh/sshd_config [deleted file]
crypto/openssh/sshd_config.5 [deleted file]
crypto/openssh/sshlogin.c [deleted file]
crypto/openssh/sshlogin.h [deleted file]
crypto/openssh/sshpty.c [deleted file]
crypto/openssh/sshpty.h [deleted file]
crypto/openssh/sshtty.c [deleted file]
crypto/openssh/sshtty.h [deleted file]
crypto/openssh/tildexpand.c [deleted file]
crypto/openssh/tildexpand.h [deleted file]
crypto/openssh/ttymodes.c [deleted file]
crypto/openssh/ttymodes.h [deleted file]
crypto/openssh/uidswap.c [deleted file]
crypto/openssh/uidswap.h [deleted file]
crypto/openssh/uuencode.c [deleted file]
crypto/openssh/uuencode.h [deleted file]
crypto/openssh/version.c [deleted file]
crypto/openssh/version.h [deleted file]
crypto/openssh/xmalloc.c [deleted file]
crypto/openssh/xmalloc.h [deleted file]
etc/Makefile
etc/moduli [deleted file]
lib/libpam/modules/pam_ssh/Makefile
secure/Makefile.inc
secure/lib/libssh/Makefile
secure/libexec/sftp-server/Makefile
secure/libexec/ssh-keysign/Makefile
secure/usr.bin/scp/Makefile
secure/usr.bin/sftp/Makefile
secure/usr.bin/ssh-add/Makefile
secure/usr.bin/ssh-agent/Makefile
secure/usr.bin/ssh-keygen/Makefile
secure/usr.bin/ssh-keyscan/Makefile
secure/usr.bin/ssh/Makefile
secure/usr.sbin/sshd/Makefile

diff --git a/crypto/openssh/CREDITS b/crypto/openssh/CREDITS
deleted file mode 100644 (file)
index 0c86684..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-Tatu Ylonen <ylo@cs.hut.fi> - Creator of SSH
-
-Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, 
-Theo de Raadt, and Dug Song - Creators of OpenSSH
-
-Alain St-Denis <Alain.St-Denis@ec.gc.ca> - Irix fix
-Alexandre Oliva <oliva@lsd.ic.unicamp.br> - AIX fixes
-Andre Lucas <andre.lucas@dial.pipex.com> - new login code, many fixes
-Andreas Steinmetz <ast@domdv.de> - Shadow password expiry support
-Andrew McGill <andrewm@datrix.co.za> - SCO fixes
-Andrew Morgan <morgan@transmeta.com> - PAM bugfixes
-Andrew Stribblehill <a.d.stribblehill@durham.ac.uk> - Bugfixes
-Andy Sloane <andy@guildsoftware.com> - bugfixes
-Aran Cox <acox@cv.telegroup.com> - SCO bugfixes
-Arkadiusz Miskiewicz <misiek@pld.org.pl> - IPv6 compat fixes
-Ben Lindstrom <mouring@eviladmin.org> - NeXT support
-Ben Taylor <bent@clark.net> - Solaris debugging and fixes
-Bratislav ILICH <bilic@zepter.ru> - Configure fix
-Charles Levert <charles@comm.polymtl.ca> - SunOS 4 & bug fixes
-Chip Salzenberg <chip@valinux.com> - Assorted patches
-Chris Adams <cmadams@hiwaay.net> - OSF SIA support
-Chris Saia <csaia@wtower.com> - SuSE packaging
-Chris, the Young One <cky@pobox.com> - Password auth fixes
-Christos Zoulas <christos@zoulas.com> - Autoconf fixes
-Chun-Chung Chen <cjj@u.washington.edu> - RPM fixes
-Corinna Vinschen <vinschen@cygnus.com> - Cygwin support
-Dan Brosemer <odin@linuxfreak.com> - Autoconf support, build fixes
-Darren Hall <dhall@virage.org> - AIX patches
-Darren Tucker <dtucker@zip.com.au> - AIX BFF package scripts
-David Agraz <dagraz@jahoopa.com> - Build fixes
-David Del Piero <David.DelPiero@qed.qld.gov.au> - bug fixes
-David Hesprich <darkgrue@gue-tech.org> - Configure fixes
-David Rankin <drankin@bohemians.lexington.ky.us> - libwrap, AIX, NetBSD fixes
-Ed Eden <ede370@stl.rural.usda.gov> - configure fixes
-Garrick James <garrick@james.net> - configure fixes
-Gary E. Miller <gem@rellim.com> - SCO support
-Ged Lodder <lodder@yacc.com.au> - HPUX fixes and enhancements
-Gert Doering <gd@hilb1.medat.de> - bug and portability fixes
-HARUYAMA Seigo <haruyama@unixuser.org> - Translations & doc fixes
-Hideaki YOSHIFUJI <yoshfuji@ecei.tohoku.ac.jp> - IPv6 and bug fixes
-Hiroshi Takekawa <takekawa@sr3.t.u-tokyo.ac.jp> - Configure fixes
-Holger Trapp <Holger.Trapp@Informatik.TU-Chemnitz.DE> - KRB4/AFS config patch
-IWAMURO Motonori <iwa@mmp.fujitsu.co.jp> - bugfixes
-Jani Hakala <jahakala@cc.jyu.fi> - Patches
-Jarno Huuskonen <jhuuskon@hytti.uku.fi> - Bugfixes
-Jim Knoble <jmknoble@jmknoble.cx> - Many patches
-Jonchen (email unknown) - the original author of PAM support of SSH
-Juergen Keil <jk@tools.de> - scp bugfixing
-KAMAHARA Junzo <kamahara@cc.kshosen.ac.jp> - Configure fixes
-Kees Cook <cook@cpoint.net> - scp fixes
-Kenji Miyake <kenji@miyake.org> - Configure fixes
-Kevin O'Connor <kevin_oconnor@standardandpoors.com> - RSAless operation
-Kevin Steves <stevesk@pobox.com> - HP support, bugfixes, improvements
-Kiyokazu SUTO <suto@ks-and-ks.ne.jp> - Bugfixes
-Larry Jones <larry.jones@sdrc.com> - Bugfixes
-Lutz Jaenicke <Lutz.Jaenicke@aet.TU-Cottbus.DE> - Bugfixes
-Marc G. Fournier <marc.fournier@acadiau.ca> - Solaris patches
-Mark D. Baushke <mdb@juniper.net> - bug fixes
-Martin Johansson <fatbob@acc.umu.se> - Linux fixes
-Mark D. Roth <roth+openssh@feep.net> - Features, bug fixes
-Mark Miller <markm@swoon.net> - Bugfixes
-Matt Richards <v2matt@btv.ibm.com> - AIX patches
-Michael Stone <mstone@cs.loyola.edu> - Irix enhancements
-Nakaji Hiroyuki <nakaji@tutrp.tut.ac.jp> - Sony News-OS patch
-Nalin Dahyabhai <nalin.dahyabhai@pobox.com> - PAM environment patch
-Nate Itkin <nitkin@europa.com> - SunOS 4.1.x fixes
-Niels Kristian Bech Jensen <nkbj@image.dk> - Assorted patches
-Pavel Kankovsky <peak@argo.troja.mff.cuni.cz> - Security fixes
-Pavel Troller <patrol@omni.sinus.cz> - Bugfixes
-Pekka Savola <pekkas@netcore.fi> - Bugfixes
-Peter Kocks <peter.kocks@baygate.com> - Makefile fixes
-Phil Hands <phil@hands.com> - Debian scripts, assorted patches
-Phil Karn <karn@ka9q.ampr.org> - Autoconf fixes
-Philippe WILLEM <Philippe.WILLEM@urssaf.fr> - Bugfixes
-Phill Camp <P.S.S.Camp@ukc.ac.uk> - login code fix
-Rip Loomis <loomisg@cist.saic.com> - Solaris package support, fixes
-SAKAI Kiyotaka <ksakai@kso.netwk.ntt-at.co.jp> - Multiple bugfixes
-Simon Wilkinson <sxw@dcs.ed.ac.uk> - PAM fixes, Compat with MIT KrbV
-Solar Designer <solar@openwall.com> - many patches and technical assistance
-Svante Signell <svante.signell@telia.com> - Bugfixes
-Thomas Neumann <tom@smart.ruhr.de> - Shadow passwords
-Tim Rice <tim@multitalents.net> - Portability & SCO fixes
-Tobias Oetiker <oetiker@ee.ethz.ch> - Bugfixes
-Tom Bertelson's <tbert@abac.com> - AIX auth fixes
-Tor-Ake Fransson <torake@hotmail.com> - AIX support
-Tudor Bosman <tudorb@jm.nu> - MD5 password support
-Udo Schweigert <ust@cert.siemens.de> - ReliantUNIX support
-Zack Weinberg <zack@wolery.cumb.org> - GNOME askpass enhancement
-
-Apologies to anyone I have missed.
-
-Damien Miller <djm@mindrot.org>
-
-$Id: CREDITS,v 1.67 2002/07/28 20:31:19 stevesk Exp $
-
diff --git a/crypto/openssh/ChangeLog b/crypto/openssh/ChangeLog
deleted file mode 100644 (file)
index 8760466..0000000
+++ /dev/null
@@ -1,760 +0,0 @@
-20021003
- - (djm) OpenBSD CVS Sync
-   - markus@cvs.openbsd.org 2002/10/01 20:34:12
-     [ssh-agent.c]
-     allow root to access the agent, since there is no protection from root.
-   - markus@cvs.openbsd.org 2002/10/01 13:24:50
-     [version.h]
-     OpenSSH 3.5
- - (djm) Bump RPM spec version numbers
- - (djm) Bug #406 s/msg_send/ssh_msh_send/ for Mac OS X 1.2
-
-20020930
- - (djm) Tidy contrib/, add Makefile for GNOME passphrase dialogs, 
-   tweak README
- - (djm) OpenBSD CVS Sync
-   - mickey@cvs.openbsd.org 2002/09/27 10:42:09
-     [compat.c compat.h sshd.c]
-     add a generic match for a prober, such as sie big brother; 
-     idea from stevesk@; markus@ ok
-   - stevesk@cvs.openbsd.org 2002/09/27 15:46:21
-     [ssh.1]
-     clarify compression level protocol 1 only; ok markus@ deraadt@
-
-20020927
- - (djm) OpenBSD CVS Sync
-   - markus@cvs.openbsd.org 2002/09/25 11:17:16
-     [sshd_config]
-     sync LoginGraceTime with default
-   - markus@cvs.openbsd.org 2002/09/25 15:19:02
-     [sshd.c]
-     typo; pilot@monkey.org
-   - markus@cvs.openbsd.org 2002/09/26 11:38:43
-     [auth1.c auth.h auth-krb4.c monitor.c monitor.h monitor_wrap.c]
-     [monitor_wrap.h]
-     krb4 + privsep; ok dugsong@, deraadt@
-
-20020925
- - (bal) Fix issue where successfull login does not clear failure counts
-   in AIX.  Patch by dtucker@zip.com.au ok by djm
- - (tim) Cray fixes (bug 367) based on patch from Wendy Palm @ cray.
-    This does not include the deattack.c fixes.
-
-20020923
- - (djm) OpenBSD CVS Sync
-   - stevesk@cvs.openbsd.org 2002/09/23 20:46:27
-     [canohost.c]
-     change get_peer_ipaddr() and get_local_ipaddr() to not return NULL for
-     non-sockets; fixes a problem passing NULL to snprintf(). ok markus@
-   - markus@cvs.openbsd.org 2002/09/23 22:11:05
-     [monitor.c]
-     only call auth_krb5 if kerberos is enabled; ok deraadt@
-   - markus@cvs.openbsd.org 2002/09/24 08:46:04
-     [monitor.c]
-     only call kerberos code for authctxt->valid
-   - todd@cvs.openbsd.org 2002/09/24 20:59:44
-     [sshd.8]
-     tweak the example $HOME/.ssh/rc script to not show on any cmdline the
-     sensitive data it handles. This fixes bug # 402 as reported by
-     kolya@mit.edu (Nickolai Zeldovich).
-     ok markus@ and stevesk@
-
-20020923
- - (tim) [configure.ac] s/return/exit/ patch by dtucker@zip.com.au
-
-20020922
- - (djm) OpenBSD CVS Sync
-   - stevesk@cvs.openbsd.org 2002/09/19 14:53:14
-     [compat.c]
-   - markus@cvs.openbsd.org 2002/09/19 15:51:23
-     [ssh-add.c]
-     typo; cd@kalkatraz.de
-   - stevesk@cvs.openbsd.org 2002/09/19 16:03:15
-     [serverloop.c]
-     log IP address also; ok markus@
-   - stevesk@cvs.openbsd.org 2002/09/20 18:41:29
-     [auth.c]
-     log illegal user here for missing privsep case (ssh2).
-     this is executed in the monitor. ok markus@
-
-20020919
- - (djm) OpenBSD CVS Sync
-   - stevesk@cvs.openbsd.org 2002/09/12 19:11:52
-     [ssh-agent.c]
-     %u for uid print; ok markus@
-   - stevesk@cvs.openbsd.org 2002/09/12 19:50:36
-     [session.c ssh.1]
-     add SSH_CONNECTION and deprecate SSH_CLIENT; bug #384.  ok markus@
-   - stevesk@cvs.openbsd.org 2002/09/13 19:23:09
-     [channels.c sshconnect.c sshd.c]
-     remove use of SO_LINGER, it should not be needed. error check
-     SO_REUSEADDR. fixup comments. ok markus@
-   - stevesk@cvs.openbsd.org 2002/09/16 19:55:33
-     [session.c]
-     log when _PATH_NOLOGIN exists; ok markus@
-   - stevesk@cvs.openbsd.org 2002/09/16 20:12:11
-     [sshd_config.5]
-     more details on X11Forwarding security issues and threats; ok markus@
-   - stevesk@cvs.openbsd.org 2002/09/16 22:03:13
-     [sshd.8]
-     reference moduli(5) in FILES /etc/moduli.
-   - itojun@cvs.openbsd.org 2002/09/17 07:47:02
-     [channels.c]
-     don't quit while creating X11 listening socket.
-     http://mail-index.netbsd.org/current-users/2002/09/16/0005.html
-     got from portable.  markus ok
-   - djm@cvs.openbsd.org 2002/09/19 01:58:18
-     [ssh.c sshconnect.c]
-     bugzilla.mindrot.org #223 - ProxyCommands don't exit.
-     Patch from dtucker@zip.com.au; ok markus@
-
-20020912
- - (djm) Made GNOME askpass programs return non-zero if cancel button is 
-   pressed.
- - (djm) Added getpeereid() replacement. Properly implemented for systems
-   with SO_PEERCRED support. Faked for systems which lack it.
- - (djm) Sync sys/tree.h with OpenBSD -current. Rename tree.h and 
-   fake-queue.h to sys-tree.h and sys-queue.h
- - (djm) OpenBSD CVS Sync
-   - markus@cvs.openbsd.org 2002/09/08 20:24:08
-     [hostfile.h]
-     no comma at end of enumerator list
-   - itojun@cvs.openbsd.org 2002/09/09 06:48:06
-     [auth1.c auth.h auth-krb5.c monitor.c monitor.h]
-     [monitor_wrap.c monitor_wrap.h]
-     kerberos support for privsep.  confirmed to work by lha@stacken.kth.se
-     patch from markus
-   - markus@cvs.openbsd.org 2002/09/09 14:54:15
-     [channels.c kex.h key.c monitor.c monitor_wrap.c radix.c uuencode.c]
-     signed vs unsigned from -pedantic; ok henning@
-   - markus@cvs.openbsd.org 2002/09/10 20:24:47
-     [ssh-agent.c]
-     check the euid of the connecting process with getpeereid(2); 
-     ok provos deraadt stevesk
-   - stevesk@cvs.openbsd.org 2002/09/11 17:55:03
-     [ssh.1]
-     add agent and X11 forwarding warning text from ssh_config.5; ok markus@
-   - stevesk@cvs.openbsd.org 2002/09/11 18:27:26
-     [authfd.c authfd.h ssh.c]
-     don't connect to agent to test for presence if we've previously
-     connected; ok markus@
-   - djm@cvs.openbsd.org 2002/09/11 22:41:50
-     [sftp.1 sftp-client.c sftp-client.h sftp-common.c sftp-common.h]
-     [sftp-glob.c sftp-glob.h sftp-int.c sftp-server.c]
-     support for short/long listings and globbing in "ls"; ok markus@
-   - djm@cvs.openbsd.org 2002/09/12 00:13:06
-     [sftp-int.c]
-     zap unused var introduced in last commit
-
-20020911
- - (djm) Sync openbsd-compat with OpenBSD -current
-
-20020910
- - (djm) Bug #365: Read /.ssh/environment properly under CygWin. 
-   Patch from Mark Bradshaw <bradshaw@staff.crosswalk.com>
- - (djm) Bug #138: Make protocol 1 blowfish work with old OpenSSL. 
-   Patch from Robert Halubek <rob@adso.com.pl>
-
-20020905 
- - (djm) OpenBSD CVS Sync
-   - stevesk@cvs.openbsd.org 2002/09/04 18:52:42
-     [servconf.c sshd.8 sshd_config.5]
-     default LoginGraceTime to 2m; 1m may be too short for slow systems.
-     ok markus@
- - (djm) Merge openssh-TODO.patch from Redhat (null) beta
- - (djm) Add gnome-ssh-askpass2.c (gtk2) by merge with patch from 
-    Nalin Dahyabhai <nalin@redhat.com>
- - (djm) Add support for building gtk2 password requestor from Redhat beta
-
-20020903
- - (djm) Patch from itojun@ for Darwin OS: test getaddrinfo, reorder libcrypt
- - (djm) Fix Redhat RPM build dependancy test
- - (djm) OpenBSD CVS Sync
-   - markus@cvs.openbsd.org 2002/08/12 10:46:35
-     [ssh-agent.c]
-     make ssh-agent setgid, disallow ptrace.
-   - espie@cvs.openbsd.org 2002/08/21 11:20:59
-     [sshd.8]
-     `RSA' updated to refer to `public key', where it matters.
-     okay markus@
-   - stevesk@cvs.openbsd.org 2002/08/21 19:38:06
-     [servconf.c sshd.8 sshd_config sshd_config.5]
-     change LoginGraceTime default to 1 minute; ok mouring@ markus@
-   - stevesk@cvs.openbsd.org 2002/08/21 20:10:28
-     [ssh-agent.c]
-     raise listen backlog; ok markus@
-   - stevesk@cvs.openbsd.org 2002/08/22 19:27:53
-     [ssh-agent.c]
-     use common close function; ok markus@
-   - stevesk@cvs.openbsd.org 2002/08/22 19:38:42
-     [clientloop.c]
-     format with current EscapeChar; bugzilla #388 from wknox@mitre.org.
-     ok markus@
-   - stevesk@cvs.openbsd.org 2002/08/22 20:57:19
-     [ssh-agent.c]
-     shutdown(SHUT_RDWR) not needed before close here; ok markus@
-   - markus@cvs.openbsd.org 2002/08/22 21:33:58
-     [auth1.c auth2.c]
-     auth_root_allowed() is handled by the monitor in the privsep case,
-     so skip this for use_privsep, ok stevesk@, fixes bugzilla #387/325
-   - markus@cvs.openbsd.org 2002/08/22 21:45:41
-     [session.c]
-     send signal name (not signal number) in "exit-signal" message; noticed
-     by galb@vandyke.com
-   - stevesk@cvs.openbsd.org 2002/08/27 17:13:56
-     [ssh-rsa.c]
-     RSA_public_decrypt() returns -1 on error so len must be signed; 
-     ok markus@
-   - stevesk@cvs.openbsd.org 2002/08/27 17:18:40
-     [ssh_config.5]
-     some warning text for ForwardAgent and ForwardX11; ok markus@
-   - stevesk@cvs.openbsd.org 2002/08/29 15:57:25
-     [monitor.c session.c sshlogin.c sshlogin.h]
-     pass addrlen with sockaddr *; from Hajimu UMEMOTO <ume@FreeBSD.org>
-     NOTE: there are also p-specific parts to this patch. ok markus@
-   - stevesk@cvs.openbsd.org 2002/08/29 16:02:54
-     [ssh.1 ssh.c]
-     deprecate -P as UsePrivilegedPort defaults to no now; ok markus@
-   - stevesk@cvs.openbsd.org 2002/08/29 16:09:02
-     [ssh_config.5]
-     more on UsePrivilegedPort and setuid root; ok markus@
-   - stevesk@cvs.openbsd.org 2002/08/29 19:49:42
-     [ssh.c]
-     shrink initial privilege bracket for setuid case; ok markus@
-   - stevesk@cvs.openbsd.org 2002/08/29 22:54:10
-     [ssh_config.5 sshd_config.5]
-     state XAuthLocation is a full pathname
-
-20020820
- - OpenBSD CVS Sync
-   - millert@cvs.openbsd.org 2002/08/02 14:43:15
-     [monitor.c monitor_mm.c]
-     Change mm_zalloc() sanity checks to be more in line with what
-     we do in calloc() and add a check to monitor_mm.c.
-     OK provos@ and markus@
-   - marc@cvs.openbsd.org 2002/08/02 16:00:07
-     [ssh.1 sshd.8]
-     note that .ssh/environment is only read when
-     allowed (PermitUserEnvironment in sshd_config).
-     OK markus@
-   - markus@cvs.openbsd.org 2002/08/02 21:23:41
-     [ssh-rsa.c]
-     diff is u_int (2x); ok deraadt/provos
-   - markus@cvs.openbsd.org 2002/08/02 22:20:30
-     [ssh-rsa.c]
-     replace RSA_verify with our own version and avoid the OpenSSL ASN.1 parser
-     for authentication; ok deraadt/djm
-   - aaron@cvs.openbsd.org 2002/08/08 13:50:23
-     [sshconnect1.c]
-     Use & to test if bits are set, not &&; markus@ ok.
-   - stevesk@cvs.openbsd.org 2002/08/08 23:54:52
-     [auth.c]
-     typo in comment
-   - stevesk@cvs.openbsd.org 2002/08/09 17:21:42
-     [sshd_config.5]
-     use Op for mdoc conformance; from esr@golux.thyrsus.com
-     ok aaron@
-   - stevesk@cvs.openbsd.org 2002/08/09 17:41:12
-     [sshd_config.5]
-     proxy vs. fake display
-   - stevesk@cvs.openbsd.org 2002/08/12 17:30:35
-     [ssh.1 sshd.8 sshd_config.5]
-     more PermitUserEnvironment; ok markus@
-   - stevesk@cvs.openbsd.org 2002/08/17 23:07:14
-     [ssh.1]
-     ForwardAgent has defaulted to no for over 2 years; be more clear here.
-   - stevesk@cvs.openbsd.org 2002/08/17 23:55:01
-     [ssh_config.5]
-     ordered list here
- - (bal) [defines.h] Some platforms don't have SIZE_T_MAX.  So assign 
-   it to ULONG_MAX.
-
-20020813
- - (tim) [configure.ac] Display OpenSSL header/library version.
-   Patch by dtucker@zip.com.au
-
-20020731
- - (bal) OpenBSD CVS Sync
-   - markus@cvs.openbsd.org 2002/07/24 16:11:18
-     [hostfile.c hostfile.h sshconnect.c]
-     print out all known keys for a host if we get a unknown host key,
-     see discussion at http://marc.theaimsgroup.com/?t=101069210100016&r=1&w=4
-
-     the ssharp mitm tool attacks users in a similar way, so i'd like to
-     pointed out again:
-        A MITM attack is always possible if the ssh client prints:
-        The authenticity of host 'bla' can't be established.
-     (protocol version 2 with pubkey authentication allows you to detect
-     MITM attacks)
-   - mouring@cvs.openbsd.org 2002/07/25 01:16:59
-     [sftp.c]
-     FallBackToRsh does not exist anywhere else.  Remove it from here.
-     OK deraadt.
-   - markus@cvs.openbsd.org 2002/07/29 18:57:30
-     [sshconnect.c]
-     print file:line
-   - markus@cvs.openbsd.org 2002/07/30 17:03:55
-     [auth-options.c servconf.c servconf.h session.c sshd_config sshd_config.5]
-     add PermitUserEnvironment (off by default!); from dot@dotat.at;
-     ok provos, deraadt
-
-20020730
- - (bal) [uidswap.c] SCO compile correction by gert@greenie.muc.de
-
-20020728
- - (stevesk) [auth-pam.c] should use PAM_MSG_MEMBER(); from solar
- - (stevesk) [CREDITS] solar
- - (stevesk) [ssh-rand-helper.c] RAND_bytes() and SHA1_Final() unsigned
-   char arg.
-
-20020725
- - (djm) Remove some cruft from INSTALL
- - (djm) Latest config.guess and config.sub from ftp://ftp.gnu.org/gnu/config/
-
-20020723
- - (bal) [bsd-cray.c bsd-cray.h] Part 2 of Cray merger. 
- - (bal) sync ID w/ ssh-agent.c
- - (bal) OpenBSD Sync
-   - markus@cvs.openbsd.org 2002/07/19 15:43:33
-     [log.c log.h session.c sshd.c]
-     remove fatal cleanups after fork; based on discussions with and code
-     from solar.
-   - stevesk@cvs.openbsd.org 2002/07/19 17:42:40
-     [ssh.c]
-     display a warning from ssh when XAuthLocation does not exist or xauth
-     returned no authentication data. ok markus@
-   - stevesk@cvs.openbsd.org 2002/07/21 18:32:20
-     [auth-options.c]
-     unneeded includes
-   - stevesk@cvs.openbsd.org 2002/07/21 18:34:43
-     [auth-options.h]
-     remove invalid comment
-   - markus@cvs.openbsd.org 2002/07/22 11:03:06
-     [session.c]
-     fallback to _PATH_STDPATH on setusercontext+LOGIN_SETPATH errors;
-   - stevesk@cvs.openbsd.org 2002/07/22 17:32:56
-     [monitor.c]
-     u_int here; ok provos@
-   - stevesk@cvs.openbsd.org 2002/07/23 16:03:10
-     [sshd.c]
-     utmp_len is unsigned; display error consistent with other options.
-     ok markus@
-   - stevesk@cvs.openbsd.org 2002/07/15 17:15:31
-     [uidswap.c]
-     little more debugging; ok markus@
-
-20020722
- - (bal) AIX tty data limiting patch fix by leigh@solinno.co.uk
- - (stevesk) [xmmap.c] missing prototype for fatal()
- - (bal) [configure.ac defines.h loginrec.c sshd.c sshpty.c] Partial sync
-   with Cray (mostly #ifdef renaming).  Patch by wendyp@cray.com.
- - (bal) [configure.ac]  Missing ;; from cray patch.
- - (bal) [monitor_mm.c openbsd-compat/xmmap.h] Move xmmap() defines
-   into it's own header.
- - (stevesk) [auth-pam.[ch] session.c] pam_getenvlist() must be
-   freed by the caller; add free_pam_environment() and use it.
- - (stevesk) [auth-pam.c] typo in comment
-
-20020721
- - (stevesk) [auth-pam.c] merge cosmetic changes from solar's
-   openssh-3.4p1-owl-password-changing.diff
- - (stevesk) [auth-pam.c] merge rest of solar's PAM patch;
-   PAM_NEW_AUTHTOK_REQD remains in #if 0 for now.
- - (stevesk) [auth-pam.c] cast to avoid initialization type mismatch
-   warning on pam_conv struct conversation function.
- - (stevesk) [auth-pam.h] license
- - (stevesk) [auth-pam.h] unneeded include
- - (stevesk) [auth-pam.[ch] ssh.h] move SSHD_PAM_SERVICE to auth-pam.h
-
-20020720
- - (stevesk) [ssh-keygen.c] bug #231: always init/seed_rng().
-
-20020719
- - (tim) [contrib/solaris/buildpkg.sh] create privsep user/group if needed.
-   Patch by dtucker@zip.com.au
- - (tim) [configure.ac]  test for libxnet on HP. Patch by dtucker@zip.com.au
-
-20020718
- - (tim) [defines.h] Bug 313 patch by dirk.meyer@dinoex.sub.org
- - (tim) [monitor_mm.c] add missing declaration for xmmap(). Reported
-   by ayamura@ayamura.org
- - (tim) [configure.ac] Bug 267 rework int64_t test.
- - (tim) [includes.h] Bug 267 add stdint.h
-
-20020717
- - (bal) aixbff package updated by dtucker@zip.com.au
- - (tim) [configure.ac] change how we do paths in AC_PATH_PROGS tests
-   for autoconf 2.53. Based on a patch by jrj@purdue.edu
-
-20020716
- - (tim) [contrib/solaris/opensshd.in] Only kill sshd if .pid file found
-
-20020715
- - (bal) OpenBSD CVS Sync
-   - itojun@cvs.openbsd.org 2002/07/12 13:29:09
-     [sshconnect.c]
-     print connect failure during debugging mode.
-   - markus@cvs.openbsd.org 2002/07/12 15:50:17
-     [cipher.c]
-     EVP_CIPH_CUSTOM_IV for our own rijndael
- - (bal) Remove unused tty defined in do_setusercontext() pointed out by
-   dtucker@zip.com.au plus a a more KNF since I am near it.
- - (bal) Privsep user creation support in Solaris buildpkg.sh by 
-   dtucker@zip.com.au
-
-20020714
- - (tim) [Makefile.in] replace "id sshd" with "sshd -t"
- - (bal/tim) [acconfig.h configure.ac monitor_mm.c servconf.c
-   openbsd-compat/Makefile.in] support compression on platforms that
-   have no/broken MAP_ANON. Moved code to openbsd-compat/xmmap.c
-   Based on patch from nalin@redhat.com of code extracted from Owl's package
- - (tim) [ssh_prng_cmds.in] Bug 323 arp -n flag doesn't exist under Solaris.
-   report by chris@by-design.net
- - (tim) [loginrec.c] Bug 347: Fix typo (WTMPX_FILE) report by rodney@bond.net
- - (tim) [loginrec.c] Bug 348: add missing found = 1; to wtmpx_islogin()
-   report by rodney@bond.net
-
-20020712
- - (tim) [Makefile.in] quiet down install-files: and check-user:
- - (tim) [configure.ac] remove unused filepriv line
-
-20020710
- - (tim) [contrib/cygwin/ssh-host-config] explicitely sets the permissions
-   on /var/empty to 755 Patch by vinschen@redhat.com
- - (bal) OpenBSD CVS Sync
-   - itojun@cvs.openbsd.org 2002/07/09 11:56:50
-     [sshconnect.c]
-     silently try next address on connect(2).  markus ok
-   - itojun@cvs.openbsd.org 2002/07/09 11:56:27
-     [canohost.c]
-     suppress log on reverse lookup failiure, as there's no real value in
-     doing so.
-     markus ok
-   - itojun@cvs.openbsd.org 2002/07/09 12:04:02
-     [sshconnect.c]
-     ed static function (less warnings)
-   - stevesk@cvs.openbsd.org 2002/07/09 17:46:25
-     [sshd_config.5]
-     clarify no preference ordering in protocol list; ok markus@
-   - itojun@cvs.openbsd.org 2002/07/10 10:28:15
-     [sshconnect.c]
-     bark if all connection attempt fails.
-   - deraadt@cvs.openbsd.org 2002/07/10 17:53:54
-     [rijndael.c]
-     use right sizeof in memcpy; markus ok
-
-20020709
- - (bal) NO_IPPORT_RESERVED_CONCEPT used instead of CYGWIN so other platforms
-   lacking that concept can share it. Patch by vinschen@redhat.com
-
-20020708
- - (tim) [openssh/contrib/solaris/buildpkg.sh] add PKG_INSTALL_ROOT to
-   work in a jumpstart environment. patch by kbrint@rufus.net
- - (tim) [Makefile.in] workaround for broken pakadd on some systems.
- - (tim) [configure.ac] fix libc89 utimes test. Mention default path for
-   --with-privsep-path=
-
-20020707
- - (tim) [Makefile.in] use umask instead of chmod on $(PRIVSEP_PATH)
- - (tim) [acconfig.h configure.ac sshd.c]
-   s/BROKEN_FD_PASSING/DISABLE_FD_PASSING/
- - (tim) [contrib/cygwin/ssh-host-config] sshd account creation fixes
-   patch from vinschen@redhat.com
- - (bal) [realpath.c] Updated with OpenBSD tree.
- - (bal) OpenBSD CVS Sync
-   - deraadt@cvs.openbsd.org 2002/07/04 04:15:33
-     [key.c monitor_wrap.c sftp-glob.c ssh-dss.c ssh-rsa.c]
-     patch memory leaks; grendel@zeitbombe.org
-   - deraadt@cvs.openbsd.org 2002/07/04 08:12:15
-     [channels.c packet.c]
-     blah blah minor nothing as i read and re-read and re-read...
-   - markus@cvs.openbsd.org 2002/07/04 10:41:47
-     [key.c monitor_wrap.c ssh-dss.c ssh-rsa.c]
-     don't allocate, copy, and discard if there is not interested in the data; 
-     ok deraadt@
-   - deraadt@cvs.openbsd.org 2002/07/06 01:00:49
-     [log.c]
-     KNF
-   - deraadt@cvs.openbsd.org 2002/07/06 01:01:26
-     [ssh-keyscan.c]
-     KNF, realloc fix, and clean usage
-   - stevesk@cvs.openbsd.org 2002/07/06 17:47:58
-     [ssh-keyscan.c]
-     unused variable
- - (bal) Minor KNF on ssh-keyscan.c
-
-20020705
- - (tim) [configure.ac] AIX 4.2.1 has authenticate() in libs.
-   Reported by Darren Tucker <dtucker@zip.com.au>
- - (tim) [contrib/cygwin/ssh-host-config] double slash corrction
-   from vinschen@redhat.com
-
-20020704
- - (bal) Limit data to TTY for AIX only (Newer versions can't handle the
-   faster data rate)  Bug #124
- - (bal) glob.c defines TILDE and AIX also defines it.  #undef it first.
-   bug #265
- - (bal) One too many nulls in ports-aix.c
-20020703
- - (bal) Updated contrib/cygwin/  patch by vinschen@redhat.com 
- - (bal) minor correction to utimes() replacement.  Patch by
-   onoe@sm.sony.co.jp
- - OpenBSD CVS Sync
-   - markus@cvs.openbsd.org 2002/06/27 08:49:44
-     [dh.c ssh-keyscan.c sshconnect.c]
-     more checks for NULL pointers; from grendel@zeitbombe.org; ok deraadt@
-   - deraadt@cvs.openbsd.org 2002/06/27 09:08:00
-     [monitor.c]
-     improve mm_zalloc check; markus ok
-   - deraadt@cvs.openbsd.org 2002/06/27 10:35:47
-     [auth2-none.c monitor.c sftp-client.c]
-     use xfree()
-   - stevesk@cvs.openbsd.org 2002/06/27 19:49:08
-     [ssh-keyscan.c]
-     use convtime(); ok markus@
-   - millert@cvs.openbsd.org 2002/06/28 01:49:31
-     [monitor_mm.c]
-     tree(3) wants an int return value for its compare functions and
-     the difference between two pointers is not an int.  Just do the
-     safest thing and store the result in a long and then return 0,
-     -1, or 1 based on that result.
-   - deraadt@cvs.openbsd.org 2002/06/28 01:50:37
-     [monitor_wrap.c]
-     use ssize_t
-   - deraadt@cvs.openbsd.org 2002/06/28 10:08:25
-     [sshd.c]
-     range check -u option at invocation
-   - deraadt@cvs.openbsd.org 2002/06/28 23:05:06
-     [sshd.c]
-     gidset[2] -> gidset[1]; markus ok
-   - deraadt@cvs.openbsd.org 2002/06/30 21:54:16
-     [auth2.c session.c sshd.c]
-     lint asks that we use names that do not overlap
-   - deraadt@cvs.openbsd.org 2002/06/30 21:59:45
-     [auth-bsdauth.c auth-skey.c auth2-chall.c clientloop.c key.c
-      monitor_wrap.c monitor_wrap.h scard.h session.h sftp-glob.c ssh.c
-      sshconnect2.c sshd.c]
-     minor KNF
-   - deraadt@cvs.openbsd.org 2002/07/01 16:15:25
-     [msg.c]
-     %u
-   - markus@cvs.openbsd.org 2002/07/01 19:48:46
-     [sshconnect2.c]
-     for compression=yes, we fallback to no-compression if the server does
-     not support compression, vice versa for compression=no. ok mouring@
-   - markus@cvs.openbsd.org 2002/07/03 09:55:38
-     [ssh-keysign.c]
-     use RSA_blinding_on() for rsa hostkeys (suggested by Bill Sommerfeld)
-     in order to avoid a possible Kocher timing attack pointed out by Charles
-     Hannum; ok provos@
-   - markus@cvs.openbsd.org 2002/07/03 14:21:05
-     [ssh-keysign.8 ssh-keysign.c ssh.c ssh_config]
-     re-enable ssh-keysign's sbit, but make ssh-keysign read 
-     /etc/ssh/ssh_config and exit if HostbasedAuthentication is disabled 
-     globally. based on discussions with deraadt, itojun and sommerfeld; 
-     ok itojun@
- - (bal) Failed password attempts don't increment counter on AIX. Bug #145
- - (bal) Missed Makefile.in change.  keysign needs readconf.o
- - (bal) Clean up aix_usrinfo().  Ignore TTY= period I guess.
-  
-20020702
- - (djm) Use PAM_MSG_MEMBER for PAM_TEXT_INFO messages, use xmalloc & 
-   friends consistently. Spotted by Solar Designer <solar@openwall.com>
-
-20020629
- - (bal) fix to auth2-pam.c to swap fatal() arguments,  A bit of style
-   clean up while I'm near it.
-
-20020628
- - (stevesk) [sshd_config] PAMAuthenticationViaKbdInt no; commented
-   options should contain default value.  from solar.
- - (bal) Cygwin uid0 fix by vinschen@redhat.com
- - (bal) s/config.h/includes.h/ in openbsd-compat/ for *.c.  Otherwise wise
-   have issues of our fixes not propogating right (ie bcopy instead of
-   memmove).  OK tim
- - (bal) FreeBSD needs <sys/types.h> to detect if mmap() is supported.
-   Bug #303
-
-20020627
- - OpenBSD CVS Sync
-   - deraadt@cvs.openbsd.org 2002/06/26 14:49:36
-     [monitor.c]
-     correct %u
-   - deraadt@cvs.openbsd.org 2002/06/26 14:50:04
-     [monitor_fdpass.c]
-     use ssize_t for recvmsg() and sendmsg() return
-   - markus@cvs.openbsd.org 2002/06/26 14:51:33
-     [ssh-add.c]
-     fix exit code for -X/-x
-   - deraadt@cvs.openbsd.org 2002/06/26 15:00:32
-     [monitor_wrap.c]
-     more %u
-   - markus@cvs.openbsd.org 2002/06/26 22:27:32
-     [ssh-keysign.c]
-     bug #304, xfree(data) called to early; openssh@sigint.cs.purdue.edu
-
-20020626
- - (stevesk) [monitor.c] remove duplicate proto15 dispatch entry for PAM
- - (bal) OpenBSD CVS Sync
-   - markus@cvs.openbsd.org 2002/06/23 21:34:07
-     [channels.c]
-     tcode is u_int
-   - markus@cvs.openbsd.org 2002/06/24 13:12:23
-     [ssh-agent.1]
-     the socket name contains ssh-agent's ppid; via mpech@ from form@
-   - markus@cvs.openbsd.org 2002/06/24 14:33:27
-     [channels.c channels.h clientloop.c serverloop.c]
-     move channel counter to u_int
-   - markus@cvs.openbsd.org 2002/06/24 14:55:38
-     [authfile.c kex.c ssh-agent.c]
-     cat to (void) when output from buffer_get_X is ignored
-   - itojun@cvs.openbsd.org 2002/06/24 15:49:22
-     [msg.c]
-     printf type pedant
-   - deraadt@cvs.openbsd.org 2002/06/24 17:57:20
-     [sftp-server.c sshpty.c]
-     explicit (u_int) for uid and gid
-   - markus@cvs.openbsd.org 2002/06/25 16:22:42
-     [authfd.c]
-     unnecessary cast
-   - markus@cvs.openbsd.org 2002/06/25 18:51:04
-     [sshd.c]
-     lightweight do_setusercontext after chroot()
- - (bal) Updated AIX package build.  Patch by dtucker@zip.com.au
- - (tim) [Makefile.in] fix test on installing ssh-rand-helper.8
- - (bal) added back in error check for mmap().  I screwed up, Pointed
-   out by stevesk@
- - (tim) [README.privsep] UnixWare tip no longer needed.
- - (bal) fixed NeXTStep missing munmap() issue. It defines HAVE_MMAP,
-   but it all damned lies.
- - (stevesk) [README.privsep] more for sshd pseudo-account.
- - (tim) [contrib/caldera/openssh.spec] add support for privsep
- - (djm) setlogin needs pgid==pid on BSD/OS; from itojun@
- - (djm) OpenBSD CVS Sync
-   - markus@cvs.openbsd.org 2002/06/26 08:53:12
-     [bufaux.c]
-     limit size of BNs to 8KB; ok provos/deraadt
-   - markus@cvs.openbsd.org 2002/06/26 08:54:18
-     [buffer.c]
-     limit append to 1MB and buffers to 10MB
-   - markus@cvs.openbsd.org 2002/06/26 08:55:02
-     [channels.c]
-     limit # of channels to 10000
-   - markus@cvs.openbsd.org 2002/06/26 08:58:26
-     [session.c]
-     limit # of env vars to 1000; ok deraadt/djm
-   - deraadt@cvs.openbsd.org 2002/06/26 13:20:57
-     [monitor.c]
-     be careful in mm_zalloc
-   - deraadt@cvs.openbsd.org 2002/06/26 13:49:26
-     [session.c]
-     disclose less information from environment files; based on input 
-     from djm, and dschultz@uclink.Berkeley.EDU
-   - markus@cvs.openbsd.org 2002/06/26 13:55:37
-     [auth2-chall.c]
-     make sure # of response matches # of queries, fixes int overflow; 
-     from ISS
-   - markus@cvs.openbsd.org 2002/06/26 13:56:27
-     [version.h]
-     3.4
- - (djm) Require krb5 devel for RPM build w/ KrbV 
- - (djm) Improve PAMAuthenticationViaKbdInt text from Nalin Dahyabhai 
-   <nalin@redhat.com>
- - (djm) Update spec files for release 
- - (djm) Fix int overflow in auth2-pam.c, similar to one discovered by ISS
- - (djm) Release 3.4p1
- - (tim) [contrib/caldera/openssh.spec] remove 2 configure options I put in
-   by mistake
-
-20020625
- - (stevesk) [INSTALL acconfig.h configure.ac defines.h] remove --with-rsh
- - (stevesk) [README.privsep] minor updates
- - (djm) Create privsep directory and warn if privsep user is missing 
-   during make install
- - (bal) Started list of PrivSep issues in TODO
- - (bal) if mmap() is substandard, don't allow compression on server side.
-   Post 'event' we will add more options.
- - (tim) [contrib/caldera/openssh.spec] Sync with Caldera
- - (bal) moved aix_usrinfo() and noted not setting real TTY.  Patch by
-   dtucker@zip.com.au
- - (tim) [acconfig.h configure.ac sshd.c] BROKEN_FD_PASSING fix from Markus
-   for Cygwin, Cray, & SCO
-
-20020624
- - OpenBSD CVS Sync
-   - deraadt@cvs.openbsd.org 2002/06/23 03:25:50
-     [tildexpand.c]
-     KNF
-   - deraadt@cvs.openbsd.org 2002/06/23 03:26:19
-     [cipher.c key.c]
-     KNF
-   - deraadt@cvs.openbsd.org 2002/06/23 03:30:58
-     [scard.c ssh-dss.c ssh-rsa.c sshconnect.c sshconnect2.c sshd.c sshlogin.c
-      sshpty.c]
-     various KNF and %d for unsigned
-   - deraadt@cvs.openbsd.org 2002/06/23 09:30:14
-     [sftp-client.c sftp-client.h sftp-common.c sftp-int.c sftp-server.c
-      sftp.c]
-     bunch of u_int vs int stuff
-   - deraadt@cvs.openbsd.org 2002/06/23 09:39:55
-     [ssh-keygen.c]
-     u_int stuff
-   - deraadt@cvs.openbsd.org 2002/06/23 09:46:51
-     [bufaux.c servconf.c]
-     minor KNF.  things the fingers do while you read
-   - deraadt@cvs.openbsd.org 2002/06/23 10:29:52
-     [ssh-agent.c sshd.c]
-     some minor KNF and %u
-   - deraadt@cvs.openbsd.org 2002/06/23 20:39:45
-     [session.c]
-     compression_level is u_int
-   - deraadt@cvs.openbsd.org 2002/06/23 21:06:13
-     [sshpty.c]
-     KNF
-   - deraadt@cvs.openbsd.org 2002/06/23 21:06:41
-     [channels.c channels.h session.c session.h]
-     display, screen, row, col, xpixel, ypixel are u_int; markus ok
-   - deraadt@cvs.openbsd.org 2002/06/23 21:10:02
-     [packet.c]
-     packet_get_int() returns unsigned for reason & seqnr
-  - (bal) Also fixed IPADDR_IN_DISPLAY case where display, screen, row, col,
-    xpixel are u_int.
-
-
-20020623
- - (stevesk) [configure.ac] bug #255 LOGIN_NEEDS_UTMPX for AIX.
- - (bal) removed GNUism for getops in ssh-agent since glibc lacks optreset.
- - (bal) add extern char *getopt.  Based on report by dtucker@zip.com.au 
- - OpenBSD CVS Sync
-   - stevesk@cvs.openbsd.org 2002/06/22 02:00:29
-     [ssh.h]
-     correct comment
-   - stevesk@cvs.openbsd.org 2002/06/22 02:40:23
-     [ssh.1]
-     section 5 not 4 for ssh_config
-   - naddy@cvs.openbsd.org 2002/06/22 11:51:39
-     [ssh.1]
-     typo
-   - stevesk@cvs.openbsd.org 2002/06/22 16:32:54
-     [sshd.8]
-     add /var/empty in FILES section
-   - stevesk@cvs.openbsd.org 2002/06/22 16:40:19
-     [sshd.c]
-     check /var/empty owner mode; ok provos@
-   - stevesk@cvs.openbsd.org 2002/06/22 16:41:57
-     [scp.1]
-     typo
-   - stevesk@cvs.openbsd.org 2002/06/22 16:45:29
-     [ssh-agent.1 sshd.8 sshd_config.5]
-     use process ID vs. pid/PID/process identifier
-   - stevesk@cvs.openbsd.org 2002/06/22 20:05:27
-     [sshd.c]
-     don't call setsid() if debugging or run from inetd; no "Operation not
-     permitted" errors now; ok millert@ markus@
-   - stevesk@cvs.openbsd.org 2002/06/22 23:09:51
-     [monitor.c]
-     save auth method before monitor_reset_key_state(); bugzilla bug #284;
-     ok provos@
-
-$Id: ChangeLog,v 1.2491.2.1 2002/10/03 05:45:53 djm Exp $
diff --git a/crypto/openssh/FREEBSD-Xlist b/crypto/openssh/FREEBSD-Xlist
deleted file mode 100644 (file)
index ca711aa..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-$FreeBSD: src/crypto/openssh/FREEBSD-Xlist,v 1.1.2.2 2003/02/03 17:31:06 des Exp $
-$DragonFly: src/crypto/openssh/Attic/FREEBSD-Xlist,v 1.2 2003/06/17 04:24:36 dillon Exp $
-*.0
-*/.cvsignore
-.cvsignore
-autom4te*
-config.h.in
-configure
-contrib
-regress/*.[0-9]
-scard
diff --git a/crypto/openssh/FREEBSD-tricks b/crypto/openssh/FREEBSD-tricks
deleted file mode 100644 (file)
index cf3689b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# $FreeBSD: src/crypto/openssh/FREEBSD-tricks,v 1.2.4.1 2003/02/03 17:31:06 des Exp $
-# $DragonFly: src/crypto/openssh/Attic/FREEBSD-tricks,v 1.2 2003/06/17 04:24:36 dillon Exp $
-
-# Shell code to remove FreeBSD tags before merging
-grep -rl '\$Fre.BSD:' . |
-while read f ; do
-    sed -i.orig -e '/\$Fre.BSD:/d' $f
-done
-
-# Shell + Perl code to add FreeBSD tags wherever an OpenBSD or Id tag occurs
-egrep -rl '\$(Id|OpenBSD):' . |
-xargs perl -n -i.orig -e 'print; s/\$(Id|OpenBSD): [^\$]*\$/\$FreeBSD\$/ && print'
-
-# Shell code to reexpand FreeBSD tags
-grep -rl '\$FreeBSD\$' . |
-while read f ; do 
-    id=$(cvs diff $f | grep '\$Fre.BSD:' | sed 's/.*\(\$Fre.BSD:.*\$\).*/\1/') ;
-    if [ -n "$id" ] ; then 
-        sed -i.orig -e "s@\\\$Fre.BSD\\\$@$id@" $f ;
-    fi ; 
-done
diff --git a/crypto/openssh/FREEBSD-upgrade b/crypto/openssh/FREEBSD-upgrade
deleted file mode 100644 (file)
index 8ce3b5b..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
-           FreeBSD maintainer's guide to OpenSSH-portable
-           ==============================================
-
-
-0) Make sure your mail spool has plenty of free space.  It'll fill up
-   pretty fast once you're done with this checklist.
-
-1) Grab the latest OpenSSH-portable tarball from the OpenBSD FTP
-   site (ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/)
-
-2) Unpack the tarball in a suitable directory.
-
-3) Remove trash:
-
-       $ eval "rm -rf $(tr '[:space:]' ' ' </usr/src/crypto/openssh/FREEBSD-Xlist)"
-
-   Make sure that took care of everything, and if it didn't, make sure
-   to update FREEBSD-Xlist so you won't miss it the next time.
-
-4) Import the sources:
-
-       $ cvs import src/crypto/openssh OPENSSH OpenSSH_X_YpZ
-
-5) Resolve conflicts.  Remember to bump the version number and
-   addendum in version.h.
-
-6) Generate configure and config.h.in:
-
-       $ autoconf
-       $ autoheader
-
-   Note: this requires a recent version of autoconf, not autoconf213.
-
-7) Run configure with the appropriate arguments:
-
-       $ ./configure --prefix=/usr --sysconfdir=/etc/ssh \
-               --with-pam --with-tcp-wrappers
-
-   Note that we don't want to configure OpenSSH for Kerberos using
-   configure since we have to be able to turn it on or off depending
-   on the value of MAKE_KERBEROS[45].  Our Makefiles take care of
-   this.
-
-8) Commit the resulting config.h.  Make sure you don't accidentally
-   commit any other files created by autoconf, autoheader or
-   configure; they'll just clutter up the repo and cause trouble at
-   the next upgrade.
-
-9) Build and test.
-
-A) Re-commit everything on freefall (you *did* use a test repo for
-   this, didn't you?)
-
-\f
-
-         An overview of FreeBSD changes to OpenSSH-portable
-         ==================================================
-
-0) VersionAddendum
-
-   The SSH protocol allows for a human-readable version string of up
-   to 40 characters to be appended to the protocol version string.
-   FreeBSD takes advantage of this to include a date indicating the
-   "patch level", so people can easily determine whether their system
-   is vulnerable when an OpenSSH advisory goes out.  Some people,
-   however, dislike advertising their patch level in the protocol
-   handshake, so we've added a VersionAddendum configuration variable
-   to allow them to change or disable it.
-
-1) Modified server-side defaults
-
-   We've modified some configuration defaults in sshd:
-
-      - For protocol version 2, we don't load RSA host keys by
-        default.  If both RSA and DSA keys are present, we prefer DSA
-        to RSA.
-
-      - LoginGraceTime defaults to 120 seconds instead of 600.
-
-      - PermitRootLogin defaults to "no".
-
-      - X11Forwarding defaults to "yes" (it's a threat to the client,
-        not to the server.)
-
-      - Unless the config file says otherwise, we automatically enable
-        Kerberos support if an appropriate keytab is present.
-
-      - PAMAuthenticationViaKbdInt defaults to "yes".
-
-2) Modified client-side defaults
-
-   We've modified some configuration defaults in ssh:
-
-      - For protocol version 2, if both RSA and DSA keys are present,
-        we prefer DSA to RSA.
-
-      - CheckHostIP defaults to "no".
-
-3) Canonic host names
-
-   We've added code to ssh.c to canonicize the target host name after
-   reading options but before trying to connect.  This eliminates the
-   usual problem with duplicate known_hosts entries.
-
-4) OPIE
-
-   We've added support for using OPIE as a drop-in replacement for
-   S/Key.
-
-5) PAM
-
-   We use our own PAM code, which wraps PAM in a KbdintDevice and
-   works with privsep, instead of OpenSSH's own PAM code.
-
-6) setusercontext() environment
-
-   Our setusercontext(3) can set environment variables, which we must
-   take care to transfer to the child's environment.
-
-\f
-
-This port was brought to you by (in no particular order) DARPA, NAI
-Labs, ThinkSec, NescafĂ©, the Aberlour Glenlivet Distillery Co.,
-Suzanne Vega, and a Sanford's #69 Deluxe Marker.
-
-                                       -- des@FreeBSD.org
-
-$FreeBSD: src/crypto/openssh/FREEBSD-upgrade,v 1.1.2.2 2003/02/03 17:31:06 des Exp $
-$DragonFly: src/crypto/openssh/Attic/FREEBSD-upgrade,v 1.2 2003/06/17 04:24:36 dillon Exp $
diff --git a/crypto/openssh/INSTALL b/crypto/openssh/INSTALL
deleted file mode 100644 (file)
index f5ab0db..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-1. Prerequisites
-----------------
-
-You will need working installations of Zlib and OpenSSL.
-
-Zlib:
-http://www.gzip.org/zlib/ 
-
-OpenSSL 0.9.6 or greater:
-http://www.openssl.org/
-
-(OpenSSL 0.9.5a is partially supported, but some ciphers (SSH protocol 1 
-Blowfish) do not work correctly.)
-
-OpenSSH can utilise Pluggable Authentication Modules (PAM) if your system
-supports it. PAM is standard on Redhat and Debian Linux, Solaris and
-HP-UX 11.
-
-NB. If you operating system supports /dev/random, you should configure 
-OpenSSL to use it. OpenSSH relies on OpenSSL's direct support of 
-/dev/random. If you don't you will have to rely on ssh-rand-helper, which 
-is inferior to a good kernel-based solution.
-
-PAM:
-http://www.kernel.org/pub/linux/libs/pam/
-
-If you wish to build the GNOME passphrase requester, you will need the GNOME
-libraries and headers.
-
-GNOME:
-http://www.gnome.org/
-
-Alternatively, Jim Knoble <jmknoble@jmknoble.cx> has written an excellent X11
-passphrase requester. This is maintained separately at:
-
-http://www.ntrnet.net/~jmknoble/software/x11-ssh-askpass/index.html
-
-PRNGD:
-
-If your system lacks Kernel based random collection, the use of Lutz 
-Jaenicke's PRNGd is recommended.
-
-http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html
-
-EGD:
-
-The Entropy Gathering Daemon (EGD) is supported if you have a system which
-lacks /dev/random and don't want to use OpenSSH's internal entropy collection.
-
-http://www.lothar.com/tech/crypto/
-
-S/Key Libraries:
-http://www.sparc.spb.su/solaris/skey/
-
-If you wish to use --with-skey then you will need the above library
-installed.  No other current S/Key library is currently known to be
-supported. 
-
-2. Building / Installation
---------------------------
-
-To install OpenSSH with default options:
-
-./configure
-make
-make install
-
-This will install the OpenSSH binaries in /usr/local/bin, configuration files
-in /usr/local/etc, the server in /usr/local/sbin, etc. To specify a different
-installation prefix, use the --prefix option to configure:
-
-./configure --prefix=/opt
-make
-make install
-
-Will install OpenSSH in /opt/{bin,etc,lib,sbin}. You can also override 
-specific paths, for example:
-
-./configure --prefix=/opt --sysconfdir=/etc/ssh
-make
-make install
-
-This will install the binaries in /opt/{bin,lib,sbin}, but will place the
-configuration files in /etc/ssh.
-
-If you are using PAM, you may need to manually install a PAM control
-file as "/etc/pam.d/sshd" (or wherever your system prefers to keep
-them).  Note that the service name used to start PAM is __progname,
-which is the basename of the path of your sshd (e.g., the service name
-for /usr/sbin/osshd will be osshd).  If you have renamed your sshd
-executable, your PAM configuration may need to be modified.
-
-A generic PAM configuration is included as "contrib/sshd.pam.generic",
-you may need to edit it before using it on your system. If you are
-using a recent version of Red Hat Linux, the config file in
-contrib/redhat/sshd.pam should be more useful.  Failure to install a
-valid PAM file may result in an inability to use password
-authentication.  On HP-UX 11 and Solaris, the standard /etc/pam.conf
-configuration will work with sshd (sshd will match the other service
-name).
-
-There are a few other options to the configure script:
-
---with-pam enables PAM support.
-
---enable-gnome-askpass will build the GNOME passphrase dialog. You
-need a working installation of GNOME, including the development
-headers, for this to work.
-
---with-prngd-socket=/some/file allows you to enable EGD or PRNGD 
-support and to specify a PRNGd socket. Use this if your Unix lacks 
-/dev/random and you don't want to use OpenSSH's builtin entropy 
-collection support.
-
---with-prngd-port=portnum allows you to enable EGD or PRNGD support 
-and to specify a EGD localhost TCP port. Use this if your Unix lacks 
-/dev/random and you don't want to use OpenSSH's builtin entropy 
-collection support.
-
---with-lastlog=FILE will specify the location of the lastlog file. 
-./configure searches a few locations for lastlog, but may not find
-it if lastlog is installed in a different place.
-
---without-lastlog will disable lastlog support entirely.
-
---with-sia, --without-sia will enable or disable OSF1's Security 
-Integration Architecture.  The default for OSF1 machines is enable.
-
---with-kerberos4=PATH will enable Kerberos IV support. You will need
-to have the Kerberos libraries and header files installed for this
-to work. Use the optional PATH argument to specify the root of your
-Kerberos installation.
-
---with-afs=PATH will enable AFS support. You will need to have the
-Kerberos IV and the AFS libraries and header files installed for this
-to work.  Use the optional PATH argument to specify the root of your
-AFS installation. AFS requires Kerberos support to be enabled.
-
---with-skey=PATH will enable S/Key one time password support. You will 
-need the S/Key libraries and header files installed for this to work.
-
---with-tcp-wrappers will enable TCP Wrappers (/etc/hosts.allow|deny)
-support. You will need libwrap.a and tcpd.h installed.
-
---with-md5-passwords will enable the use of MD5 passwords. Enable this
-if your operating system uses MD5 passwords without using PAM.
-
---with-utmpx enables utmpx support. utmpx support is automatic for 
-some platforms.
-
---without-shadow disables shadow password support.
-
---with-ipaddr-display forces the use of a numeric IP address in the 
-$DISPLAY environment variable. Some broken systems need this.
-
---with-default-path=PATH allows you to specify a default $PATH for sessions
-started by sshd. This replaces the standard path entirely.
-
---with-pid-dir=PATH specifies the directory in which the ssh.pid file is
-created.
-
---with-xauth=PATH specifies the location of the xauth binary
-
---with-ipv4-default instructs OpenSSH to use IPv4 by default for new
-connections. Normally OpenSSH will try attempt to lookup both IPv6 and
-IPv4 addresses. On Linux/glibc-2.1.2 this causes long delays in name
-resolution. If this option is specified, you can still attempt to 
-connect to IPv6 addresses using the command line option '-6'.
-
---with-ssl-dir=DIR allows you to specify where your OpenSSL libraries
-are installed.
-
---with-4in6 Check for IPv4 in IPv6 mapped addresses and convert them to
-real (AF_INET) IPv4 addresses. Works around some quirks on Linux.
-
---with-opensc=DIR
---with-sectok=DIR allows for OpenSC or sectok smartcard libraries to
-be used with OpenSSH.  See 'README.smartcard' for more details.
-
-If you need to pass special options to the compiler or linker, you
-can specify these as environment variables before running ./configure.
-For example:
-
-CFLAGS="-O -m486" LDFLAGS="-s" LIBS="-lrubbish" LD="/usr/foo/ld" ./configure
-
-3. Configuration
-----------------
-
-The runtime configuration files are installed by in ${prefix}/etc or 
-whatever you specified as your --sysconfdir (/usr/local/etc by default).
-
-The default configuration should be instantly usable, though you should 
-review it to ensure that it matches your security requirements.
-
-To generate a host key, run "make host-key". Alternately you can do so
-manually using the following commands: 
-
-    ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""
-    ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
-    ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""
-
-Replacing /etc/ssh with the correct path to the configuration directory.
-(${prefix}/etc or whatever you specified with --sysconfdir during 
-configuration)
-
-If you have configured OpenSSH with EGD support, ensure that EGD is
-running and has collected some Entropy.
-
-For more information on configuration, please refer to the manual pages 
-for sshd, ssh and ssh-agent.
-
-4. Problems?
-------------
-
-If you experience problems compiling, installing or running OpenSSH. 
-Please refer to the "reporting bugs" section of the webpage at
-http://www.openssh.com/
-
-
-$Id: INSTALL,v 1.55 2002/07/25 04:36:25 djm Exp $
diff --git a/crypto/openssh/LICENCE b/crypto/openssh/LICENCE
deleted file mode 100644 (file)
index 19d4c74..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-This file is part of the OpenSSH software.
-
-The licences which components of this software fall under are as
-follows.  First, we will summarize and say that all components
-are under a BSD licence, or a licence more free than that.
-
-OpenSSH contains no GPL code.
-
-1)
-     * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
-     *                    All rights reserved
-     *
-     * As far as I am concerned, the code I have written for this software
-     * can be used freely for any purpose.  Any derived versions of this
-     * software must be clearly marked as such, and if the derived work is
-     * incompatible with the protocol description in the RFC file, it must be
-     * called by a name other than "ssh" or "Secure Shell".
-
-    [Tatu continues]
-     *  However, I am not implying to give any licenses to any patents or
-     * copyrights held by third parties, and the software includes parts that
-     * are not under my direct control.  As far as I know, all included
-     * source code is used in accordance with the relevant license agreements
-     * and can be used freely for any purpose (the GNU license being the most
-     * restrictive); see below for details.
-
-    [However, none of that term is relevant at this point in time.  All of
-    these restrictively licenced software components which he talks about
-    have been removed from OpenSSH, i.e.,
-
-     - RSA is no longer included, found in the OpenSSL library
-     - IDEA is no longer included, its use is deprecated
-     - DES is now external, in the OpenSSL library
-     - GMP is no longer used, and instead we call BN code from OpenSSL
-     - Zlib is now external, in a library
-     - The make-ssh-known-hosts script is no longer included
-     - TSS has been removed
-     - MD5 is now external, in the OpenSSL library
-     - RC4 support has been replaced with ARC4 support from OpenSSL
-     - Blowfish is now external, in the OpenSSL library
-
-    [The licence continues]
-
-    Note that any information and cryptographic algorithms used in this
-    software are publicly available on the Internet and at any major
-    bookstore, scientific library, and patent office worldwide.  More
-    information can be found e.g. at "http://www.cs.hut.fi/crypto".
-    
-    The legal status of this program is some combination of all these
-    permissions and restrictions.  Use only at your own responsibility.
-    You will be responsible for any legal consequences yourself; I am not
-    making any claims whether possessing or using this is legal or not in
-    your country, and I am not taking any responsibility on your behalf.
-    
-    
-                           NO WARRANTY
-    
-    BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-    FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-    OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-    PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-    OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-    TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-    PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-    REPAIR OR CORRECTION.
-    
-    IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-    WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-    REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-    INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-    OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-    TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-    YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-    PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGES.
-
-2)
-    The 32-bit CRC implementation in crc32.c is due to Gary S. Brown.
-    Comments in the file indicate it may be used for any purpose without
-    restrictions:
-
-     * COPYRIGHT (C) 1986 Gary S. Brown.  You may use this program, or
-     * code or tables extracted from it, as desired without restriction.
-
-3)
-    The 32-bit CRC compensation attack detector in deattack.c was
-    contributed by CORE SDI S.A. under a BSD-style license.
-
-     * Cryptographic attack detector for ssh - source code
-     *
-     * Copyright (c) 1998 CORE SDI S.A., Buenos Aires, Argentina.
-     *
-     * All rights reserved. Redistribution and use in source and binary
-     * forms, with or without modification, are permitted provided that
-     * this copyright notice is retained.
-     *
-     * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-     * WARRANTIES ARE DISCLAIMED. IN NO EVENT SHALL CORE SDI S.A. BE
-     * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY OR
-     * CONSEQUENTIAL DAMAGES RESULTING FROM THE USE OR MISUSE OF THIS
-     * SOFTWARE.
-     *
-     * Ariel Futoransky <futo@core-sdi.com>
-     * <http://www.core-sdi.com>
-
-4)
-    ssh-keygen was contributed by David Mazieres under a BSD-style
-    license.
-
-     * Copyright 1995, 1996 by David Mazieres <dm@lcs.mit.edu>.
-     *
-     * Modification and redistribution in source and binary forms is
-     * permitted provided that due credit is given to the author and the
-     * OpenBSD project by leaving this copyright notice intact.
-
-5)
-    The Rijndael implementation by Vincent Rijmen, Antoon Bosselaers
-    and Paulo Barreto is in the public domain and distributed
-    with the following license:
-
-     * @version 3.0 (December 2000)
-     * 
-     * Optimised ANSI C code for the Rijndael cipher (now AES)
-     * 
-     * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>
-     * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>
-     * @author Paulo Barreto <paulo.barreto@terra.com.br>
-     * 
-     * This code is hereby placed in the public domain.
-     * 
-     * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
-     * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-     * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
-     * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-     * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-     * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-     * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-     * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-6)
-    One component of the ssh source code is under a 4-clause BSD license,
-    held by the University of California, since we pulled these parts from
-    original Berkeley code.  The Regents of the University of California
-    have declared that term 3 is no longer enforceable on their source code,
-    but we retain that license as is.
-
-     * Copyright (c) 1983, 1990, 1992, 1993, 1995
-     *      The Regents of the University of California.  All rights reserved.
-     *
-     * Redistribution and use in source and binary forms, with or without
-     * modification, are permitted provided that the following conditions
-     * are met:
-     * 1. Redistributions of source code must retain the above copyright
-     *    notice, this list of conditions and the following disclaimer.
-     * 2. Redistributions in binary form must reproduce the above copyright
-     *    notice, this list of conditions and the following disclaimer in the
-     *    documentation and/or other materials provided with the distribution.
-     * 3. All advertising materials mentioning features or use of this software
-     *    must display the following acknowledgement:
-     *      This product includes software developed by the University of
-     *      California, Berkeley and its contributors.
-     * 4. Neither the name of the University nor the names of its contributors
-     *    may be used to endorse or promote products derived from this software
-     *    without specific prior written permission.
-     *
-     * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-     * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-     * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-     * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-     * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-     * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-     * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-     * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-     * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-     * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-     * SUCH DAMAGE.
-
-7)
-    Remaining components of the software are provided under a standard
-    2-term BSD licence with the following names as copyright holders:
-
-       Markus Friedl
-       Theo de Raadt
-       Niels Provos
-       Dug Song
-       Aaron Campbell
-       Damien Miller
-       Kevin Steves
-       Daniel Kouril
-       Per Allansson
-
-     * Redistribution and use in source and binary forms, with or without
-     * modification, are permitted provided that the following conditions
-     * are met:
-     * 1. Redistributions of source code must retain the above copyright
-     *    notice, this list of conditions and the following disclaimer.
-     * 2. Redistributions in binary form must reproduce the above copyright
-     *    notice, this list of conditions and the following disclaimer in the
-     *    documentation and/or other materials provided with the distribution.
-     *
-     * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-     * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-     * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-     * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-     * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-     * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-     * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-     * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/crypto/openssh/Makefile.in b/crypto/openssh/Makefile.in
deleted file mode 100644 (file)
index 89d02c9..0000000
+++ /dev/null
@@ -1,344 +0,0 @@
-# $Id: Makefile.in,v 1.222 2002/07/14 17:02:21 tim Exp $
-
-# uncomment if you run a non bourne compatable shell. Ie. csh
-#SHELL = @SH@
-
-AUTORECONF=autoreconf
-
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-bindir=@bindir@
-sbindir=@sbindir@
-libexecdir=@libexecdir@
-datadir=@datadir@
-mandir=@mandir@
-mansubdir=@mansubdir@
-sysconfdir=@sysconfdir@
-piddir=@piddir@
-srcdir=@srcdir@
-top_srcdir=@top_srcdir@
-
-DESTDIR=
-VPATH=@srcdir@
-SSH_PROGRAM=@bindir@/ssh
-ASKPASS_PROGRAM=$(libexecdir)/ssh-askpass
-SFTP_SERVER=$(libexecdir)/sftp-server
-SSH_KEYSIGN=$(libexecdir)/ssh-keysign
-RAND_HELPER=$(libexecdir)/ssh-rand-helper
-PRIVSEP_PATH=@PRIVSEP_PATH@
-SSH_PRIVSEP_USER=@SSH_PRIVSEP_USER@
-
-PATHS= -DSSHDIR=\"$(sysconfdir)\" \
-       -D_PATH_SSH_PROGRAM=\"$(SSH_PROGRAM)\" \
-       -D_PATH_SSH_ASKPASS_DEFAULT=\"$(ASKPASS_PROGRAM)\" \
-       -D_PATH_SFTP_SERVER=\"$(SFTP_SERVER)\" \
-       -D_PATH_SSH_KEY_SIGN=\"$(SSH_KEYSIGN)\" \
-       -D_PATH_SSH_PIDDIR=\"$(piddir)\" \
-       -D_PATH_PRIVSEP_CHROOT_DIR=\"$(PRIVSEP_PATH)\" \
-       -DSSH_RAND_HELPER=\"$(RAND_HELPER)\"
-
-CC=@CC@
-LD=@LD@
-CFLAGS=@CFLAGS@
-CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@
-LIBS=@LIBS@
-LIBPAM=@LIBPAM@
-LIBWRAP=@LIBWRAP@
-AR=@AR@
-RANLIB=@RANLIB@
-INSTALL=@INSTALL@
-PERL=@PERL@
-ENT=@ENT@
-XAUTH_PATH=@XAUTH_PATH@
-LDFLAGS=-L. -Lopenbsd-compat/ @LDFLAGS@
-EXEEXT=@EXEEXT@
-
-INSTALL_SSH_PRNG_CMDS=@INSTALL_SSH_PRNG_CMDS@
-INSTALL_SSH_RAND_HELPER=@INSTALL_SSH_RAND_HELPER@
-
-@NO_SFTP@SFTP_PROGS=sftp-server$(EXEEXT) sftp$(EXEEXT)
-
-TARGETS=ssh$(EXEEXT) sshd$(EXEEXT) ssh-add$(EXEEXT) ssh-keygen$(EXEEXT) ssh-keyscan${EXEEXT} ssh-keysign${EXEEXT} ssh-agent$(EXEEXT) scp$(EXEEXT) ssh-rand-helper${EXEEXT} $(SFTP_PROGS)
-
-LIBSSH_OBJS=atomicio.o authfd.o authfile.o bufaux.o buffer.o canohost.o channels.o cipher.o compat.o compress.o crc32.o deattack.o dh.o dispatch.o fatal.o mac.o msg.o hostfile.o key.o kex.o kexdh.o kexgex.o log.o match.o misc.o mpaux.o nchan.o packet.o radix.o rijndael.o entropy.o readpass.o rsa.o scard.o scard-opensc.o ssh-dss.o ssh-rsa.o tildexpand.o ttymodes.o uidswap.o uuencode.o xmalloc.o monitor_wrap.o monitor_fdpass.o
-
-SSHOBJS= ssh.o sshconnect.o sshconnect1.o sshconnect2.o sshtty.o readconf.o clientloop.o
-
-SSHDOBJS= sshd.o auth.o auth1.o auth2.o auth2-hostbased.o auth2-kbdint.o auth2-none.o auth2-passwd.o auth2-pubkey.o auth-chall.o auth2-chall.o auth-rhosts.o auth-options.o auth-krb4.o auth-krb5.o auth-pam.o auth2-pam.o auth-passwd.o auth-rsa.o auth-rh-rsa.o auth-sia.o sshpty.o sshlogin.o loginrec.o servconf.o serverloop.o md5crypt.o session.o groupaccess.o auth-skey.o auth-bsdauth.o monitor_mm.o monitor.o
-
-MANPAGES       = scp.1.out ssh-add.1.out ssh-agent.1.out ssh-keygen.1.out ssh-keyscan.1.out ssh.1.out sshd.8.out sftp-server.8.out sftp.1.out ssh-rand-helper.8.out ssh-keysign.8.out sshd_config.5.out ssh_config.5.out
-MANPAGES_IN    = scp.1 ssh-add.1 ssh-agent.1 ssh-keygen.1 ssh-keyscan.1 ssh.1 sshd.8 sftp-server.8 sftp.1 ssh-rand-helper.8 ssh-keysign.8 sshd_config.5 ssh_config.5
-MANTYPE                = @MANTYPE@
-
-CONFIGFILES=sshd_config.out ssh_config.out moduli.out
-CONFIGFILES_IN=sshd_config ssh_config moduli
-
-PATHSUBS       = \
-       -D/etc/ssh/ssh_prng_cmds=$(sysconfdir)/ssh_prng_cmds \
-       -D/etc/ssh/ssh_config=$(sysconfdir)/ssh_config \
-       -D/etc/ssh/ssh_known_hosts=$(sysconfdir)/ssh_known_hosts \
-       -D/etc/ssh/sshd_config=$(sysconfdir)/sshd_config \
-       -D/usr/libexec=$(libexecdir) \
-       -D/etc/shosts.equiv=$(sysconfdir)/shosts.equiv \
-       -D/etc/ssh/ssh_host_key=$(sysconfdir)/ssh_host_key \
-       -D/etc/ssh/ssh_host_dsa_key=$(sysconfdir)/ssh_host_dsa_key \
-       -D/etc/ssh/ssh_host_rsa_key=$(sysconfdir)/ssh_host_rsa_key \
-       -D/var/run/sshd.pid=$(piddir)/sshd.pid \
-       -D/etc/ssh/moduli=$(sysconfdir)/moduli \
-       -D/etc/ssh/sshrc=$(sysconfdir)/sshrc \
-       -D/usr/X11R6/bin/xauth=$(XAUTH_PATH) \
-       -D/var/empty=$(PRIVSEP_PATH) \
-       -D/usr/bin:/bin:/usr/sbin:/sbin=@user_path@
-
-FIXPATHSCMD    = $(PERL) $(srcdir)/fixpaths $(PATHSUBS)
-
-all: $(CONFIGFILES) $(MANPAGES) $(TARGETS)
-
-$(LIBSSH_OBJS): config.h
-$(SSHOBJS): config.h
-$(SSHDOBJS): config.h
-
-.c.o:
-       $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
-
-LIBCOMPAT=openbsd-compat/libopenbsd-compat.a
-$(LIBCOMPAT): always
-       (cd openbsd-compat && $(MAKE))
-always:
-
-libssh.a: $(LIBSSH_OBJS)
-       $(AR) rv $@ $(LIBSSH_OBJS)
-       $(RANLIB) $@
-
-ssh$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHOBJS)
-       $(LD) -o $@ $(SSHOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
-
-sshd$(EXEEXT): libssh.a        $(LIBCOMPAT) $(SSHDOBJS)
-       $(LD) -o $@ $(SSHDOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBWRAP) $(LIBPAM) $(LIBS)
-
-scp$(EXEEXT): $(LIBCOMPAT) libssh.a scp.o
-       $(LD) -o $@ scp.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
-
-ssh-add$(EXEEXT): $(LIBCOMPAT) libssh.a ssh-add.o
-       $(LD) -o $@ ssh-add.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) 
-
-ssh-agent$(EXEEXT): $(LIBCOMPAT) libssh.a ssh-agent.o
-       $(LD) -o $@ ssh-agent.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) 
-
-ssh-keygen$(EXEEXT): $(LIBCOMPAT) libssh.a ssh-keygen.o
-       $(LD) -o $@ ssh-keygen.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) 
-
-ssh-keysign$(EXEEXT): $(LIBCOMPAT) libssh.a ssh-keysign.o
-       $(LD) -o $@ ssh-keysign.o readconf.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) 
-
-ssh-keyscan$(EXEEXT): $(LIBCOMPAT) libssh.a ssh-keyscan.o
-       $(LD) -o $@ ssh-keyscan.o $(LDFLAGS) -lssh -lopenbsd-compat -lssh $(LIBS) 
-
-sftp-server$(EXEEXT): $(LIBCOMPAT) libssh.a sftp.o sftp-common.o sftp-server.o
-       $(LD) -o $@ sftp-server.o sftp-common.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) 
-
-sftp$(EXEEXT): $(LIBCOMPAT) libssh.a sftp.o sftp-client.o sftp-int.o sftp-common.o sftp-glob.o
-       $(LD) -o $@ sftp.o sftp-client.o sftp-common.o sftp-int.o sftp-glob.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
-
-ssh-rand-helper${EXEEXT}: $(LIBCOMPAT) libssh.a ssh-rand-helper.o
-       $(LD) -o $@ ssh-rand-helper.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
-
-# test driver for the loginrec code - not built by default
-logintest: logintest.o $(LIBCOMPAT) libssh.a loginrec.o
-       $(LD) -o $@ logintest.o $(LDFLAGS) loginrec.o -lopenbsd-compat -lssh $(LIBS)
-
-$(MANPAGES): $(MANPAGES_IN)
-       if test "$(MANTYPE)" = "cat"; then \
-               manpage=$(srcdir)/`echo $@ | sed 's/\.[1-9]\.out$$/\.0/'`; \
-       else \
-               manpage=$(srcdir)/`echo $@ | sed 's/\.out$$//'`; \
-       fi; \
-       if test "$(MANTYPE)" = "man"; then \
-               $(FIXPATHSCMD) $${manpage} | $(PERL) $(srcdir)/mdoc2man.pl > $@; \
-       else \
-               $(FIXPATHSCMD) $${manpage} > $@; \
-       fi
-
-$(CONFIGFILES): $(CONFIGFILES_IN)
-       conffile=`echo $@ | sed 's/.out$$//'`; \
-       $(FIXPATHSCMD) $(srcdir)/$${conffile} > $@
-
-clean:
-       rm -f *.o *.a $(TARGETS) logintest config.cache config.log 
-       rm -f *.out core 
-       (cd openbsd-compat && $(MAKE) clean)
-
-distclean:
-       rm -f *.o *.a $(TARGETS) logintest config.cache config.log 
-       rm -f *.out core
-       rm -f Makefile config.h config.status ssh_prng_cmds *~
-       rm -rf autom4te.cache
-       (cd openbsd-compat && $(MAKE) distclean)
-       (cd scard && $(MAKE) distclean)
-
-veryclean:
-       rm -f configure config.h.in *.0
-       rm -f *.o *.a $(TARGETS) logintest config.cache config.log 
-       rm -f *.out core
-       rm -f Makefile config.h config.status ssh_prng_cmds *~
-       (cd openbsd-compat && $(MAKE) distclean)
-       (cd scard && $(MAKE) distclean)
-
-mrproper: distclean
-
-catman-do:
-       @for f in $(MANPAGES_IN) ; do \
-               base=`echo $$f | sed 's/\..*$$//'` ; \
-               echo "$$f -> $$base.0" ; \
-               nroff -mandoc $$f | cat -v | sed -e 's/.\^H//g' \
-                       >$$base.0 ; \
-       done
-
-distprep: catman-do
-       $(AUTORECONF)
-       (cd scard && $(MAKE) -f Makefile.in distprep)
-
-install: $(CONFIGFILES) $(MANPAGES) $(TARGETS) install-files host-key check-config
-install-nokeys: $(CONFIGFILES) $(MANPAGES) $(TARGETS) install-files
-
-check-config:
-       -$(DESTDIR)$(sbindir)/sshd -t -f $(DESTDIR)$(sysconfdir)/sshd_config
-
-scard-install:
-       (cd scard && $(MAKE) DESTDIR=$(DESTDIR) install)
-
-install-files: scard-install
-       $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
-       $(srcdir)/mkinstalldirs $(DESTDIR)$(sbindir)
-       $(srcdir)/mkinstalldirs $(DESTDIR)$(mandir)
-       $(srcdir)/mkinstalldirs $(DESTDIR)$(datadir)
-       $(srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/$(mansubdir)1
-       $(srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/$(mansubdir)5
-       $(srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/$(mansubdir)8
-       $(srcdir)/mkinstalldirs $(DESTDIR)$(libexecdir)
-       (umask 022 ; $(srcdir)/mkinstalldirs $(DESTDIR)$(PRIVSEP_PATH))
-       $(INSTALL) -m 0755 -s ssh $(DESTDIR)$(bindir)/ssh
-       $(INSTALL) -m 0755 -s scp $(DESTDIR)$(bindir)/scp
-       $(INSTALL) -m 0755 -s ssh-add $(DESTDIR)$(bindir)/ssh-add
-       $(INSTALL) -m 0755 -s ssh-agent $(DESTDIR)$(bindir)/ssh-agent
-       $(INSTALL) -m 0755 -s ssh-keygen $(DESTDIR)$(bindir)/ssh-keygen
-       $(INSTALL) -m 0755 -s ssh-keyscan $(DESTDIR)$(bindir)/ssh-keyscan
-       $(INSTALL) -m 0755 -s sshd $(DESTDIR)$(sbindir)/sshd
-       if test ! -z "$(INSTALL_SSH_RAND_HELPER)" ; then \
-               $(INSTALL) -m 0755 -s ssh-rand-helper $(DESTDIR)$(libexecdir)/ssh-rand-helper ; \
-       fi
-       $(INSTALL) -m 4711 -s ssh-keysign $(DESTDIR)$(SSH_KEYSIGN)
-       @NO_SFTP@$(INSTALL) -m 0755 -s sftp $(DESTDIR)$(bindir)/sftp
-       @NO_SFTP@$(INSTALL) -m 0755 -s sftp-server $(DESTDIR)$(SFTP_SERVER)
-       $(INSTALL) -m 644 ssh.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/ssh.1
-       $(INSTALL) -m 644 scp.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/scp.1
-       $(INSTALL) -m 644 ssh-add.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-add.1
-       $(INSTALL) -m 644 ssh-agent.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-agent.1
-       $(INSTALL) -m 644 ssh-keygen.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-keygen.1
-       $(INSTALL) -m 644 ssh-keyscan.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-keyscan.1
-       $(INSTALL) -m 644 sshd_config.5.out $(DESTDIR)$(mandir)/$(mansubdir)5/sshd_config.5
-       $(INSTALL) -m 644 ssh_config.5.out $(DESTDIR)$(mandir)/$(mansubdir)5/ssh_config.5
-       $(INSTALL) -m 644 sshd.8.out $(DESTDIR)$(mandir)/$(mansubdir)8/sshd.8
-       if [ ! -z "$(INSTALL_SSH_RAND_HELPER)" ]; then \
-               $(INSTALL) -m 644 ssh-rand-helper.8.out $(DESTDIR)$(mandir)/$(mansubdir)8/ssh-rand-helper.8 ; \
-       fi
-       @NO_SFTP@$(INSTALL) -m 644 sftp.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/sftp.1
-       @NO_SFTP@$(INSTALL) -m 644 sftp-server.8.out $(DESTDIR)$(mandir)/$(mansubdir)8/sftp-server.8
-       $(INSTALL) -m 644 ssh-keysign.8.out $(DESTDIR)$(mandir)/$(mansubdir)8/ssh-keysign.8
-       -rm -f $(DESTDIR)$(bindir)/slogin
-       ln -s ./ssh$(EXEEXT) $(DESTDIR)$(bindir)/slogin
-       -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/slogin.1
-       ln -s ./ssh.1 $(DESTDIR)$(mandir)/$(mansubdir)1/slogin.1
-       if [ ! -d $(DESTDIR)$(sysconfdir) ]; then \
-               $(srcdir)/mkinstalldirs $(DESTDIR)$(sysconfdir); \
-       fi
-       @if [ ! -f $(DESTDIR)$(sysconfdir)/ssh_config ]; then \
-               $(INSTALL) -m 644 ssh_config.out $(DESTDIR)$(sysconfdir)/ssh_config; \
-       else \
-               echo "$(DESTDIR)$(sysconfdir)/ssh_config already exists, install will not overwrite"; \
-       fi
-       @if [ ! -f $(DESTDIR)$(sysconfdir)/sshd_config ]; then \
-               $(INSTALL) -m 644 sshd_config.out $(DESTDIR)$(sysconfdir)/sshd_config; \
-       else \
-               echo "$(DESTDIR)$(sysconfdir)/sshd_config already exists, install will not overwrite"; \
-       fi
-       @if [ -f ssh_prng_cmds -a ! -z "$(INSTALL_SSH_PRNG_CMDS)" ]; then \
-               $(PERL) $(srcdir)/fixprogs ssh_prng_cmds $(ENT); \
-               if [ ! -f $(DESTDIR)$(sysconfdir)/ssh_prng_cmds ] ; then \
-                       $(INSTALL) -m 644 ssh_prng_cmds.out $(DESTDIR)$(sysconfdir)/ssh_prng_cmds; \
-               else \
-                       echo "$(DESTDIR)$(sysconfdir)/ssh_prng_cmds already exists, install will not overwrite"; \
-               fi ; \
-       fi
-       @if [ ! -f $(DESTDIR)$(sysconfdir)/moduli ]; then \
-               if [ -f $(DESTDIR)$(sysconfdir)/primes ]; then \
-                       echo "moving $(DESTDIR)$(sysconfdir)/primes to $(DESTDIR)$(sysconfdir)/moduli"; \
-                       mv "$(DESTDIR)$(sysconfdir)/primes" "$(DESTDIR)$(sysconfdir)/moduli"; \
-               else \
-                       $(INSTALL) -m 644 moduli.out $(DESTDIR)$(sysconfdir)/moduli; \
-               fi ; \
-       else \
-               echo "$(DESTDIR)$(sysconfdir)/moduli already exists, install will not overwrite"; \
-       fi
-
-host-key: ssh-keygen$(EXEEXT)
-       @if [ -z "$(DESTDIR)" ] ; then \
-               if [ -f "$(DESTDIR)$(sysconfdir)/ssh_host_key" ] ; then \
-                       echo "$(DESTDIR)$(sysconfdir)/ssh_host_key already exists, skipping." ; \
-               else \
-                       ./ssh-keygen -t rsa1 -f $(DESTDIR)$(sysconfdir)/ssh_host_key -N "" ; \
-               fi ; \
-               if [ -f $(DESTDIR)$(sysconfdir)/ssh_host_dsa_key ] ; then \
-                       echo "$(DESTDIR)$(sysconfdir)/ssh_host_dsa_key already exists, skipping." ; \
-               else \
-                       ./ssh-keygen -t dsa -f $(DESTDIR)$(sysconfdir)/ssh_host_dsa_key -N "" ; \
-               fi ; \
-               if [ -f $(DESTDIR)$(sysconfdir)/ssh_host_rsa_key ] ; then \
-                       echo "$(DESTDIR)$(sysconfdir)/ssh_host_rsa_key already exists, skipping." ; \
-               else \
-                       ./ssh-keygen -t rsa -f $(DESTDIR)$(sysconfdir)/ssh_host_rsa_key -N "" ; \
-               fi ; \
-       fi ;
-
-host-key-force: ssh-keygen$(EXEEXT)
-       ./ssh-keygen -t rsa1 -f $(DESTDIR)$(sysconfdir)/ssh_host_key -N ""
-       ./ssh-keygen -t dsa -f $(DESTDIR)$(sysconfdir)/ssh_host_dsa_key -N ""
-       ./ssh-keygen -t rsa -f $(DESTDIR)$(sysconfdir)/ssh_host_rsa_key -N ""
-
-uninstallall:  uninstall
-       -rm -f $(DESTDIR)$(sysconfdir)/ssh_config
-       -rm -f $(DESTDIR)$(sysconfdir)/sshd_config
-       -rm -f $(DESTDIR)$(sysconfdir)/ssh_prng_cmds
-       -rmdir $(DESTDIR)$(sysconfdir)
-       -rmdir $(DESTDIR)$(bindir)
-       -rmdir $(DESTDIR)$(sbindir)
-       -rmdir $(DESTDIR)$(mandir)/$(mansubdir)1
-       -rmdir $(DESTDIR)$(mandir)/$(mansubdir)8
-       -rmdir $(DESTDIR)$(mandir)
-       -rmdir $(DESTDIR)$(libexecdir)
-
-uninstall: 
-       -rm -f $(DESTDIR)$(bindir)/slogin
-       -rm -f $(DESTDIR)$(bindir)/ssh$(EXEEXT)
-       -rm -f $(DESTDIR)$(bindir)/scp$(EXEEXT)
-       -rm -f $(DESTDIR)$(bindir)/ssh-add$(EXEEXT)
-       -rm -f $(DESTDIR)$(bindir)/ssh-agent$(EXEEXT)
-       -rm -f $(DESTDIR)$(bindir)/ssh-keygen$(EXEEXT)
-       -rm -f $(DESTDIR)$(bindir)/ssh-keyscan$(EXEEXT)
-       -rm -f $(DESTDIR)$(bindir)/sftp$(EXEEXT)
-       -rm -f $(DESTDIR)$(sbindir)/sshd$(EXEEXT)
-       -rm -r $(DESTDIR)$(SFTP_SERVER)$(EXEEXT)
-       -rm -f $(DESTDIR)$(SSH_KEYSIGN)$(EXEEXT)
-       -rm -f $(DESTDIR)$(RAND_HELPER)$(EXEEXT)
-       -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/ssh.1
-       -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/scp.1
-       -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-add.1
-       -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-agent.1
-       -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-keygen.1
-       -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/sftp.1
-       -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-keyscan.1
-       -rm -f $(DESTDIR)$(mandir)/$(mansubdir)8/sshd.8
-       -rm -f $(DESTDIR)$(mandir)/$(mansubdir)8/ssh-rand-helper.8
-       -rm -f $(DESTDIR)$(mandir)/$(mansubdir)8/sftp-server.8
-       -rm -f $(DESTDIR)$(mandir)/$(mansubdir)8/ssh-keysign.8
-       -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/slogin.1
diff --git a/crypto/openssh/Makefile.inc b/crypto/openssh/Makefile.inc
deleted file mode 100644 (file)
index c68f59a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#      $OpenBSD: Makefile.inc,v 1.23 2002/03/06 00:23:27 markus Exp $
-
-CFLAGS+=       -I${.CURDIR}/..
-
-CDIAGFLAGS=    -Wall
-#CDIAGFLAGS+=  -Werror
-CDIAGFLAGS+=   -Wpointer-arith
-CDIAGFLAGS+=   -Wno-uninitialized
-#CDIAGFLAGS+=  -Wstrict-prototypes
-CDIAGFLAGS+=   -Wmissing-prototypes
-CDIAGFLAGS+=   -Wunused
-
-#DEBUG=-g
-
-#CFLAGS+=      -DSMARTCARD
-#LDADD+=       -lsectok
-
-.include <bsd.obj.mk>
-
-.if exists(${.CURDIR}/../lib/${__objdir})
-LDADD+=         -L${.CURDIR}/../lib/${__objdir} -lssh
-DPADD+=         ${.CURDIR}/../lib/${__objdir}/libssh.a
-.else
-LDADD+=         -L${.CURDIR}/../lib -lssh
-DPADD+=         ${.CURDIR}/../lib/libssh.a
-.endif
diff --git a/crypto/openssh/OVERVIEW b/crypto/openssh/OVERVIEW
deleted file mode 100644 (file)
index ff03eca..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-[Note: This file has not been updated for OpenSSH versions after
-OpenSSH-1.2 and should be considered OBSOLETE.  It has been left in
-the distribution because some of its information may still be useful
-to developers.]
-
-This document is intended for those who wish to read the ssh source
-code.  This tries to give an overview of the structure of the code.
-      
-Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>
-Updated 17 Nov 1995.
-Updated 19 Oct 1999 for OpenSSH-1.2
-Updated 20 May 2001 note obsolete for > OpenSSH-1.2
-
-The software consists of ssh (client), sshd (server), scp, sdist, and
-the auxiliary programs ssh-keygen, ssh-agent, ssh-add, and
-make-ssh-known-hosts.  The main program for each of these is in a .c
-file with the same name.
-
-There are some subsystems/abstractions that are used by a number of
-these programs.
-
-  Buffer manipulation routines
-      
-    - These provide an arbitrary size buffer, where data can be appended.
-      Data can be consumed from either end.  The code is used heavily
-      throughout ssh.  The basic buffer manipulation functions are in
-      buffer.c (header buffer.h), and additional code to manipulate specific
-      data types is in bufaux.c.
-
-  Compression Library
-  
-    - Ssh uses the GNU GZIP compression library (ZLIB).
-
-  Encryption/Decryption
-
-    - Ssh contains several encryption algorithms.  These are all
-      accessed through the cipher.h interface.  The interface code is
-      in cipher.c, and the implementations are in libc.
-
-  Multiple Precision Integer Library
-
-    - Uses the SSLeay BIGNUM sublibrary.
-    - Some auxiliary functions for mp-int manipulation are in mpaux.c.
-
-  Random Numbers
-
-    - Uses arc4random() and such.
-
-  RSA key generation, encryption, decryption
-
-    - Ssh uses the RSA routines in libssl.
-
-  RSA key files
-
-    - RSA keys are stored in files with a special format.  The code to
-      read/write these files is in authfile.c.  The files are normally
-      encrypted with a passphrase.  The functions to read passphrases
-      are in readpass.c (the same code is used to read passwords).
-
-  Binary packet protocol
-
-    - The ssh binary packet protocol is implemented in packet.c.  The
-      code in packet.c does not concern itself with packet types or their
-      execution; it contains code to build packets, to receive them and
-      extract data from them, and the code to compress and/or encrypt
-      packets.  CRC code comes from crc32.c.
-
-    - The code in packet.c calls the buffer manipulation routines
-      (buffer.c, bufaux.c), compression routines (compress.c, zlib),
-      and the encryption routines.
-
-  X11, TCP/IP, and Agent forwarding
-
-    - Code for various types of channel forwarding is in channels.c.
-      The file defines a generic framework for arbitrary communication
-      channels inside the secure channel, and uses this framework to
-      implement X11 forwarding, TCP/IP forwarding, and authentication
-      agent forwarding.
-      The new, Protocol 1.5, channel close implementation is in nchan.c
-
-  Authentication agent
-
-    - Code to communicate with the authentication agent is in authfd.c.
-
-  Authentication methods
-
-    - Code for various authentication methods resides in auth-*.c
-      (auth-passwd.c, auth-rh-rsa.c, auth-rhosts.c, auth-rsa.c).  This
-      code is linked into the server.  The routines also manipulate
-      known hosts files using code in hostfile.c.  Code in canohost.c
-      is used to retrieve the canonical host name of the remote host.
-      Code in match.c is used to match host names.  
-
-    - In the client end, authentication code is in sshconnect.c.  It
-      reads Passwords/passphrases using code in readpass.c.  It reads
-      RSA key files with authfile.c.  It communicates the
-      authentication agent using authfd.c.
-
-  The ssh client
-
-    - The client main program is in ssh.c.  It first parses arguments
-      and reads configuration (readconf.c), then calls ssh_connect (in
-      sshconnect.c) to open a connection to the server (possibly via a
-      proxy), and performs authentication (ssh_login in sshconnect.c).
-      It then makes any pty, forwarding, etc. requests.  It may call
-      code in ttymodes.c to encode current tty modes.  Finally it
-      calls client_loop in clientloop.c.  This does the real work for
-      the session.
-
-    - The client is suid root.  It tries to temporarily give up this
-      rights while reading the configuration data.  The root
-      privileges are only used to make the connection (from a
-      privileged socket).  Any extra privileges are dropped before
-      calling ssh_login.
-
-  Pseudo-tty manipulation and tty modes
-
-    - Code to allocate and use a pseudo tty is in pty.c.  Code to
-      encode and set terminal modes is in ttymodes.c.
-
-  Logging in (updating utmp, lastlog, etc.)
-
-    - The code to do things that are done when a user logs in are in
-      login.c.  This includes things such as updating the utmp, wtmp,
-      and lastlog files.  Some of the code is in sshd.c.
-
-  Writing to the system log and terminal
-
-    - The programs use the functions fatal(), log(), debug(), error()
-      in many places to write messages to system log or user's
-      terminal.  The implementation that logs to system log is in
-      log-server.c; it is used in the server program.  The other
-      programs use an implementation that sends output to stderr; it
-      is in log-client.c.  The definitions are in ssh.h.
-
-  The sshd server (daemon)
-
-    - The sshd daemon starts by processing arguments and reading the
-      configuration file (servconf.c).  It then reads the host key,
-      starts listening for connections, and generates the server key.
-      The server key will be regenerated every hour by an alarm.
-
-    - When the server receives a connection, it forks, disables the
-      regeneration alarm, and starts communicating with the client.
-      They first perform identification string exchange, then
-      negotiate encryption, then perform authentication, preparatory
-      operations, and finally the server enters the normal session
-      mode by calling server_loop in serverloop.c.  This does the real
-      work, calling functions in other modules.
-      
-    - The code for the server is in sshd.c.  It contains a lot of
-      stuff, including:
-        - server main program
-       - waiting for connections
-       - processing new connection
-       - authentication
-       - preparatory operations
-       - building up the execution environment for the user program
-       - starting the user program.
-
-  Auxiliary files
-
-    - There are several other files in the distribution that contain
-      various auxiliary routines:
-        ssh.h       the main header file for ssh (various definitions)
-        getput.h     byte-order independent storage of integers
-        includes.h   includes most system headers.  Lots of #ifdefs.
-       tildexpand.c expand tilde in file names
-       uidswap.c    uid-swapping
-       xmalloc.c    "safe" malloc routines
diff --git a/crypto/openssh/README b/crypto/openssh/README
deleted file mode 100644 (file)
index 3c54c47..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-- 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 (for Linux and Solaris), 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 Linux, Solaris, HP-UX, NetBSD 
-and Irix. Support for AIX, SCO, NeXT and other Unices is underway. 
-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.
-
-If you are a citizen of an USA-embargoed country to which export of 
-cryptographic products is restricted, then please refrain from sending 
-crypto-related code or patches to the list. We cannot accept them.
-Other code contribution are accepted, 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.kernel.org/pub/linux/libs/pam/ (PAM 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
-
-$Id: README,v 1.50 2001/12/24 03:17:21 djm Exp $
diff --git a/crypto/openssh/README.privsep b/crypto/openssh/README.privsep
deleted file mode 100644 (file)
index ced943f..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-Privilege separation, or privsep, is method in OpenSSH by which
-operations that require root privilege are performed by a separate
-privileged monitor process.  Its purpose is to prevent privilege
-escalation by containing corruption to an unprivileged process.  
-More information is available at:
-       http://www.citi.umich.edu/u/provos/ssh/privsep.html
-
-Privilege separation is now enabled by default; see the
-UsePrivilegeSeparation option in sshd_config(5).
-
-On systems which lack mmap or anonymous (MAP_ANON) memory mapping, 
-compression must be disabled in order for privilege separation to 
-function.
-
-When privsep is enabled, during the pre-authentication phase sshd will
-chroot(2) to "/var/empty" and change its privileges to the "sshd" user
-and its primary group.  sshd is a pseudo-account that should not be
-used by other daemons, and must be locked and should contain a
-"nologin" or invalid shell.
-
-You should do something like the following to prepare the privsep
-preauth environment:
-
-       # mkdir /var/empty
-       # chown root:sys /var/empty
-       # chmod 755 /var/empty
-       # groupadd sshd
-       # useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd
-
-/var/empty should not contain any files.
-
-configure supports the following options to change the default
-privsep user and chroot directory:
-
-  --with-privsep-path=xxx Path for privilege separation chroot
-  --with-privsep-user=user Specify non-privileged user for privilege separation
-
-Privsep requires operating system support for file descriptor passing.
-Compression will be disabled on systems without a working mmap MAP_ANON.
-
-PAM-enabled OpenSSH is known to function with privsep on Linux.  
-It does not function on HP-UX with a trusted system
-configuration.  PAMAuthenticationViaKbdInt does not function with
-privsep.
-
-Note that for a normal interactive login with a shell, enabling privsep
-will require 1 additional process per login session.
-
-Given the following process listing (from HP-UX):
-
-     UID   PID  PPID  C    STIME TTY       TIME COMMAND
-    root  1005     1  0 10:45:17 ?         0:08 /opt/openssh/sbin/sshd -u0
-    root  6917  1005  0 15:19:16 ?         0:00 sshd: stevesk [priv]
- stevesk  6919  6917  0 15:19:17 ?         0:03 sshd: stevesk@2
- stevesk  6921  6919  0 15:19:17 pts/2     0:00 -bash
-
-process 1005 is the sshd process listening for new connections.
-process 6917 is the privileged monitor process, 6919 is the user owned
-sshd process and 6921 is the shell process.
-
-$Id: README.privsep,v 1.10 2002/06/26 00:43:57 stevesk Exp $
diff --git a/crypto/openssh/README.smartcard b/crypto/openssh/README.smartcard
deleted file mode 100644 (file)
index 29bec8d..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-How to use smartcards with OpenSSH?
-
-OpenSSH contains experimental support for authentication using Cyberflex
-smartcards and TODOS card readers, in addition to the cards with PKCS#15
-structure supported by OpenSC.
-
-WARNING: Smartcard support is still in development.
-Keyfile formats, etc are still subject to change.
-
-To enable sectok support:
-
-(1) install sectok:
-
-       Sources and instructions are available from
-       http://www.citi.umich.edu/projects/smartcard/sectok.html
-
-(2) enable sectok support in OpenSSH:
-
-       $ ./configure --with-sectok[=/path/to/libsectok] [options]
-
-(3) load the Java Cardlet to the Cyberflex card:
-
-       $ sectok
-       sectok> login -d
-       sectok> jload /usr/libdata/ssh/Ssh.bin
-       sectok> quit
-
-(4) load a RSA key to the card:
-
-       Please don't use your production RSA keys, since
-       with the current version of sectok/ssh-keygen
-       the private key file is still readable.
-
-       $ ssh-keygen -f /path/to/rsakey -U <readernum, eg. 0>
-
-       In spite of the name, this does not generate a key.
-       It just loads an already existing key on to the card.
-
-(5) optional:
-
-       Change the card password so that only you can
-       read the private key:
-
-       $ sectok
-       sectok> login -d
-       sectok> setpass
-       sectok> quit
-
-       This prevents reading the key but not use of the
-       key by the card applet.
-
-       Do not forget the passphrase.  There is no way to
-       recover if you do.
-
-       IMPORTANT WARNING: If you attempt to login with the
-       wrong passphrase three times in a row, you will
-       destroy your card.
-
-To enable OpenSC support:
-
-(1) install OpenSC:
-
-       Sources and instructions are available from
-       http://www.opensc.org/
-
-(2) enable OpenSC support in OpenSSH:
-
-       $ ./configure --with-opensc[=/path/to/opensc] [options]
-
-(3) load a RSA key to the card:
-
-       Not supported yet.
-
-Common smartcard options:
-
-(1) tell the ssh client to use the card reader:
-
-       $ ssh -I <readernum, eg. 0> otherhost
-
-(2) or tell the agent (don't forget to restart) to use the smartcard:
-
-       $ ssh-add -s <readernum, eg. 0>
-
--markus,
-Sat Apr 13 13:48:10 EEST 2002
diff --git a/crypto/openssh/RFC.nroff b/crypto/openssh/RFC.nroff
deleted file mode 100644 (file)
index bf7146a..0000000
+++ /dev/null
@@ -1,1780 +0,0 @@
-.\" -*- nroff -*-
-.\"
-.\" $OpenBSD: RFC.nroff,v 1.2 2000/10/16 09:38:44 djm Exp $
-.\"
-.pl 10.0i
-.po 0
-.ll 7.2i
-.lt 7.2i
-.nr LL 7.2i
-.nr LT 7.2i
-.ds LF Ylonen
-.ds RF FORMFEED[Page %]
-.ds CF
-.ds LH Internet-Draft
-.ds RH 15 November 1995
-.ds CH SSH (Secure Shell) Remote Login Protocol
-.na
-.hy 0
-.in 0
-Network Working Group                                         T. Ylonen
-Internet-Draft                        Helsinki University of Technology
-draft-ylonen-ssh-protocol-00.txt                       15 November 1995
-Expires: 15 May 1996
-
-.in 3
-
-.ce
-The SSH (Secure Shell) Remote Login Protocol
-
-.ti 0
-Status of This Memo
-
-This document is an Internet-Draft.   Internet-Drafts  are  working
-documents of the Internet Engineering Task Force (IETF), its areas,
-and its working groups.  Note that other groups may also distribute
-working documents as Internet-Drafts.
-
-Internet-Drafts are draft documents valid  for  a  maximum  of  six
-months  and  may  be updated, replaced, or obsoleted by other docu-
-ments at any time.  It is inappropriate to use  Internet-Drafts  as
-reference  material  or  to  cite them other than as ``work in pro-
-gress.''
-
-To learn the current status of any Internet-Draft, please check the
-``1id-abstracts.txt'' listing contained in the Internet- Drafts Shadow
-Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
-munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
-ftp.isi.edu (US West Coast).
-
-The distribution of  this  memo  is  unlimited.
-
-.ti 0
-Introduction
-
-SSH (Secure Shell) is a program to log into another computer over a
-network, to execute commands in a remote machine, and to move files
-from one machine to another.  It provides strong authentication and
-secure communications over insecure networks.  Its features include
-the following:
-.IP o
-Closes several security holes (e.g., IP, routing, and DNS spoofing).
-New authentication methods: .rhosts together with RSA [RSA] based host
-authentication, and pure RSA authentication.
-.IP o
-All communications are automatically and transparently encrypted.
-Encryption is also used to protect integrity.
-.IP o
-X11 connection forwarding provides secure X11 sessions.
-.IP o
-Arbitrary TCP/IP ports can be redirected over the encrypted channel
-in both directions.
-.IP o
-Client RSA-authenticates the server machine in the beginning of every
-connection to prevent trojan horses (by routing or DNS spoofing) and
-man-in-the-middle attacks, and the server RSA-authenticates the client
-machine before accepting .rhosts or /etc/hosts.equiv authentication
-(to prevent DNS, routing, or IP spoofing).
-.IP o
-An authentication agent, running in the user's local workstation or
-laptop, can be used to hold the user's RSA authentication keys.
-.RT
-
-The goal has been to make the software as easy to use as possible for
-ordinary users.  The protocol has been designed to be as secure as
-possible while making it possible to create implementations that
-are easy to use and install.  The sample implementation has a number
-of convenient features that are not described in this document as they
-are not relevant for the protocol.
-
-
-.ti 0
-Overview of the Protocol
-
-The software consists of a server program running on a server machine,
-and a client program running on a client machine (plus a few auxiliary
-programs).  The machines are connected by an insecure IP [RFC0791]
-network (that can be monitored, tampered with, and spoofed by hostile
-parties).
-
-A connection is always initiated by the client side.  The server
-listens on a specific port waiting for connections.  Many clients may
-connect to the same server machine.
-
-The client and the server are connected via a TCP/IP [RFC0793] socket
-that is used for bidirectional communication.  Other types of
-transport can be used but are currently not defined.
-
-When the client connects the server, the server accepts the connection
-and responds by sending back its version identification string.  The
-client parses the server's identification, and sends its own
-identification.  The purpose of the identification strings is to
-validate that the connection was to the correct port, declare the
-protocol version number used, and to declare the software version used
-on each side (for debugging purposes).  The identification strings are
-human-readable.  If either side fails to understand or support the
-other side's version, it closes the connection.
-
-After the protocol identification phase, both sides switch to a packet
-based binary protocol.  The server starts by sending its host key
-(every host has an RSA key used to authenticate the host), server key
-(an RSA key regenerated every hour), and other information to the
-client.  The client then generates a 256 bit session key, encrypts it
-using both RSA keys (see below for details), and sends the encrypted
-session key and selected cipher type to the server.  Both sides then
-turn on encryption using the selected algorithm and key.  The server
-sends an encrypted confirmation message to the client.
-
-The client then authenticates itself using any of a number of
-authentication methods.  The currently supported authentication
-methods are .rhosts or /etc/hosts.equiv authentication (disabled by
-default), the same with RSA-based host authentication, RSA
-authentication, and password authentication.
-
-After successful authentication, the client makes a number of requests
-to prepare for the session.  Typical requests include allocating a
-pseudo tty, starting X11 [X11] or TCP/IP port forwarding, starting
-authentication agent forwarding, and executing the shell or a command.
-
-When a shell or command is executed, the connection enters interactive
-session mode.  In this mode, data is passed in both directions, 
-new forwarded connections may be opened, etc.  The interactive session
-normally terminates when the server sends the exit status of the
-program to the client.
-
-
-The protocol makes several reservations for future extensibility.
-First of all, the initial protocol identification messages include the
-protocol version number.  Second, the first packet by both sides
-includes a protocol flags field, which can be used to agree on
-extensions in a compatible manner.  Third, the authentication and
-session preparation phases work so that the client sends requests to
-the server, and the server responds with success or failure.  If the
-client sends a request that the server does not support, the server
-simply returns failure for it.  This permits compatible addition of
-new authentication methods and preparation operations.  The
-interactive session phase, on the other hand, works asynchronously and
-does not permit the use of any extensions (because there is no easy
-and reliable way to signal rejection to the other side and problems
-would be hard to debug).  Any compatible extensions to this phase must
-be agreed upon during any of the earlier phases.
-
-.ti 0
-The Binary Packet Protocol
-
-After the protocol identification strings, both sides only send
-specially formatted packets.  The packet layout is as follows:
-.IP o
-Packet length: 32 bit unsigned integer, coded as four 8-bit bytes, msb
-first.  Gives the length of the packet, not including the length field
-and padding.  The maximum length of a packet (not including the length
-field and padding) is 262144 bytes.
-.IP o
-Padding: 1-8 bytes of random data (or zeroes if not encrypting).  The
-amount of padding is (8 - (length % 8)) bytes (where % stands for the
-modulo operator).  The rationale for always having some random padding
-at the beginning of each packet is to make known plaintext attacks
-more difficult.
-.IP o
-Packet type: 8-bit unsigned byte.  The value 255 is reserved for
-future extension.
-.IP o
-Data: binary data bytes, depending on the packet type.  The number of
-data bytes is the "length" field minus 5.
-.IP o
-Check bytes: 32-bit crc, four 8-bit bytes, msb first.  The crc is the
-Cyclic Redundancy Check, with the polynomial 0xedb88320, of the
-Padding, Packet type, and Data fields.  The crc is computed before
-any encryption.
-.RT
-
-The packet, except for the length field, may be encrypted using any of
-a number of algorithms.  The length of the encrypted part (Padding +
-Type + Data + Check) is always a multiple of 8 bytes.  Typically the
-cipher is used in a chained mode, with all packets chained together as
-if it was a single data stream (the length field is never included in
-the encryption process).  Details of encryption are described below.
-
-When the session starts, encryption is turned off.  Encryption is
-enabled after the client has sent the session key.  The encryption
-algorithm to use is selected by the client.
-
-
-.ti 0
-Packet Compression
-
-If compression is supported (it is an optional feature, see
-SSH_CMSG_REQUEST_COMPRESSION below), the packet type and data fields
-of the packet are compressed using the gzip deflate algorithm [GZIP].
-If compression is in effect, the packet length field indicates the
-length of the compressed data, plus 4 for the crc.  The amount of
-padding is computed from the compressed data, so that the amount of
-data to be encrypted becomes a multiple of 8 bytes.
-
-When compressing, the packets (type + data portions) in each direction
-are compressed as if they formed a continuous data stream, with only the
-current compression block flushed between packets.  This corresponds
-to the GNU ZLIB library Z_PARTIAL_FLUSH option.  The compression
-dictionary is not flushed between packets.  The two directions are
-compressed independently of each other.
-
-
-.ti 0
-Packet Encryption
-
-The protocol supports several encryption methods.  During session
-initialization, the server sends a bitmask of all encryption methods
-that it supports, and the client selects one of these methods.  The
-client also generates a 256-bit random session key (32 8-bit bytes) and
-sends it to the server.
-
-The encryption methods supported by the current implementation, and
-their codes are:
-.TS
-center;
-l r l.
-SSH_CIPHER_NONE        0          No encryption
-SSH_CIPHER_IDEA        1          IDEA in CFB mode
-SSH_CIPHER_DES 2          DES in CBC mode
-SSH_CIPHER_3DES        3          Triple-DES in CBC mode
-SSH_CIPHER_TSS 4          An experimental stream cipher
-SSH_CIPHER_RC4 5          RC4
-.TE
-
-All implementations are required to support SSH_CIPHER_DES and
-SSH_CIPHER_3DES.  Supporting SSH_CIPHER_IDEA, SSH_CIPHER_RC4, and
-SSH_CIPHER_NONE is recommended.  Support for SSH_CIPHER_TSS is
-optional (and it is not described in this document).  Other ciphers
-may be added at a later time; support for them is optional.
-
-For encryption, the encrypted portion of the packet is considered a
-linear byte stream.  The length of the stream is always a multiple of
-8.  The encrypted portions of consecutive packets (in the same
-direction) are encrypted as if they were a continuous buffer (that is,
-any initialization vectors are passed from the previous packet to the
-next packet).  Data in each direction is encrypted independently.
-.IP SSH_CIPHER_DES
-The key is taken from the first 8 bytes of the session key.  The least
-significant bit of each byte is ignored.  This results in 56 bits of
-key data.  DES [DES] is used in CBC mode.  The iv (initialization vector) is
-initialized to all zeroes.
-.IP SSH_CIPHER_3DES
-The variant of triple-DES used here works as follows: there are three
-independent DES-CBC ciphers, with independent initialization vectors.
-The data (the whole encrypted data stream) is first encrypted with the
-first cipher, then decrypted with the second cipher, and finally
-encrypted with the third cipher.  All these operations are performed
-in CBC mode.
-
-The key for the first cipher is taken from the first 8 bytes of the
-session key; the key for the next cipher from the next 8 bytes, and
-the key for the third cipher from the following 8 bytes.  All three
-initialization vectors are initialized to zero.
-
-(Note: the variant of 3DES used here differs from some other
-descriptions.)
-.IP SSH_CIPHER_IDEA
-The key is taken from the first 16 bytes of the session key.  IDEA
-[IDEA] is used in CFB mode.  The initialization vector is initialized
-to all zeroes.
-.IP SSH_CIPHER_TSS
-All 32 bytes of the session key are used as the key.
-
-There is no reference available for the TSS algorithm; it is currently
-only documented in the sample implementation source code.  The
-security of this cipher is unknown (but it is quite fast).  The cipher
-is basically a stream cipher that uses MD5 as a random number
-generator and takes feedback from the data.
-.IP SSH_CIPHER_RC4
-The first 16 bytes of the session key are used as the key for the
-server to client direction.  The remaining 16 bytes are used as the
-key for the client to server direction.  This gives independent
-128-bit keys for each direction.
-
-This algorithm is the alleged RC4 cipher posted to the Usenet in 1995.
-It is widely believed to be equivalent with the original RSADSI RC4
-cipher.  This is a very fast algorithm.
-.RT
-
-
-.ti 0
-Data Type Encodings
-
-The Data field of each packet contains data encoded as described in
-this section.  There may be several data items; each item is coded as
-described here, and their representations are concatenated together
-(without any alignment or padding).
-
-Each data type is stored as follows:
-.IP "8-bit byte"
-The byte is stored directly as a single byte.
-.IP "32-bit unsigned integer"
-Stored in 4 bytes, msb first.
-.IP "Arbitrary length binary string"
-First 4 bytes are the length of the string, msb first (not including
-the length itself).  The following "length" bytes are the string
-value.  There are no terminating null characters.
-.IP "Multiple-precision integer"
-First 2 bytes are the number of bits in the integer, msb first (for
-example, the value 0x00012345 would have 17 bits).  The value zero has
-zero bits.  It is permissible that the number of bits be larger than the
-real number of bits.
-
-The number of bits is followed by (bits + 7) / 8 bytes of binary data,
-msb first, giving the value of the integer.
-.RT
-
-
-.ti 0
-TCP/IP Port Number and Other Options
-
-The server listens for connections on TCP/IP port 22.
-
-The client may connect the server from any port.  However, if the
-client wishes to use any form of .rhosts or /etc/hosts.equiv
-authentication, it must connect from a privileged port (less than
-1024).
-
-For the IP Type of Service field [RFC0791], it is recommended that
-interactive sessions (those having a user terminal or forwarding X11
-connections) use the IPTOS_LOWDELAY, and non-interactive connections
-use IPTOS_THROUGHPUT.
-
-It is recommended that keepalives are used, because otherwise programs
-on the server may never notice if the other end of the connection is
-rebooted.
-
-
-.ti 0
-Protocol Version Identification
-
-After the socket is opened, the server sends an identification string,
-which is of the form
-"SSH-<protocolmajor>.<protocolminor>-<version>\\n", where
-<protocolmajor> and <protocolminor> are integers and specify the
-protocol version number (not software distribution version).
-<version> is server side software version string (max 40 characters);
-it is not interpreted by the remote side but may be useful for
-debugging.
-
-The client parses the server's string, and sends a corresponding
-string with its own information in response.  If the server has lower
-version number, and the client contains special code to emulate it,
-the client responds with the lower number; otherwise it responds with
-its own number.  The server then compares the version number the
-client sent with its own, and determines whether they can work
-together.  The server either disconnects, or sends the first packet
-using the binary packet protocol and both sides start working
-according to the lower of the protocol versions.
-
-By convention, changes which keep the protocol compatible with
-previous versions keep the same major protocol version; changes that
-are not compatible increment the major version (which will hopefully
-never happen).  The version described in this document is 1.3.
-
-The client will 
-
-.ti 0
-Key Exchange and Server Host Authentication
-
-The first message sent by the server using the packet protocol is
-SSH_SMSG_PUBLIC_KEY.  It declares the server's host key, server public
-key, supported ciphers, supported authentication methods, and flags
-for protocol extensions.  It also contains a 64-bit random number
-(cookie) that must be returned in the client's reply (to make IP
-spoofing more difficult).  No encryption is used for this message.
-
-Both sides compute a session id as follows.  The modulus of the server
-key is interpreted as a byte string (without explicit length field,
-with minimum length able to hold the whole value), most significant
-byte first.  This string is concatenated with the server host key
-interpreted the same way.  Additionally, the cookie is concatenated
-with this.  Both sides compute MD5 of the resulting string.  The
-resulting 16 bytes (128 bits) are stored by both parties and are
-called the session id.
-
-The client responds with a SSH_CMSG_SESSION_KEY message, which
-contains the selected cipher type, a copy of the 64-bit cookie sent by
-the server, client's protocol flags, and a session key encrypted
-with both the server's host key and server key.  No encryption is used
-for this message.
-
-The session key is 32 8-bit bytes (a total of 256 random bits
-generated by the client).  The client first xors the 16 bytes of the
-session id with the first 16 bytes of the session key.  The resulting
-string is then encrypted using the smaller key (one with smaller
-modulus), and the result is then encrypted using the other key.  The
-number of bits in the public modulus of the two keys must differ by at
-least 128 bits.
-
-At each encryption step, a multiple-precision integer is constructed
-from the data to be encrypted as follows (the integer is here
-interpreted as a sequence of bytes, msb first; the number of bytes is
-the number of bytes needed to represent the modulus).
-
-The most significant byte (which is only partial as the value must be
-less than the public modulus, which is never a power of two) is zero.
-
-The next byte contains the value 2 (which stands for public-key
-encrypted data in the PKCS standard [PKCS#1]).  Then, there are
-non-zero random bytes to fill any unused space, a zero byte, and the
-data to be encrypted in the least significant bytes, the last byte of
-the data in the least significant byte.
-
-This algorithm is used twice.  First, it is used to encrypt the 32
-random bytes generated by the client to be used as the session key
-(xored by the session id).  This value is converted to an integer as
-described above, and encrypted with RSA using the key with the smaller
-modulus.  The resulting integer is converted to a byte stream, msb
-first.  This byte stream is padded and encrypted identically using the
-key with the larger modulus.
-
-After the client has sent the session key, it starts to use the
-selected algorithm and key for decrypting any received packets, and
-for encrypting any sent packets.  Separate ciphers are used for
-different directions (that is, both directions have separate
-initialization vectors or other state for the ciphers).
-
-When the server has received the session key message, and has turned
-on encryption, it sends a SSH_SMSG_SUCCESS message to the client.
-
-The recommended size of the host key is 1024 bits, and 768 bits for
-the server key.  The minimum size is 512 bits for the smaller key.
-
-
-.ti 0
-Declaring the User Name
-
-The client then sends a SSH_CMSG_USER message to the server.  This
-message specifies the user name to log in as.
-
-The server validates that such a user exists, checks whether
-authentication is needed, and responds with either SSH_SMSG_SUCCESS or
-SSH_SMSG_FAILURE.  SSH_SMSG_SUCCESS indicates that no authentication
-is needed for this user (no password), and authentication phase has
-now been completed.  SSH_SMSG_FAILURE indicates that authentication is
-needed (or the user does not exist).
-
-If the user does not exist, it is recommended that this returns
-failure, but the server keeps reading messages from the client, and
-responds to any messages (except SSH_MSG_DISCONNECT, SSH_MSG_IGNORE,
-and SSH_MSG_DEBUG) with SSH_SMSG_FAILURE.  This way the client cannot
-be certain whether the user exists.
-
-
-.ti 0
-Authentication Phase
-
-Provided the server didn't immediately accept the login, an
-authentication exchange begins.  The client sends messages to the
-server requesting different types of authentication in arbitrary order as
-many times as desired (however, the server may close the connection
-after a timeout).  The server always responds with SSH_SMSG_SUCCESS if
-it has accepted the authentication, and with SSH_SMSG_FAILURE if it has
-denied authentication with the requested method or it does not
-recognize the message.  Some authentication methods cause an exchange
-of further messages before the final result is sent.  The
-authentication phase ends when the server responds with success.
-
-The recommended value for the authentication timeout (timeout before
-disconnecting if no successful authentication has been made) is 5
-minutes.
-
-The following authentication methods are currently supported:
-.TS
-center;
-l r l.
-SSH_AUTH_RHOSTS        1       .rhosts or /etc/hosts.equiv
-SSH_AUTH_RSA   2       pure RSA authentication
-SSH_AUTH_PASSWORD      3       password authentication
-SSH_AUTH_RHOSTS_RSA    4       .rhosts with RSA host authentication
-.TE
-.IP SSH_AUTH_RHOSTS
-
-This is the authentication method used by rlogin and rsh [RFC1282].
-
-The client sends SSH_CMSG_AUTH_RHOSTS with the client-side user name
-as an argument.
-
-The server checks whether to permit authentication.  On UNIX systems,
-this is usually done by checking /etc/hosts.equiv, and .rhosts in the
-user's home directory.  The connection must come from a privileged
-port.
-
-It is recommended that the server checks that there are no IP options
-(such as source routing) specified for the socket before accepting
-this type of authentication.  The client host name should be
-reverse-mapped and then forward mapped to ensure that it has the
-proper IP-address.
-
-This authentication method trusts the remote host (root on the remote
-host can pretend to be any other user on that host), the name
-services, and partially the network: anyone who can see packets coming
-out from the server machine can do IP-spoofing and pretend to be any
-machine; however, the protocol prevents blind IP-spoofing (which used
-to be possible with rlogin).
-
-Many sites probably want to disable this authentication method because
-of the fundamental insecurity of conventional .rhosts or
-/etc/hosts.equiv authentication when faced with spoofing.  It is
-recommended that this method not be supported by the server by
-default.
-.IP SSH_AUTH_RHOSTS_RSA
-
-In addition to conventional .rhosts and hosts.equiv authentication,
-this method additionally requires that the client host be
-authenticated using RSA.
-
-The client sends SSH_CMSG_AUTH_RHOSTS_RSA specifying the client-side
-user name, and the public host key of the client host.
-
-The server first checks if normal .rhosts or /etc/hosts.equiv
-authentication would be accepted, and if not, responds with
-SSH_SMSG_FAILURE.  Otherwise, it checks whether it knows the host key
-for the client machine (using the same name for the host that was used
-for checking the .rhosts and /etc/hosts.equiv files).  If it does not
-know the RSA key for the client, access is denied and SSH_SMSG_FAILURE
-is sent.
-
-If the server knows the host key of the client machine, it verifies
-that the given host key matches that known for the client.  If not,
-access is denied and SSH_SMSG_FAILURE is sent.
-
-The server then sends a SSH_SMSG_AUTH_RSA_CHALLENGE message containing
-an encrypted challenge for the client.  The challenge is 32 8-bit
-random bytes (256 bits).  When encrypted, the highest (partial) byte
-is left as zero, the next byte contains the value 2, the following are
-non-zero random bytes, followed by a zero byte, and the challenge put
-in the remaining bytes.  This is then encrypted using RSA with the
-client host's public key.  (The padding and encryption algorithm is
-the same as that used for the session key.)
-
-The client decrypts the challenge using its private host key,
-concatenates this with the session id, and computes an MD5 checksum
-of the resulting 48 bytes.  The MD5 output is returned as 16 bytes in
-a SSH_CMSG_AUTH_RSA_RESPONSE message.  (MD5 is used to deter chosen
-plaintext attacks against RSA; the session id binds it to a specific
-session).
-
-The server verifies that the MD5 of the decrypted challenge returned by
-the client matches that of the original value, and sends SSH_SMSG_SUCCESS if
-so.  Otherwise it sends SSH_SMSG_FAILURE and refuses the
-authentication attempt.
-
-This authentication method trusts the client side machine in that root
-on that machine can pretend to be any user on that machine.
-Additionally, it trusts the client host key.  The name and/or IP
-address of the client host is only used to select the public host key.
-The same host name is used when scanning .rhosts or /etc/hosts.equiv
-and when selecting the host key.  It would in principle be possible to
-eliminate the host name entirely and substitute it directly by the
-host key.  IP and/or DNS [RFC1034] spoofing can only be used
-to pretend to be a host for which the attacker has the private host
-key.
-.IP SSH_AUTH_RSA
-
-The idea behind RSA authentication is that the server recognizes the
-public key offered by the client, generates a random challenge, and
-encrypts the challenge with the public key.  The client must then
-prove that it has the corresponding private key by decrypting the
-challenge.
-
-The client sends SSH_CMSG_AUTH_RSA with public key modulus (n) as an
-argument.
-
-The server may respond immediately with SSH_SMSG_FAILURE if it does
-not permit authentication with this key.  Otherwise it generates a
-challenge, encrypts it using the user's public key (stored on the
-server and identified using the modulus), and sends
-SSH_SMSG_AUTH_RSA_CHALLENGE with the challenge (mp-int) as an
-argument.
-
-The challenge is 32 8-bit random bytes (256 bits).  When encrypted,
-the highest (partial) byte is left as zero, the next byte contains the
-value 2, the following are non-zero random bytes, followed by a zero
-byte, and the challenge put in the remaining bytes.  This is then
-encrypted with the public key.  (The padding and encryption algorithm
-is the same as that used for the session key.)
-
-The client decrypts the challenge using its private key, concatenates
-it with the session id, and computes an MD5 checksum of the resulting
-48 bytes.  The MD5 output is returned as 16 bytes in a
-SSH_CMSG_AUTH_RSA_RESPONSE message.  (Note that the MD5 is necessary
-to avoid chosen plaintext attacks against RSA; the session id binds it
-to a specific session.)
-
-The server verifies that the MD5 of the decrypted challenge returned
-by the client matches that of the original value, and sends
-SSH_SMSG_SUCCESS if so.  Otherwise it sends SSH_SMSG_FAILURE and
-refuses the authentication attempt.
-
-This authentication method does not trust the remote host, the
-network, name services, or anything else.  Authentication is based
-solely on the possession of the private identification keys.  Anyone
-in possession of the private keys can log in, but nobody else.
-
-The server may have additional requirements for a successful
-authentiation.  For example, to limit damage due to a compromised RSA
-key, a server might restrict access to a limited set of hosts.
-.IP SSH_AUTH_PASSWORD
-
-The client sends a SSH_CMSG_AUTH_PASSWORD message with the plain text
-password.  (Note that even though the password is plain text inside
-the message, it is normally encrypted by the packet mechanism.)
-
-The server verifies the password, and sends SSH_SMSG_SUCCESS if
-authentication was accepted and SSH_SMSG_FAILURE otherwise.
-
-Note that the password is read from the user by the client; the user
-never interacts with a login program.
-
-This authentication method does not trust the remote host, the
-network, name services or anything else.  Authentication is based
-solely on the possession of the password.  Anyone in possession of the
-password can log in, but nobody else.
-.RT
-
-.ti 0
-Preparatory Operations
-
-After successful authentication, the server waits for a request from
-the client, processes the request, and responds with SSH_SMSG_SUCCESS
-whenever a request has been successfully processed.  If it receives a
-message that it does not recognize or it fails to honor a request, it
-returns SSH_SMSG_FAILURE.  It is expected that new message types might
-be added to this phase in future.
-
-The following messages are currently defined for this phase.
-.IP SSH_CMSG_REQUEST_COMPRESSION
-Requests that compression be enabled for this session.  A
-gzip-compatible compression level (1-9) is passed as an argument.
-.IP SSH_CMSG_REQUEST_PTY
-Requests that a pseudo terminal device be allocated for this session.
-The user terminal type and terminal modes are supplied as arguments.
-.IP SSH_CMSG_X11_REQUEST_FORWARDING
-Requests forwarding of X11 connections from the remote machine to the
-local machine over the secure channel.  Causes an internet-domain
-socket to be allocated and the DISPLAY variable to be set on the server.
-X11 authentication data is automatically passed to the server, and the
-client may implement spoofing of authentication data for added
-security.  The authentication data is passed as arguments.
-.IP SSH_CMSG_PORT_FORWARD_REQUEST
-Requests forwarding of a TCP/IP port on the server host over the
-secure channel.  What happens is that whenever a connection is made to
-the port on the server, a connection will be made from the client end
-to the specified host/port.  Any user can forward unprivileged ports;
-only the root can forward privileged ports (as determined by
-authentication done earlier).
-.IP SSH_CMSG_AGENT_REQUEST_FORWARDING
-Requests forwarding of the connection to the authentication agent.
-.IP SSH_CMSG_EXEC_SHELL
-Starts a shell (command interpreter) for the user, and moves into
-interactive session mode.
-.IP SSH_CMSG_EXEC_CMD
-Executes the given command (actually "<shell> -c <command>" or
-equivalent) for the user, and moves into interactive session mode.
-.RT
-
-
-.ti 0
-Interactive Session and Exchange of Data
-
-During the interactive session, any data written by the shell or
-command running on the server machine is forwarded to stdin or
-stderr on the client machine, and any input available from stdin on
-the client machine is forwarded to the program on the server machine.
-
-All exchange is asynchronous; either side can send at any time, and
-there are no acknowledgements (TCP/IP already provides reliable
-transport, and the packet protocol protects against tampering or IP
-spoofing).
-
-When the client receives EOF from its standard input, it will send
-SSH_CMSG_EOF; however, this in no way terminates the exchange.  The
-exchange terminates and interactive mode is left when the server sends
-SSH_SMSG_EXITSTATUS to indicate that the client program has
-terminated.  Alternatively, either side may disconnect at any time by
-sending SSH_MSG_DISCONNECT or closing the connection.
-
-The server may send any of the following messages:
-.IP SSH_SMSG_STDOUT_DATA
-Data written to stdout by the program running on the server.  The data
-is passed as a string argument.  The client writes this data to
-stdout.
-.IP SSH_SMSG_STDERR_DATA
-Data written to stderr by the program running on the server.  The data
-is passed as a string argument.  The client writes this data to
-stderr.  (Note that if the program is running on a tty, it is not
-possible to separate stdout and stderr data, and all data will be sent
-as stdout data.)
-.IP SSH_SMSG_EXITSTATUS
-Indicates that the shell or command has exited.  Exit status is passed
-as an integer argument.  This message causes termination of the
-interactive session.
-.IP SSH_SMSG_AGENT_OPEN
-Indicates that someone on the server side is requesting a connection
-to the authentication agent.  The server-side channel number is passed
-as an argument.  The client must respond with either
-SSH_CHANNEL_OPEN_CONFIRMATION or SSH_CHANNEL_OPEN_FAILURE.
-.IP SSH_SMSG_X11_OPEN
-Indicates that a connection has been made to the X11 socket on the
-server side and should be forwarded to the real X server.  An integer
-argument indicates the channel number allocated for this connection on
-the server side.  The client should send back either
-SSH_MSG_CHANNEL_OPEN_CONFIRMATION or SSH_MSG_CHANNEL_OPEN_FAILURE with
-the same server side channel number.
-.IP SSH_MSG_PORT_OPEN
-Indicates that a connection has been made to a port on the server side
-for which forwarding has been requested.  Arguments are server side
-channel number, host name to connect to, and port to connect to.  The
-client should send back either
-SSH_MSG_CHANNEL_OPEN_CONFIRMATION or SSH_MSG_CHANNEL_OPEN_FAILURE with
-the same server side channel number.
-.IP SSH_MSG_CHANNEL_OPEN_CONFIRMATION
-This is sent by the server to indicate that it has opened a connection
-as requested in a previous message.  The first argument indicates the
-client side channel number, and the second argument is the channel number
-that the server has allocated for this connection.
-.IP SSH_MSG_CHANNEL_OPEN_FAILURE
-This is sent by the server to indicate that it failed to open a
-connection as requested in a previous message.  The client-side
-channel number is passed as an argument.  The client will close the
-descriptor associated with the channel and free the channel.
-.IP SSH_MSG_CHANNEL_DATA
-This packet contains data for a channel from the server.  The first
-argument is the client-side channel number, and the second argument (a
-string) is the data.
-.IP SSH_MSG_CHANNEL_CLOSE
-This is sent by the server to indicate that whoever was in the other
-end of the channel has closed it.  The argument is the client side channel
-number.  The client will let all buffered data in the channel to
-drain, and when ready, will close the socket, free the channel, and
-send the server a SSH_MSG_CHANNEL_CLOSE_CONFIRMATION message for the
-channel.
-.IP SSH_MSG_CHANNEL_CLOSE_CONFIRMATION
-This is send by the server to indicate that a channel previously
-closed by the client has now been closed on the server side as well.
-The argument indicates the client channel number.  The client frees
-the channel.
-.RT
-
-The client may send any of the following messages:
-.IP SSH_CMSG_STDIN_DATA
-This is data to be sent as input to the program running on the server.
-The data is passed as a string.
-.IP SSH_CMSG_EOF
-Indicates that the client has encountered EOF while reading standard
-input.  The server will allow any buffered input data to drain, and
-will then close the input to the program.
-.IP SSH_CMSG_WINDOW_SIZE
-Indicates that window size on the client has been changed.  The server
-updates the window size of the tty and causes SIGWINCH to be sent to
-the program.  The new window size is passed as four integer arguments:
-row, col, xpixel, ypixel.
-.IP SSH_MSG_PORT_OPEN
-Indicates that a connection has been made to a port on the client side
-for which forwarding has been requested.  Arguments are client side
-channel number, host name to connect to, and port to connect to.  The
-server should send back either SSH_MSG_CHANNEL_OPEN_CONFIRMATION or
-SSH_MSG_CHANNEL_OPEN_FAILURE with the same client side channel number.
-.IP SSH_MSG_CHANNEL_OPEN_CONFIRMATION
-This is sent by the client to indicate that it has opened a connection
-as requested in a previous message.  The first argument indicates the
-server side channel number, and the second argument is the channel
-number that the client has allocated for this connection.
-.IP SSH_MSG_CHANNEL_OPEN_FAILURE
-This is sent by the client to indicate that it failed to open a
-connection as requested in a previous message.  The server side
-channel number is passed as an argument.  The server will close the
-descriptor associated with the channel and free the channel.
-.IP SSH_MSG_CHANNEL_DATA
-This packet contains data for a channel from the client.  The first
-argument is the server side channel number, and the second argument (a
-string) is the data.
-.IP SSH_MSG_CHANNEL_CLOSE
-This is sent by the client to indicate that whoever was in the other
-end of the channel has closed it.  The argument is the server channel
-number.  The server will allow buffered data to drain, and when ready,
-will close the socket, free the channel, and send the client a
-SSH_MSG_CHANNEL_CLOSE_CONFIRMATION message for the channel.
-.IP SSH_MSG_CHANNEL_CLOSE_CONFIRMATION
-This is send by the client to indicate that a channel previously
-closed by the server has now been closed on the client side as well.
-The argument indicates the server channel number.  The server frees
-the channel.
-.RT
-
-Any unsupported messages during interactive mode cause the connection
-to be terminated with SSH_MSG_DISCONNECT and an error message.
-Compatible protocol upgrades should agree about any extensions during
-the preparation phase or earlier.
-
-
-.ti 0
-Termination of the Connection
-
-Normal termination of the connection is always initiated by the server
-by sending SSH_SMSG_EXITSTATUS after the program has exited.  The
-client responds to this message by sending SSH_CMSG_EXIT_CONFIRMATION
-and closes the socket; the server then closes the socket.  There are
-two purposes for the confirmation: some systems may lose previously
-sent data when the socket is closed, and closing the client side first
-causes any TCP/IP TIME_WAIT [RFC0793] waits to occur on the client side, not
-consuming server resources.
-
-If the program terminates due to a signal, the server will send
-SSH_MSG_DISCONNECT with an appropriate message.  If the connection is
-closed, all file descriptors to the program will be closed and the
-server will exit.  If the program runs on a tty, the kernel sends it
-the SIGHUP signal when the pty master side is closed.
-
-.ti 0
-Protocol Flags
-
-Both the server and the client pass 32 bits of protocol flags to the
-other side.  The flags are intended for compatible protocol extension;
-the server first announces which added capabilities it supports, and
-the client then sends the capabilities that it supports.
-
-The following flags are currently defined (the values are bit masks):
-.IP "1 SSH_PROTOFLAG_SCREEN_NUMBER"
-This flag can only be sent by the client.  It indicates that the X11
-forwarding requests it sends will include the screen number.
-.IP "2 SSH_PROTOFLAG_HOST_IN_FWD_OPEN"
-If both sides specify this flag, SSH_SMSG_X11_OPEN and
-SSH_MSG_PORT_OPEN messages will contain an additional field containing
-a description of the host at the other end of the connection.
-.RT
-
-.ti 0
-Detailed Description of Packet Types and Formats
-
-The supported packet types and the corresponding message numbers are
-given in the following table.  Messages with _MSG_ in their name may
-be sent by either side.  Messages with _CMSG_ are only sent by the
-client, and messages with _SMSG_ only by the server.
-
-A packet may contain additional data after the arguments specified
-below.  Any such data should be ignored by the receiver.  However, it
-is recommended that no such data be stored without good reason.  (This
-helps build compatible extensions.)
-.IP "0 SSH_MSG_NONE"
-This code is reserved.  This message type is never sent.
-.IP "1 SSH_MSG_DISCONNECT"
-.TS
-;
-l l.
-string Cause of disconnection
-.TE
-This message may be sent by either party at any time.  It causes the
-immediate disconnection of the connection.  The message is intended to
-be displayed to a human, and describes the reason for disconnection.
-.IP "2 SSH_SMSG_PUBLIC_KEY"
-.TS
-;
-l l.
-8 bytes        anti_spoofing_cookie
-32-bit int     server_key_bits
-mp-int server_key_public_exponent
-mp-int server_key_public_modulus
-32-bit int     host_key_bits
-mp-int host_key_public_exponent
-mp-int host_key_public_modulus
-32-bit int     protocol_flags
-32-bit int     supported_ciphers_mask
-32-bit int     supported_authentications_mask
-.TE
-Sent as the first message by the server.  This message gives the
-server's host key, server key, protocol flags (intended for compatible
-protocol extension), supported_ciphers_mask (which is the
-bitwise or of (1 << cipher_number), where << is the left shift
-operator, for all supported ciphers), and
-supported_authentications_mask (which is the bitwise or of (1 <<
-authentication_type) for all supported authentication types).  The
-anti_spoofing_cookie is 64 random bytes, and must be sent back
-verbatim by the client in its reply.  It is used to make IP-spoofing
-more difficult (encryption and host keys are the real defense against
-spoofing).
-.IP "3 SSH_CMSG_SESSION_KEY"
-.TS
-;
-l l.
-1 byte cipher_type (must be one of the supported values)
-8 bytes        anti_spoofing_cookie (must match data sent by the server)
-mp-int double-encrypted session key
-32-bit int     protocol_flags
-.TE
-Sent by the client as the first message in the session.  Selects the
-cipher to use, and sends the encrypted session key to the server.  The
-anti_spoofing_cookie must be the same bytes that were sent by the
-server.  Protocol_flags is intended for negotiating compatible
-protocol extensions.
-.IP "4 SSH_CMSG_USER"
-.TS
-;
-l l.
-string user login name on server
-.TE
-Sent by the client to begin authentication.  Specifies the user name
-on the server to log in as.  The server responds with SSH_SMSG_SUCCESS
-if no authentication is needed for this user, or SSH_SMSG_FAILURE if
-authentication is needed (or the user does not exist).  [Note to the
-implementator: the user name is of arbitrary size.  The implementation
-must be careful not to overflow internal buffers.]
-.IP "5 SSH_CMSG_AUTH_RHOSTS"
-.TS
-;
-l l.
-string client-side user name
-.TE
-Requests authentication using /etc/hosts.equiv and .rhosts (or
-equivalent mechanisms).  This authentication method is normally
-disabled in the server because it is not secure (but this is the
-method used by rsh and rlogin).  The server responds with
-SSH_SMSG_SUCCESS if authentication was successful, and
-SSH_SMSG_FAILURE if access was not granted.  The server should check
-that the client side port number is less than 1024 (a privileged
-port), and immediately reject authentication if it is not.  Supporting
-this authentication method is optional.  This method should normally
-not be enabled in the server because it is not safe.  (However, not
-enabling this only helps if rlogind and rshd are disabled.)
-.IP "6 SSH_CMSG_AUTH_RSA"
-.TS
-;
-l l.
-mp-int identity_public_modulus
-.TE
-Requests authentication using pure RSA authentication.  The server
-checks if the given key is permitted to log in, and if so, responds
-with SSH_SMSG_AUTH_RSA_CHALLENGE.  Otherwise, it responds with
-SSH_SMSG_FAILURE.  The client often tries several different keys in
-sequence until one supported by the server is found.  Authentication
-is accepted if the client gives the correct response to the challenge.
-The server is free to add other criteria for authentication, such as a
-requirement that the connection must come from a certain host.  Such
-additions are not visible at the protocol level.  Supporting this
-authentication method is optional but recommended.
-.IP "7 SSH_SMSG_AUTH_RSA_CHALLENGE"
-.TS
-;
-l l.
-mp-int encrypted challenge
-.TE
-Presents an RSA authentication challenge to the client.  The challenge
-is a 256-bit random value encrypted as described elsewhere in this
-document.  The client must decrypt the challenge using the RSA private
-key, compute MD5 of the challenge plus session id, and send back the
-resulting 16 bytes using SSH_CMSG_AUTH_RSA_RESPONSE.
-.IP "8 SSH_CMSG_AUTH_RSA_RESPONSE"
-.TS
-;
-l l.
-16 bytes       MD5 of decrypted challenge
-.TE
-This message is sent by the client in response to an RSA challenge.
-The MD5 checksum is returned instead of the decrypted challenge to
-deter known-plaintext attacks against the RSA key.  The server
-responds to this message with either SSH_SMSG_SUCCESS or
-SSH_SMSG_FAILURE.
-.IP "9 SSH_CMSG_AUTH_PASSWORD"
-.TS
-;
-l l.
-string plain text password
-.TE
-Requests password authentication using the given password.  Note that
-even though the password is plain text inside the packet, the whole
-packet is normally encrypted by the packet layer.  It would not be
-possible for the client to perform password encryption/hashing,
-because it cannot know which kind of encryption/hashing, if any, the
-server uses.  The server responds to this message with
-SSH_SMSG_SUCCESS or SSH_SMSG_FAILURE.
-.IP "10 SSH_CMSG_REQUEST_PTY"
-.TS
-;
-l l.
-string TERM environment variable value (e.g. vt100)
-32-bit int     terminal height, rows (e.g., 24)
-32-bit int     terminal width, columns (e.g., 80)
-32-bit int     terminal width, pixels (0 if no graphics) (e.g., 480)
-32-bit int     terminal height, pixels (0 if no graphics) (e.g., 640)
-n bytes        tty modes encoded in binary
-.TE
-Requests a pseudo-terminal to be allocated for this command.  This
-message can be used regardless of whether the session will later
-execute the shell or a command.  If a pty has been requested with this
-message, the shell or command will run on a pty.  Otherwise it will
-communicate with the server using pipes, sockets or some other similar
-mechanism.
-
-The terminal type gives the type of the user's terminal.  In the UNIX
-environment it is passed to the shell or command in the TERM
-environment variable.
-
-The width and height values give the initial size of the user's
-terminal or window.  All values can be zero if not supported by the
-operating system.  The server will pass these values to the kernel if
-supported.
-
-Terminal modes are encoded into a byte stream in a portable format.
-The exact format is described later in this document.
-
-The server responds to the request with either SSH_SMSG_SUCCESS or
-SSH_SMSG_FAILURE.  If the server does not have the concept of pseudo
-terminals, it should return success if it is possible to execute a
-shell or a command so that it looks to the client as if it was running
-on a pseudo terminal.
-.IP "11 SSH_CMSG_WINDOW_SIZE"
-.TS
-;
-l l.
-32-bit int     terminal height, rows
-32-bit int     terminal width, columns
-32-bit int     terminal width, pixels
-32-bit int     terminal height, pixels
-.TE
-This message can only be sent by the client during the interactive
-session.  This indicates that the size of the user's window has
-changed, and provides the new size.  The server will update the
-kernel's notion of the window size, and a SIGWINCH signal or
-equivalent will be sent to the shell or command (if supported by the
-operating system).
-.IP "12 SSH_CMSG_EXEC_SHELL"
-
-(no arguments)
-
-Starts a shell (command interpreter), and enters interactive session
-mode.
-.IP "13 SSH_CMSG_EXEC_CMD"
-.TS
-;
-l l.
-string command to execute
-.TE
-Starts executing the given command, and enters interactive session
-mode.  On UNIX, the command is run as "<shell> -c <command>", where
-<shell> is the user's login shell.
-.IP "14 SSH_SMSG_SUCCESS"
-
-(no arguments)
-
-This message is sent by the server in response to the session key, a
-successful authentication request, and a successfully completed
-preparatory operation.
-.IP "15 SSH_SMSG_FAILURE"
-
-(no arguments)
-
-This message is sent by the server in response to a failed
-authentication operation to indicate that the user has not yet been
-successfully authenticated, and in response to a failed preparatory
-operation.  This is also sent in response to an authentication or
-preparatory operation request that is not recognized or supported.
-.IP "16 SSH_CMSG_STDIN_DATA"
-.TS
-;
-l l.
-string data
-.TE
-Delivers data from the client to be supplied as input to the shell or
-program running on the server side.  This message can only be used in
-the interactive session mode.  No acknowledgement is sent for this
-message.
-.IP "17 SSH_SMSG_STDOUT_DATA"
-.TS
-;
-l l.
-string data
-.TE
-Delivers data from the server that was read from the standard output of
-the shell or program running on the server side.  This message can
-only be used in the interactive session mode.  No acknowledgement is
-sent for this message.
-.IP "18 SSH_SMSG_STDERR_DATA"
-.TS
-;
-l l.
-string data
-.TE
-Delivers data from the server that was read from the standard error of
-the shell or program running on the server side.  This message can
-only be used in the interactive session mode.  No acknowledgement is
-sent for this message.
-.IP "19 SSH_CMSG_EOF"
-
-(no arguments)
-
-This message is sent by the client to indicate that EOF has been
-reached on the input.  Upon receiving this message, and after all
-buffered input data has been sent to the shell or program, the server
-will close the input file descriptor to the program.  This message can
-only be used in the interactive session mode.  No acknowledgement is
-sent for this message.
-.IP "20 SSH_SMSG_EXITSTATUS"
-.TS
-;
-l l.
-32-bit int     exit status of the command
-.TE
-Returns the exit status of the shell or program after it has exited.
-The client should respond with SSH_CMSG_EXIT_CONFIRMATION when it has
-received this message.  This will be the last message sent by the
-server.  If the program being executed dies with a signal instead of
-exiting normally, the server should terminate the session with
-SSH_MSG_DISCONNECT (which can be used to pass a human-readable string
-indicating that the program died due to a signal) instead of using
-this message.
-.IP "21 SSH_MSG_CHANNEL_OPEN_CONFIRMATION"
-.TS
-;
-l l.
-32-bit int     remote_channel
-32-bit int     local_channel
-.TE
-This is sent in response to any channel open request if the channel
-has been successfully opened.  Remote_channel is the channel number
-received in the initial open request; local_channel is the channel
-number the side sending this message has allocated for the channel.
-Data can be transmitted on the channel after this message.
-.IP "22 SSH_MSG_CHANNEL_OPEN_FAILURE"
-.TS
-;
-l l.
-32-bit int     remote_channel
-.TE
-This message indicates that an earlier channel open request by the
-other side has failed or has been denied.  Remote_channel is the
-channel number given in the original request.
-.IP "23 SSH_MSG_CHANNEL_DATA"
-.TS
-;
-l l.
-32-bit int     remote_channel
-string data
-.TE
-Data is transmitted in a channel in these messages.  A channel is
-bidirectional, and both sides can send these messages.  There is no
-acknowledgement for these messages.  It is possible that either side
-receives these messages after it has sent SSH_MSG_CHANNEL_CLOSE for
-the channel.  These messages cannot be received after the party has
-sent or received SSH_MSG_CHANNEL_CLOSE_CONFIRMATION.
-.IP "24 SSH_MSG_CHANNEL_CLOSE"
-.TS
-;
-l l.
-32-bit int     remote_channel
-.TE
-When a channel is closed at one end of the connection, that side sends
-this message.  Upon receiving this message, the channel should be
-closed.  When this message is received, if the channel is already
-closed (the receiving side has sent this message for the same channel
-earlier), the channel is freed and no further action is taken;
-otherwise the channel is freed and SSH_MSG_CHANNEL_CLOSE_CONFIRMATION
-is sent in response.  (It is possible that the channel is closed
-simultaneously at both ends.)
-.IP "25 SSH_MSG_CHANNEL_CLOSE_CONFIRMATION"
-.TS
-;
-l l.
-32-bit int     remote_channel
-.TE
-This message is sent in response to SSH_MSG_CHANNEL_CLOSE unless the
-channel was already closed.  When this message is sent or received,
-the channel is freed.
-.IP "26 (OBSOLETED; was unix-domain X11 forwarding)
-.IP "27 SSH_SMSG_X11_OPEN"
-.TS
-;
-l l.
-32-bit int     local_channel
-string originator_string (see below)
-.TE
-This message can be sent by the server during the interactive session
-mode to indicate that a client has connected the fake X server.
-Local_channel is the channel number that the server has allocated for
-the connection.  The client should try to open a connection to the
-real X server, and respond with SSH_MSG_CHANNEL_OPEN_CONFIRMATION or
-SSH_MSG_CHANNEL_OPEN_FAILURE.
-
-The field originator_string is present if both sides
-specified SSH_PROTOFLAG_HOST_IN_FWD_OPEN in the protocol flags.  It
-contains a description of the host originating the connection.
-.IP "28 SSH_CMSG_PORT_FORWARD_REQUEST"
-.TS
-;
-l l.
-32-bit int     server_port
-string host_to_connect
-32-bit int     port_to_connect
-.TE
-Sent by the client in the preparatory phase, this message requests
-that server_port on the server machine be forwarded over the secure
-channel to the client machine, and from there to the specified host
-and port.  The server should start listening on the port, and send
-SSH_MSG_PORT_OPEN whenever a connection is made to it.  Supporting
-this message is optional, and the server is free to reject any forward
-request.  For example, it is highly recommended that unless the user
-has been authenticated as root, forwarding any privileged port numbers
-(below 1024) is denied.
-.IP "29 SSH_MSG_PORT_OPEN"
-.TS
-;
-l l.
-32-bit int     local_channel
-string host_name
-32-bit int     port
-string originator_string (see below)
-.TE
-Sent by either party in interactive session mode, this message
-indicates that a connection has been opened to a forwarded TCP/IP
-port.  Local_channel is the channel number that the sending party has
-allocated for the connection.  Host_name is the host the connection
-should be be forwarded to, and the port is the port on that host to
-connect.  The receiving party should open the connection, and respond
-with SSH_MSG_CHANNEL_OPEN_CONFIRMATION or
-SSH_MSG_CHANNEL_OPEN_FAILURE.  It is recommended that the receiving
-side check the host_name and port for validity to avoid compromising
-local security by compromised remote side software.  Particularly, it
-is recommended that the client permit connections only to those ports
-for which it has requested forwarding with SSH_CMSG_PORT_FORWARD_REQUEST.
-
-The field originator_string is present if both sides
-specified SSH_PROTOFLAG_HOST_IN_FWD_OPEN in the protocol flags.  It
-contains a description of the host originating the connection.
-.IP "30 SSH_CMSG_AGENT_REQUEST_FORWARDING"
-
-(no arguments)
-
-Requests that the connection to the authentication agent be forwarded
-over the secure channel.  The method used by clients to contact the
-authentication agent within each machine is implementation and machine
-dependent.  If the server accepts this request, it should arrange that
-any clients run from this session will actually contact the server
-program when they try to contact the authentication agent.  The server
-should then send a SSH_SMSG_AGENT_OPEN to open a channel to the agent,
-and the client should forward the connection to the real
-authentication agent.  Supporting this message is optional.
-.IP "31 SSH_SMSG_AGENT_OPEN"
-.TS
-;
-l l.
-32-bit int     local_channel
-.TE
-Sent by the server in interactive session mode, this message requests
-opening a channel to the authentication agent.  The client should open
-a channel, and respond with either SSH_MSG_CHANNEL_OPEN_CONFIRMATION
-or SSH_MSG_CHANNEL_OPEN_FAILURE.
-.IP "32 SSH_MSG_IGNORE"
-.TS
-;
-l l.
-string data
-.TE
-Either party may send this message at any time.  This message, and the
-argument string, is silently ignored.  This message might be used in
-some implementations to make traffic analysis more difficult.  This
-message is not currently sent by the implementation, but all
-implementations are required to recognize and ignore it.
-.IP "33 SSH_CMSG_EXIT_CONFIRMATION"
-
-(no arguments)
-
-Sent by the client in response to SSH_SMSG_EXITSTATUS.  This is the
-last message sent by the client.
-.IP "34 SSH_CMSG_X11_REQUEST_FORWARDING"
-.TS
-;
-l l.
-string x11_authentication_protocol
-string x11_authentication_data
-32-bit int     screen number (if SSH_PROTOFLAG_SCREEN_NUMBER)
-.TE
-Sent by the client during the preparatory phase, this message requests
-that the server create a fake X11 display and set the DISPLAY
-environment variable accordingly.  An internet-domain display is
-preferable.  The given authentication protocol and the associated data
-should be recorded by the server so that it is used as authentication
-on connections (e.g., in .Xauthority).  The authentication protocol
-must be one of the supported X11 authentication protocols, e.g.,
-"MIT-MAGIC-COOKIE-1".  Authentication data must be a lowercase hex
-string of even length.  Its interpretation is protocol dependent.
-The data is in a format that can be used with e.g. the xauth program.
-Supporting this message is optional.
-
-The client is permitted (and recommended) to generate fake
-authentication information and send fake information to the server.
-This way, a corrupt server will not have access to the user's terminal
-after the connection has terminated.  The correct authorization codes
-will also not be left hanging around in files on the server (many
-users keep the same X session for months, thus protecting the
-authorization data becomes important).
-
-X11 authentication spoofing works by initially sending fake (random)
-authentication data to the server, and interpreting the first packet
-sent by the X11 client after the connection has been opened.  The
-first packet contains the client's authentication.  If the packet
-contains the correct fake data, it is replaced by the client by the
-correct authentication data, and then sent to the X server.
-.IP "35 SSH_CMSG_AUTH_RHOSTS_RSA"
-.TS
-;
-l l.
-string clint-side user name
-32-bit int     client_host_key_bits
-mp-int client_host_key_public_exponent
-mp-int client_host_key_public_modulus
-.TE
-Requests authentication using /etc/hosts.equiv and .rhosts (or
-equivalent) together with RSA host authentication.  The server should
-check that the client side port number is less than 1024 (a privileged
-port), and immediately reject authentication if it is not.  The server
-responds with SSH_SMSG_FAILURE or SSH_SMSG_AUTH_RSA_CHALLENGE.  The
-client must respond to the challenge with the proper
-SSH_CMSG_AUTH_RSA_RESPONSE.  The server then responds with success if
-access was granted, or failure if the client gave a wrong response.
-Supporting this authentication method is optional but recommended in
-most environments.
-.IP "36 SSH_MSG_DEBUG"
-.TS
-;
-l l.
-string debugging message sent to the other side
-.TE
-This message may be sent by either party at any time.  It is used to
-send debugging messages that may be informative to the user in
-solving various problems.  For example, if authentication fails
-because of some configuration error (e.g., incorrect permissions for
-some file), it can be very helpful for the user to make the cause of
-failure available.  On the other hand, one should not make too much
-information available for security reasons.  It is recommended that
-the client provides an option to display the debugging information
-sent by the sender (the user probably does not want to see it by default).
-The server can log debugging data sent by the client (if any).  Either
-party is free to ignore any received debugging data.  Every
-implementation must be able to receive this message, but no
-implementation is required to send these.
-.IP "37 SSH_CMSG_REQUEST_COMPRESSION"
-.TS
-;
-l l.
-32-bit int     gzip compression level (1-9)
-.TE
-This message can be sent by the client in the preparatory operations
-phase.  The server responds with SSH_SMSG_FAILURE if it does not
-support compression or does not want to compress; it responds with
-SSH_SMSG_SUCCESS if it accepted the compression request.  In the
-latter case the response to this packet will still be uncompressed,
-but all further packets in either direction will be compressed by gzip.
-.RT
-
-
-.ti 0
-Encoding of Terminal Modes
-
-Terminal modes (as passed in SSH_CMSG_REQUEST_PTY) are encoded into a
-byte stream.  It is intended that the coding be portable across
-different environments.
-
-The tty mode description is a stream of bytes.  The stream consists of
-opcode-argument pairs.  It is terminated by opcode TTY_OP_END (0).
-Opcodes 1-127 have one-byte arguments.  Opcodes 128-159 have 32-bit
-integer arguments (stored msb first).  Opcodes 160-255 are not yet
-defined, and cause parsing to stop (they should only be used after any
-other data).
-
-The client puts in the stream any modes it knows about, and the server
-ignores any modes it does not know about.  This allows some degree of
-machine-independence, at least between systems that use a POSIX-like
-[POSIX] tty interface.  The protocol can support other systems as
-well, but the client may need to fill reasonable values for a number
-of parameters so the server pty gets set to a reasonable mode (the
-server leaves all unspecified mode bits in their default values, and
-only some combinations make sense).
-
-The following opcodes have been defined.  The naming of opcodes mostly
-follows the POSIX terminal mode flags.
-.IP "0 TTY_OP_END"
-Indicates end of options.
-.IP "1 VINTR"
-Interrupt character; 255 if none.  Similarly for the other characters.
-Not all of these characters are supported on all systems.
-.IP "2 VQUIT"
-The quit character (sends SIGQUIT signal on UNIX systems).
-.IP "3 VERASE"
-Erase the character to left of the cursor.
-.IP "4 VKILL"
-Kill the current input line.
-.IP "5 VEOF "
-End-of-file character (sends EOF from the terminal).
-.IP "6 VEOL "
-End-of-line character in addition to carriage return and/or linefeed.
-.IP "7 VEOL2"
-Additional end-of-line character.
-.IP "8 VSTART"
-Continues paused output (normally ^Q).
-.IP "9 VSTOP"
-Pauses output (^S).
-.IP "10 VSUSP"
-Suspends the current program.
-.IP "11 VDSUSP"
-Another suspend character.
-.IP "12 VREPRINT"
-Reprints the current input line.
-.IP "13 VWERASE"
-Erases a word left of cursor.
-.IP "14 VLNEXT"
-More special input characters; these are probably not supported on
-most systems.
-.IP "15 VFLUSH"
-.IP "16 VSWTCH"
-.IP "17 VSTATUS"
-.IP "18 VDISCARD"
-
-.IP "30 IGNPAR"
-The ignore parity flag.  The next byte should be 0 if this flag is not
-set, and 1 if it is set.
-.IP "31 PARMRK"
-More flags.  The exact definitions can be found in the POSIX standard.
-.IP "32 INPCK"
-.IP "33 ISTRIP"
-.IP "34 INLCR"
-.IP "35 IGNCR"
-.IP "36 ICRNL"
-.IP "37 IUCLC"
-.IP "38 IXON"
-.IP "39 IXANY"
-.IP "40 IXOFF"
-.IP "41 IMAXBEL"
-
-.IP "50 ISIG"
-.IP "51 ICANON"
-.IP "52 XCASE"
-.IP "53 ECHO"
-.IP "54 ECHOE"
-.IP "55 ECHOK"
-.IP "56 ECHONL"
-.IP "57 NOFLSH"
-.IP "58 TOSTOP"
-.IP "59 IEXTEN"
-.IP "60 ECHOCTL"
-.IP "61 ECHOKE"
-.IP "62 PENDIN"
-
-.IP "70 OPOST"
-.IP "71 OLCUC"
-.IP "72 ONLCR"
-.IP "73 OCRNL"
-.IP "74 ONOCR"
-.IP "75 ONLRET"
-
-.IP "90 CS7"
-.IP "91 CS8"
-.IP "92 PARENB"
-.IP "93 PARODD"
-
-.IP "192 TTY_OP_ISPEED"
-Specifies the input baud rate in bits per second.
-.IP "193 TTY_OP_OSPEED"
-Specifies the output baud rate in bits per second.
-.RT
-
-
-.ti 0
-The Authentication Agent Protocol
-
-The authentication agent is a program that can be used to hold RSA
-authentication keys for the user (in future, it might hold data for
-other authentication types as well).  An authorized program can send
-requests to the agent to generate a proper response to an RSA
-challenge.  How the connection is made to the agent (or its
-representative) inside a host and how access control is done inside a
-host is implementation-dependent; however, how it is forwarded and how
-one interacts with it is specified in this protocol.  The connection
-to the agent is normally automatically forwarded over the secure
-channel.
-
-A program that wishes to use the agent first opens a connection to its
-local representative (typically, the agent itself or an SSH server).
-It then writes a request to the connection, and waits for response.
-It is recommended that at least five minutes of timeout are provided
-waiting for the agent to respond to an authentication challenge (this
-gives sufficient time for the user to cut-and-paste the challenge to a
-separate machine, perform the computation there, and cut-and-paste the
-result back if so desired).
-
-Messages sent to and by the agent are in the following format:
-.TS
-;
-l l.
-4 bytes        Length, msb first.  Does not include length itself.
-1 byte Packet type.  The value 255 is reserved for future extensions.
-data   Any data, depending on packet type.  Encoding as in the ssh packet
-protocol.
-.TE
-
-The following message types are currently defined:
-.IP "1 SSH_AGENTC_REQUEST_RSA_IDENTITIES"
-
-(no arguments)
-
-Requests the agent to send a list of all RSA keys for which it can
-answer a challenge.
-.IP "2 SSH_AGENT_RSA_IDENTITIES_ANSWER"
-.TS
-;
-l l.
-32-bit int     howmany
-howmany times:
-32-bit int     bits
-mp-int public exponent
-mp-int public modulus
-string comment
-.TE
-The agent sends this message in response to the to
-SSH_AGENTC_REQUEST_RSA_IDENTITIES.  The answer lists all RSA keys for
-which the agent can answer a challenge.  The comment field is intended
-to help identify each key; it may be printed by an application to
-indicate which key is being used.  If the agent is not holding any
-keys, howmany will be zero.
-.IP "3 SSH_AGENTC_RSA_CHALLENGE
-.TS
-;
-l l.
-32-bit int     bits
-mp-int public exponent
-mp-int public modulus
-mp-int challenge
-16 bytes       session_id
-32-bit int     response_type
-.TE
-Requests RSA decryption of random challenge to authenticate the other
-side.  The challenge will be decrypted with the RSA private key
-corresponding to the given public key.
-
-The decrypted challenge must contain a zero in the highest (partial)
-byte, 2 in the next byte, followed by non-zero random bytes, a zero
-byte, and then the real challenge value in the lowermost bytes.  The
-real challenge must be 32 8-bit bytes (256 bits).
-
-Response_type indicates the format of the response to be returned.
-Currently the only supported value is 1, which means to compute MD5 of
-the real challenge plus session id, and return the resulting 16 bytes
-in a SSH_AGENT_RSA_RESPONSE message.
-.IP "4 SSH_AGENT_RSA_RESPONSE"
-.TS
-;
-l l.
-16 bytes       MD5 of decrypted challenge
-.TE
-Answers an RSA authentication challenge.  The response is 16 bytes:
-the MD5 checksum of the 32-byte challenge.
-.IP "5 SSH_AGENT_FAILURE"
-
-(no arguments)
-
-This message is sent whenever the agent fails to answer a request
-properly.  For example, if the agent cannot answer a challenge (e.g.,
-no longer has the proper key), it can respond with this.  The agent
-also responds with this message if it receives a message it does not
-recognize.
-.IP "6 SSH_AGENT_SUCCESS"
-
-(no arguments)
-
-This message is sent by the agent as a response to certain requests
-that do not otherwise cause a message be sent.  Currently, this is
-only sent in response to SSH_AGENTC_ADD_RSA_IDENTITY and
-SSH_AGENTC_REMOVE_RSA_IDENTITY.
-.IP "7 SSH_AGENTC_ADD_RSA_IDENTITY"
-.TS
-;
-l l.
-32-bit int     bits
-mp-int public modulus
-mp-int public exponent
-mp-int private exponent
-mp-int multiplicative inverse of p mod q
-mp-int p
-mp-int q
-string comment
-.TE
-Registers an RSA key with the agent.  After this request, the agent can
-use this RSA key to answer requests.  The agent responds with
-SSH_AGENT_SUCCESS or SSH_AGENT_FAILURE.
-.IP "8 SSH_AGENT_REMOVE_RSA_IDENTITY"
-.TS
-;
-l l.
-32-bit int     bits
-mp-int public exponent
-mp-int public modulus
-.TE
-Removes an RSA key from the agent.  The agent will no longer accept
-challenges for this key and will not list it as a supported identity.
-The agent responds with SSH_AGENT_SUCCESS or SSH_AGENT_FAILURE.
-.RT
-
-If the agent receives a message that it does not understand, it
-responds with SSH_AGENT_FAILURE.  This permits compatible future
-extensions.
-
-It is possible that several clients have a connection open to the
-authentication agent simultaneously.  Each client will use a separate
-connection (thus, any SSH connection can have multiple agent
-connections active simultaneously).
-
-
-.ti 0
-References
-
-.IP "[DES] "
-FIPS PUB 46-1: Data Encryption Standard.  National Bureau of
-Standards, January 1988.  FIPS PUB 81: DES Modes of Operation.
-National Bureau of Standards, December 1980.  Bruce Schneier: Applied
-Cryptography.  John Wiley & Sons, 1994.  J. Seberry and J. Pieprzyk:
-Cryptography: An Introduction to Computer Security.  Prentice-Hall,
-1989.
-.IP "[GZIP] "
-The GNU GZIP program; available for anonymous ftp at prep.ai.mit.edu.
-Please let me know if you know a paper describing the algorithm.
-.IP "[IDEA] "
-Xuejia Lai: On the Design and Security of Block Ciphers, ETH Series in
-Information Processing, vol. 1, Hartung-Gorre Verlag, Konstanz,
-Switzerland, 1992.  Bruce Schneier: Applied Cryptography, John Wiley &
-Sons, 1994.  See also the following patents: PCT/CH91/00117, EP 0 482
-154 B1, US Pat. 5,214,703.
-.IP [PKCS#1]
-PKCS #1: RSA Encryption Standard.  Version 1.5, RSA Laboratories,
-November 1993.  Available for anonymous ftp at ftp.rsa.com.
-.IP [POSIX]
-Portable Operating System Interface (POSIX) - Part 1: Application
-Program Interface (API) [C language], ISO/IEC 9945-1, IEEE Std 1003.1,
-1990.
-.IP [RFC0791]
-J. Postel: Internet Protocol, RFC 791, USC/ISI, September 1981.
-.IP [RFC0793]
-J. Postel: Transmission Control Protocol, RFC 793, USC/ISI, September
-1981.
-.IP [RFC1034]
-P. Mockapetris: Domain Names - Concepts and Facilities, RFC 1034,
-USC/ISI, November 1987.
-.IP [RFC1282]
-B. Kantor: BSD Rlogin, RFC 1258, UCSD, December 1991.
-.IP "[RSA] "
-Bruce Schneier: Applied Cryptography.  John Wiley & Sons, 1994.  See
-also R. Rivest, A. Shamir, and L. M. Adleman: Cryptographic
-Communications System and Method.  US Patent 4,405,829, 1983.
-.IP "[X11] "
-R. Scheifler: X Window System Protocol, X Consortium Standard, Version
-11, Release 6.  Massachusetts Institute of Technology, Laboratory of
-Computer Science, 1994.
-.RT
-
-
-.ti 0
-Security Considerations
-
-This protocol deals with the very issue of user authentication and
-security.
-
-First of all, as an implementation issue, the server program will have
-to run as root (or equivalent) on the server machine.  This is because
-the server program will need be able to change to an arbitrary user
-id.  The server must also be able to create a privileged TCP/IP port.
-
-The client program will need to run as root if any variant of .rhosts
-authentication is to be used.  This is because the client program will
-need to create a privileged port.  The client host key is also usually
-stored in a file which is readable by root only.  The client needs the
-host key in .rhosts authentication only.  Root privileges can be
-dropped as soon as the privileged port has been created and the host
-key has been read.
-
-The SSH protocol offers major security advantages over existing telnet
-and rlogin protocols.
-.IP o
-IP spoofing is restricted to closing a connection (by encryption, host
-keys, and the special random cookie).  If encryption is not used, IP
-spoofing is possible for those who can hear packets going out from the
-server.
-.IP o
-DNS spoofing is made ineffective (by host keys).
-.IP o
-Routing spoofing is made ineffective (by host keys).
-.IP o
-All data is encrypted with strong algorithms to make eavesdropping as
-difficult as possible.  This includes encrypting any authentication
-information such as passwords.  The information for decrypting session
-keys is destroyed every hour.
-.IP o
-Strong authentication methods: .rhosts combined with RSA host
-authentication, and pure RSA authentication.
-.IP o
-X11 connections and arbitrary TCP/IP ports can be forwarded securely.
-.IP o
-Man-in-the-middle attacks are deterred by using the server host key to
-encrypt the session key.
-.IP o
-Trojan horses to catch a password by routing manipulation are deterred
-by checking that the host key of the server machine matches that
-stored on the client host.
-.RT
-
-The security of SSH against man-in-the-middle attacks and the security
-of the new form of .rhosts authentication, as well as server host
-validation, depends on the integrity of the host key and the files
-containing known host keys.
-
-The host key is normally stored in a root-readable file.  If the host
-key is compromised, it permits attackers to use IP, DNS and routing
-spoofing as with current rlogin and rsh.  It should never be any worse
-than the current situation.
-
-The files containing known host keys are not sensitive.  However, if an
-attacker gets to modify the known host key files, it has the same
-consequences as a compromised host key, because the attacker can then
-change the recorded host key.
-
-The security improvements obtained by this protocol for X11 are of
-particular significance.  Previously, there has been no way to protect
-data communicated between an X server and a client running on a remote
-machine.  By creating a fake display on the server, and forwarding all
-X11 requests over the secure channel, SSH can be used to run any X11
-applications securely without any cooperation with the vendors of the
-X server or the application.
-
-Finally, the security of this program relies on the strength of the
-underlying cryptographic algorithms.  The RSA algorithm is used for
-authentication key exchange.  It is widely believed to be secure.  Of
-the algorithms used to encrypt the session, DES has a rather small key
-these days, probably permitting governments and organized criminals to
-break it in very short time with specialized hardware.  3DES is
-probably safe (but slower).  IDEA is widely believed to be secure.
-People have varying degrees of confidence in the other algorithms.
-This program is not secure if used with no encryption at all.
-
-
-.ti 0
-Additional Information
-
-Additional information (especially on the implementation and mailing
-lists) is available via WWW at http://www.cs.hut.fi/ssh.
-
-Comments should be sent to Tatu Ylonen <ylo@cs.hut.fi> or the SSH
-Mailing List <ssh@clinet.fi>.
-
-.ti 0
-Author's Address
-
-.TS
-;
-l.
-Tatu Ylonen
-Helsinki University of Technology
-Otakaari 1
-FIN-02150 Espoo, Finland
-
-Phone: +358-0-451-3374
-Fax: +358-0-451-3293
-EMail: ylo@cs.hut.fi
-.TE
diff --git a/crypto/openssh/TODO b/crypto/openssh/TODO
deleted file mode 100644 (file)
index f667d59..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-Programming:
-- Grep for 'XXX' comments and fix
-
-- Link order is incorrect for some systems using Kerberos 4 and AFS. Result
-  is multiple inclusion of DES symbols. Holger Trapp 
-  <holger.trapp@hrz.tu-chemnitz.de> reports that changing the configure
-  generated link order from:
-       -lresolv -lkrb -lz -lnsl  -lutil -lkafs -lkrb -ldes -lcrypto
-  to:
-       -lresolv -lkrb -lz -lnsl  -lutil -lcrypto -lkafs -lkrb -ldes
-  fixing the problem.
-
-- Write a test program that calls stat() to search for EGD/PRNGd socket
-  rather than use the (non-portable) "test -S". 
-
-- Replacement for setproctitle() - HP-UX support only currently
-
-- Handle changing passwords for the non-PAM expired password case
-
-- Improve PAM support (a pam_lastlog module will cause sshd to exit)
-  and maybe support alternate forms of authentications like OPIE via
-  pam?
-
-- Rework PAM ChallengeResponseAuthentication
- - Use kbdint request packet with 0 prompts for informational messages
- - Use different PAM service name for kbdint vs regular auth (suggest from
-   Solar Designer)
- - Ability to select which ChallengeResponseAuthentications may be used
-   and order to try them in e.g. "ChallengeResponseAuthentication skey, pam"
-
-- Complete Tru64 SIA support
- - It looks like we could merge it into the password auth code to cut down
-   on diff size. Maybe PAM password auth too?
-
-- Finish integrating kernel-level auditing code for IRIX and SOLARIS
-  (Gilbert.r.loomis@saic.com)
-
-- sftp-server:  Rework to step down to 32bit ints if the platform
-  lacks 'long long' == 64bit (Notable SCO w/ SCO compiler)
-
-- Linux hangs for 20 seconds when you do "sleep 20&exit".  All current
-  solutions break scp or leaves processes hanging around after the ssh
-  connection has ended.  It seems to be linked to two things.  One
-  select() under Linux is not as nice as others, and two the children
-  of the shell are not killed on exiting the shell.
-  A short run-down of what happens:
-  - The shell starts up, and starts its own session.  As a side-effect, it
-    gets its own process group.
-  - The child forks off sleep, and because it's in the background, puts it
-    into its own process group.  The sleep command inherits a copy of the
-    shell's descriptor for the tty as its stdout.
-  - The shell exits, but doesn't SIGHUP all of its child PIDs like it probably
-    should(?)
-  - The sshd server attempts to read from the master side of the pty, and
-    while there are still process with the pty open, no EOF is produced.
-  - The sleep command exits, closes its descriptor, sshd detects the EOF, and
-    the connection gets closed.
-  Ways we've tried fixing this in sshd, and why they didn't work out:
-  - SIGHUP the sshd's process group.
-    - The shell is in its own process group.
-  - Track process group IDs of all children before we reap them (via an extra
-    field in Session structures which holds the pgid for each child pid), and
-    SIGHUP the pgid when we reap.
-    - Background commands are in yet another process group.
-  - Close the connection when the child dies.
-    - Background commands may need to write data to the connection.  Also
-      prematurely truncates output from some commands (scp server, the
-      famous "dd if=/dev/zero bs=1000 count=100" case).
-  Known workarounds:
-  - bash: shopt huponexit on
-  - tcsh: none
-  - zsh: setopt HUP (usually the default setting)
-    (taken from email from Jason Stone to openssh-unix-dev, 5 May 2001)
-  - pdksh: ?
-  This appears to affect NetKit rsh under Linux as well: it behaves the same
-  with 'sleep 20 & exit'.
-
-- Build an automated test suite
-
-- 64-bit builds on HP-UX 11.X (stevesk@pobox.com):
-  - utmp/wtmp get corrupted (something in loginrec?)
-  - can't build with PAM (no 64-bit libpam yet)
-
-Documentation:
-- More and better
-
-- Install FAQ?
-
-- General FAQ on S/Key, TIS, RSA, RSA2, DSA, etc and suggestions on when it
-  would be best to use them.  
-
-- Create a Documentation/ directory?
-
-Clean up configure/makefiles:
-- Clean up configure.ac - There are a few double #defined variables
-  left to do.  HAVE_LOGIN is one of them.  Consider NOT looking for
-  information in wtmpx or utmpx or any of that stuff if it's not detected
-  from the start
-
-- Fails to compile when cross compile.
-  (vinschen@redhat.com)
-
-- Replace the whole u_intXX_t evilness in acconfig.h with something better???
-
-- Consider splitting the u_intXX_t test for sys/bitype.h  into seperate test
-  to allow people to (right/wrongfully) link against Bind directly.
-
-- Consider splitting configure.ac into seperate files which do logically
-  similar tests. E.g move all the type detection stuff into one file, 
-  entropy related stuff into another.
-
-Packaging:
-- Solaris: Update packaging scripts and build new sysv startup scripts
-  Ideally the package metadata should be generated by autoconf.
-  (gilbert.r.loomis@saic.com)
-
-- HP-UX: Provide DEPOT package scripts.
-  (gilbert.r.loomis@saic.com)
-
-
-PrivSep Issues:
-- mmap() issues.
-  + /dev/zero solution (Solaris)
-  + No/broken MAP_ANON (Irix)
-  + broken /dev/zero parse (Linux)
-- PAM 
-  + See above PAM notes
-- AIX
-  + usrinfo() does not set TTY, but only required for legicy systems.  Works
-    with PrivSep.
-- OSF
-  + SIA is broken
-- Cygwin
-  + Privsep for Pre-auth only (no fd passing)
-
-$Id: TODO,v 1.51 2002/09/05 06:32:03 djm Exp $
diff --git a/crypto/openssh/WARNING.RNG b/crypto/openssh/WARNING.RNG
deleted file mode 100644 (file)
index ae43930..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-This document contains a description of portable OpenSSH's random
-number collection code. An alternate reading of this text could
-well be titled "Why I should pressure my system vendor to supply
-/dev/random in their OS".
-
-Why is this important? OpenSSH depends on good, unpredictable numbers
-for generating keys, performing digital signatures and forming
-cryptographic challenges. If the random numbers that it uses are
-predictable, then the strength of the whole system is compromised.
-
-A particularly pernicious problem arises with DSA keys (used by the
-ssh2 protocol). Performing a DSA signature (which is required for
-authentication), entails the use of a 160 bit random number.  If an
-attacker can predict this number, then they can deduce your *private*
-key and impersonate you or your hosts.
-
-If you are using the builtin random number support (configure will
-tell you if this is the case), then read this document in its entirety.
-Alternately, you can use Lutz Jaenicke's PRNGd - a small daemon which
-collects random numbers and makes them available by a socket.
-
-Please also request that your OS vendor provides a kernel-based random
-number collector (/dev/random) in future versions of your operating
-systems by default.
-
-On to the description...
-
-The portable OpenSSH contains random number collection support for
-systems which lack a kernel entropy pool (/dev/random).
-
-This collector (as of 3.1 and beyond) comes as an external application
-that allows the local admin to decide on how to implement entropy
-collection.
-
-The default entropy collector operates by executing the programs listed
-in ($etcdir)/ssh_prng_cmds, reading their output and adding it to the
-PRNG supplied by OpenSSL (which is hash-based). It also stirs in the
-output of several system calls and timings from the execution of the
-programs that it runs.
-
-The ssh_prng_cmds file also specifies a 'rate' for each program. This
-represents the number of bits of randomness per byte of output from
-the specified program.
-
-The random number code will also read and save a seed file to
-~/.ssh/prng_seed. This contents of this file are added to the random
-number generator at startup. The goal here is to maintain as much 
-randomness between sessions as possible.
-
-The default entropy collection code has two main problems:
-
-1. It is slow.
-
-Executing each program in the list can take a large amount of time,   
-especially on slower machines. Additionally some program can take a   
-disproportionate time to execute.                                     
-
-Tuning the default entropy collection code is difficult at this point.
-It requires doing 'times ./ssh-rand-helper'  and modifying the
-($etcdir)/ssh_prng_cmds until you have found the issue.  In the next
-release we will be looking at support '-v' for verbose output to allow
-easier debugging.
-
-The default entropy collector will timeout programs which take too long
-to execute, the actual timeout used can be adjusted with the
---with-entropy-timeout configure option. OpenSSH will not try to
-re-execute programs which have not been found, have had a non-zero
-exit status or have timed out more than a couple of times.
-
-2. Estimating the real 'rate' of program outputs is non-trivial
-
-The shear volume of the task is problematic: there are currently
-around 50 commands in the ssh_prng_cmds list, portable OpenSSH
-supports at least 12 different OSs. That is already 600 sets of data
-to be analysed, without taking into account the numerous differences
-between versions of each OS.
-
-On top of this, the different commands can produce varying amounts of
-usable data depending on how busy the machine is, how long it has been
-up and various other factors.
-
-To make matters even more complex, some of the commands are reporting
-largely the same data as other commands (eg. the various "ps" calls).
-
-
-How to avoid the default entropy code?
-
-The best way is to read the OpenSSL documentation and recompile OpenSSL
-to use prngd or egd.  Some platforms (like earily solaris) have 3rd
-party /dev/random devices that can be also used for this task.
-
-If you are forced to use ssh-rand-helper consider still downloading
-prngd/egd and configure OpenSSH using --with-prngd-port=xx or
---with-prngd-socket=xx (refer to INSTALL for more information).
-
-$Id: WARNING.RNG,v 1.5 2002/04/14 13:16:05 djm Exp $
diff --git a/crypto/openssh/acconfig.h b/crypto/openssh/acconfig.h
deleted file mode 100644 (file)
index 4668300..0000000
+++ /dev/null
@@ -1,376 +0,0 @@
-/* $Id: acconfig.h,v 1.145 2002/09/26 00:38:48 tim Exp $ */
-/* $FreeBSD: src/crypto/openssh/acconfig.h,v 1.3.2.2 2003/02/03 17:31:06 des Exp $ */
-/* $DragonFly: src/crypto/openssh/Attic/acconfig.h,v 1.2 2003/06/17 04:24:36 dillon Exp $ */
-
-#ifndef _CONFIG_H
-#define _CONFIG_H
-
-/* Generated automatically from acconfig.h by autoheader. */
-/* Please make your changes there */
-
-@TOP@
-
-/* Define to a Set Process Title type if your system is */
-/* supported by bsd-setproctitle.c */
-#undef SPT_TYPE
-
-/* setgroups() NOOP allowed */
-#undef SETGROUPS_NOOP
-
-/* SCO workaround */
-#undef BROKEN_SYS_TERMIO_H
-
-/* Define if you have SecureWare-based protected password database */
-#undef HAVE_SECUREWARE
-
-/* If your header files don't define LOGIN_PROGRAM, then use this (detected) */
-/* from environment and PATH */
-#undef LOGIN_PROGRAM_FALLBACK
-
-/* Define if your password has a pw_class field */
-#undef HAVE_PW_CLASS_IN_PASSWD
-
-/* Define if your password has a pw_expire field */
-#undef HAVE_PW_EXPIRE_IN_PASSWD
-
-/* Define if your password has a pw_change field */
-#undef HAVE_PW_CHANGE_IN_PASSWD
-
-/* Define if your system uses access rights style file descriptor passing */
-#undef HAVE_ACCRIGHTS_IN_MSGHDR
-
-/* Define if your system uses ancillary data style file descriptor passing */
-#undef HAVE_CONTROL_IN_MSGHDR
-
-/* Define if you system's inet_ntoa is busted (e.g. Irix gcc issue) */
-#undef BROKEN_INET_NTOA
-
-/* Define if your system defines sys_errlist[] */
-#undef HAVE_SYS_ERRLIST
-
-/* Define if your system defines sys_nerr */
-#undef HAVE_SYS_NERR
-
-/* Define if your system choked on IP TOS setting */
-#undef IP_TOS_IS_BROKEN
-
-/* Define if you have the getuserattr function.  */
-#undef HAVE_GETUSERATTR
-
-/* Work around problematic Linux PAM modules handling of PAM_TTY */
-#undef PAM_TTY_KLUDGE
-
-/* Use PIPES instead of a socketpair() */
-#undef USE_PIPES
-
-/* Define if your snprintf is busted */
-#undef BROKEN_SNPRINTF
-
-/* Define if you are on Cygwin */
-#undef HAVE_CYGWIN
-
-/* Define if you have a broken realpath. */
-#undef BROKEN_REALPATH
-
-/* Define if you are on NeXT */
-#undef HAVE_NEXT
-
-/* Define if you are on NEWS-OS */
-#undef HAVE_NEWS4
-
-/* Define if you want to enable PAM support */
-#undef USE_PAM
-
-/* Define if you want to enable AIX4's authenticate function */
-#undef WITH_AIXAUTHENTICATE
-
-/* Define if you have/want arrays (cluster-wide session managment, not C arrays) */
-#undef WITH_IRIX_ARRAY
-
-/* Define if you want IRIX project management */
-#undef WITH_IRIX_PROJECT
-
-/* Define if you want IRIX audit trails */
-#undef WITH_IRIX_AUDIT
-
-/* Define if you want IRIX kernel jobs */
-#undef WITH_IRIX_JOBS
-
-/* Location of PRNGD/EGD random number socket */
-#undef PRNGD_SOCKET
-
-/* Port number of PRNGD/EGD random number socket */
-#undef PRNGD_PORT
-
-/* Builtin PRNG command timeout */
-#undef ENTROPY_TIMEOUT_MSEC
-
-/* non-privileged user for privilege separation */
-#undef SSH_PRIVSEP_USER
-
-/* Define if you want to install preformatted manpages.*/
-#undef MANTYPE
-
-/* Define if your ssl headers are included with #include <openssl/header.h>  */
-#undef HAVE_OPENSSL
-
-/* Define if you are linking against RSAref.  Used only to print the right
- * message at run-time. */
-#undef RSAREF
-
-/* struct timeval */
-#undef HAVE_STRUCT_TIMEVAL
-
-/* struct utmp and struct utmpx fields */
-#undef HAVE_HOST_IN_UTMP
-#undef HAVE_HOST_IN_UTMPX
-#undef HAVE_ADDR_IN_UTMP
-#undef HAVE_ADDR_IN_UTMPX
-#undef HAVE_ADDR_V6_IN_UTMP
-#undef HAVE_ADDR_V6_IN_UTMPX
-#undef HAVE_SYSLEN_IN_UTMPX
-#undef HAVE_PID_IN_UTMP
-#undef HAVE_TYPE_IN_UTMP
-#undef HAVE_TYPE_IN_UTMPX
-#undef HAVE_TV_IN_UTMP
-#undef HAVE_TV_IN_UTMPX
-#undef HAVE_ID_IN_UTMP
-#undef HAVE_ID_IN_UTMPX
-#undef HAVE_EXIT_IN_UTMP
-#undef HAVE_TIME_IN_UTMP
-#undef HAVE_TIME_IN_UTMPX
-
-/* Define if you don't want to use your system's login() call */
-#undef DISABLE_LOGIN
-
-/* Define if you don't want to use pututline() etc. to write [uw]tmp */
-#undef DISABLE_PUTUTLINE
-
-/* Define if you don't want to use pututxline() etc. to write [uw]tmpx */
-#undef DISABLE_PUTUTXLINE
-
-/* Define if you don't want to use lastlog */
-#undef DISABLE_LASTLOG
-
-/* Define if you don't want to use lastlog in session.c */
-#undef NO_SSH_LASTLOG
-
-/* Define if you don't want to use utmp */
-#undef DISABLE_UTMP
-
-/* Define if you don't want to use utmpx */
-#undef DISABLE_UTMPX
-
-/* Define if you don't want to use wtmp */
-#undef DISABLE_WTMP
-
-/* Define if you don't want to use wtmpx */
-#undef DISABLE_WTMPX
-
-/* Some systems need a utmpx entry for /bin/login to work */
-#undef LOGIN_NEEDS_UTMPX
-
-/* Some versions of /bin/login need the TERM supplied on the commandline */
-#undef LOGIN_NEEDS_TERM
-
-/* Define if your login program cannot handle end of options ("--") */
-#undef LOGIN_NO_ENDOPT
-
-/* Define if you want to specify the path to your lastlog file */
-#undef CONF_LASTLOG_FILE
-
-/* Define if you want to specify the path to your utmp file */
-#undef CONF_UTMP_FILE
-
-/* Define if you want to specify the path to your wtmp file */
-#undef CONF_WTMP_FILE
-
-/* Define if you want to specify the path to your utmpx file */
-#undef CONF_UTMPX_FILE
-
-/* Define if you want to specify the path to your wtmpx file */
-#undef CONF_WTMPX_FILE
-
-/* Define if you want external askpass support */
-#undef USE_EXTERNAL_ASKPASS
-
-/* Define if libc defines __progname */
-#undef HAVE___PROGNAME
-
-/* Define if compiler implements __FUNCTION__ */
-#undef HAVE___FUNCTION__
-
-/* Define if compiler implements __func__ */
-#undef HAVE___func__
-
-/* Define if you want Kerberos 5 support */
-#undef KRB5
-
-/* Define this if you are using the Heimdal version of Kerberos V5 */
-#undef HEIMDAL
-
-/* Define if you want Kerberos 4 support */
-#undef KRB4
-
-/* Define if you want AFS support */
-#undef AFS
-
-/* Define if you want S/Key support */
-#undef SKEY
-
-/* Define if you want OPIE support */
-#undef OPIE
-
-/* Define if you want TCP Wrappers support */
-#undef LIBWRAP
-
-/* Define if your libraries define login() */
-#undef HAVE_LOGIN
-
-/* Define if your libraries define daemon() */
-#undef HAVE_DAEMON
-
-/* Define if your libraries define getpagesize() */
-#undef HAVE_GETPAGESIZE
-
-/* Define if xauth is found in your path */
-#undef XAUTH_PATH
-
-/* Define if you want to allow MD5 passwords */
-#undef HAVE_MD5_PASSWORDS
-
-/* Define if you want to disable shadow passwords */
-#undef DISABLE_SHADOW
-
-/* Define if you want to use shadow password expire field */
-#undef HAS_SHADOW_EXPIRE
-
-/* Define if you have Digital Unix Security Integration Architecture */
-#undef HAVE_OSF_SIA
-
-/* Define if you have getpwanam(3) [SunOS 4.x] */
-#undef HAVE_GETPWANAM
-
-/* Define if you have an old version of PAM which takes only one argument */
-/* to pam_strerror */
-#undef HAVE_OLD_PAM
-
-/* Define if you are using Solaris-derived PAM which passes pam_messages  */
-/* to the conversation function with an extra level of indirection */
-#undef PAM_SUN_CODEBASE
-
-/* Set this to your mail directory if you don't have maillock.h */
-#undef MAIL_DIRECTORY
-
-/* Data types */
-#undef HAVE_U_INT
-#undef HAVE_INTXX_T
-#undef HAVE_U_INTXX_T
-#undef HAVE_UINTXX_T
-#undef HAVE_INT64_T
-#undef HAVE_U_INT64_T
-#undef HAVE_U_CHAR
-#undef HAVE_SIZE_T
-#undef HAVE_SSIZE_T
-#undef HAVE_CLOCK_T
-#undef HAVE_MODE_T
-#undef HAVE_PID_T
-#undef HAVE_SA_FAMILY_T
-#undef HAVE_STRUCT_SOCKADDR_STORAGE
-#undef HAVE_STRUCT_ADDRINFO
-#undef HAVE_STRUCT_IN6_ADDR
-#undef HAVE_STRUCT_SOCKADDR_IN6
-
-/* Fields in struct sockaddr_storage */
-#undef HAVE_SS_FAMILY_IN_SS
-#undef HAVE___SS_FAMILY_IN_SS
-
-/* Define if you have /dev/ptmx */
-#undef HAVE_DEV_PTMX
-
-/* Define if you have /dev/ptc */
-#undef HAVE_DEV_PTS_AND_PTC
-
-/* Define if you need to use IP address instead of hostname in $DISPLAY */
-#undef IPADDR_IN_DISPLAY
-
-/* Specify default $PATH */
-#undef USER_PATH
-
-/* Specify location of ssh.pid */
-#undef _PATH_SSH_PIDDIR
-
-/* Use IPv4 for connection by default, IPv6 can still if explicity asked */
-#undef IPV4_DEFAULT
-
-/* getaddrinfo is broken (if present) */
-#undef BROKEN_GETADDRINFO
-
-/* Workaround more Linux IPv6 quirks */
-#undef DONT_TRY_OTHER_AF
-
-/* Detect IPv4 in IPv6 mapped addresses and treat as IPv4 */
-#undef IPV4_IN_IPV6
-
-/* Define if you have BSD auth support */
-#undef BSD_AUTH
-
-/* Define if X11 doesn't support AF_UNIX sockets on that system */
-#undef NO_X11_UNIX_SOCKETS
-
-/* Define if the concept of ports only accessible to superusers isn't known */
-#undef NO_IPPORT_RESERVED_CONCEPT
-
-/* Needed for SCO and NeXT */
-#undef BROKEN_SAVED_UIDS
-
-/* Define if your system glob() function has the GLOB_ALTDIRFUNC extension */
-#undef GLOB_HAS_ALTDIRFUNC
-
-/* Define if your system glob() function has gl_matchc options in glob_t */
-#undef GLOB_HAS_GL_MATCHC
-
-/* Define in your struct dirent expects you to allocate extra space for d_name */
-#undef BROKEN_ONE_BYTE_DIRENT_D_NAME
-
-/* Define if your getopt(3) defines and uses optreset */
-#undef HAVE_GETOPT_OPTRESET
-
-/* Define on *nto-qnx systems */
-#undef MISSING_NFDBITS
-
-/* Define on *nto-qnx systems */
-#undef MISSING_HOWMANY
-
-/* Define on *nto-qnx systems */
-#undef MISSING_FD_MASK
-
-/* Define if you want smartcard support */
-#undef SMARTCARD
-
-/* Define if you want smartcard support using sectok */
-#undef USE_SECTOK
-
-/* Define if you want smartcard support using OpenSC */
-#undef USE_OPENSC
-
-/* Define if you want to use OpenSSL's internally seeded PRNG only */
-#undef OPENSSL_PRNG_ONLY
-
-/* Define if you shouldn't strip 'tty' from your ttyname in [uw]tmp */
-#undef WITH_ABBREV_NO_TTY
-
-/* Define if you want a different $PATH for the superuser */
-#undef SUPERUSER_PATH
-
-/* Path that unprivileged child will chroot() to in privep mode */
-#undef PRIVSEP_PATH
-
-/* Define if your platform needs to skip post auth file descriptor passing */
-#undef DISABLE_FD_PASSING
-
-@BOTTOM@
-
-/* ******************* Shouldn't need to edit below this line ************** */
-
-#endif /* _CONFIG_H */
diff --git a/crypto/openssh/aclocal.m4 b/crypto/openssh/aclocal.m4
deleted file mode 100644 (file)
index 2705a9b..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-dnl $Id: aclocal.m4,v 1.5 2001/10/22 00:53:59 tim Exp $
-dnl
-dnl OpenSSH-specific autoconf macros
-dnl
-
-
-dnl OSSH_CHECK_HEADER_FOR_FIELD(field, header, symbol)
-dnl Does AC_EGREP_HEADER on 'header' for the string 'field'
-dnl If found, set 'symbol' to be defined. Cache the result.
-dnl TODO: This is not foolproof, better to compile and read from there
-AC_DEFUN(OSSH_CHECK_HEADER_FOR_FIELD, [
-# look for field '$1' in header '$2'
-       dnl This strips characters illegal to m4 from the header filename
-       ossh_safe=`echo "$2" | sed 'y%./+-%__p_%'`
-       dnl
-       ossh_varname="ossh_cv_$ossh_safe""_has_"$1
-       AC_MSG_CHECKING(for $1 field in $2)
-       AC_CACHE_VAL($ossh_varname, [
-               AC_EGREP_HEADER($1, $2, [ dnl
-                       eval "$ossh_varname=yes" dnl
-               ], [ dnl
-                       eval "$ossh_varname=no" dnl
-               ]) dnl
-       ])
-       ossh_result=`eval 'echo $'"$ossh_varname"`
-       if test -n "`echo $ossh_varname`"; then
-               AC_MSG_RESULT($ossh_result)
-               if test "x$ossh_result" = "xyes"; then
-                       AC_DEFINE($3)
-               fi
-       else
-               AC_MSG_RESULT(no)
-       fi
-])
-
-dnl OSSH_PATH_ENTROPY_PROG(variablename, command):
-dnl Tidiness function, sets 'undef' if not found, and does the AC_SUBST
-AC_DEFUN(OSSH_PATH_ENTROPY_PROG, [
-       AC_PATH_PROG($1, $2)
-       if test -z "[$]$1" ; then
-               $1="undef"
-       fi
-       AC_SUBST($1)
-])
-
-dnl Check for socklen_t: historically on BSD it is an int, and in
-dnl POSIX 1g it is a type of its own, but some platforms use different
-dnl types for the argument to getsockopt, getpeername, etc.  So we
-dnl have to test to find something that will work.
-AC_DEFUN([TYPE_SOCKLEN_T],
-[
-   AC_CHECK_TYPE([socklen_t], ,[
-      AC_MSG_CHECKING([for socklen_t equivalent])
-      AC_CACHE_VAL([curl_cv_socklen_t_equiv],
-      [
-        # Systems have either "struct sockaddr *" or
-        # "void *" as the second argument to getpeername
-        curl_cv_socklen_t_equiv=
-        for arg2 in "struct sockaddr" void; do
-           for t in int size_t unsigned long "unsigned long"; do
-              AC_TRY_COMPILE([
-                 #include <sys/types.h>
-                 #include <sys/socket.h>
-
-                 int getpeername (int, $arg2 *, $t *);
-              ],[
-                 $t len;
-                 getpeername(0,0,&len);
-              ],[
-                 curl_cv_socklen_t_equiv="$t"
-                 break
-              ])
-           done
-        done
-
-        if test "x$curl_cv_socklen_t_equiv" = x; then
-           AC_MSG_ERROR([Cannot find a type to use in place of socklen_t])
-        fi
-      ])
-      AC_MSG_RESULT($curl_cv_socklen_t_equiv)
-      AC_DEFINE_UNQUOTED(socklen_t, $curl_cv_socklen_t_equiv,
-                       [type to use in place of socklen_t if not defined])],
-      [#include <sys/types.h>
-#include <sys/socket.h>])
-])
-
diff --git a/crypto/openssh/atomicio.c b/crypto/openssh/atomicio.c
deleted file mode 100644 (file)
index 47161eb..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 1995,1999 Theo de Raadt.  All rights reserved.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "includes.h"
-RCSID("$OpenBSD: atomicio.c,v 1.10 2001/05/08 22:48:07 markus Exp $");
-
-#include "atomicio.h"
-
-/*
- * ensure all of data on socket comes through. f==read || f==write
- */
-ssize_t
-atomicio(f, fd, _s, n)
-       ssize_t (*f) ();
-       int fd;
-       void *_s;
-       size_t n;
-{
-       char *s = _s;
-       ssize_t res, pos = 0;
-
-       while (n > pos) {
-               res = (f) (fd, s + pos, n - pos);
-               switch (res) {
-               case -1:
-#ifdef EWOULDBLOCK
-                       if (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK)
-#else
-                       if (errno == EINTR || errno == EAGAIN)
-#endif
-                               continue;
-               case 0:
-                       return (res);
-               default:
-                       pos += res;
-               }
-       }
-       return (pos);
-}
diff --git a/crypto/openssh/atomicio.h b/crypto/openssh/atomicio.h
deleted file mode 100644 (file)
index e569d38..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*     $OpenBSD: atomicio.h,v 1.4 2001/06/26 06:32:46 itojun Exp $     */
-
-/*
- * Copyright (c) 1995,1999 Theo de Raadt.  All rights reserved.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * Ensure all of data on socket comes through. f==read || f==write
- */
-ssize_t        atomicio(ssize_t (*)(), int, void *, size_t);
diff --git a/crypto/openssh/auth-bsdauth.c b/crypto/openssh/auth-bsdauth.c
deleted file mode 100644 (file)
index 2ac27a7..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (c) 2001 Markus Friedl.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include "includes.h"
-RCSID("$OpenBSD: auth-bsdauth.c,v 1.5 2002/06/30 21:59:45 deraadt Exp $");
-
-#ifdef BSD_AUTH
-#include "xmalloc.h"
-#include "auth.h"
-#include "log.h"
-#include "monitor_wrap.h"
-
-static void *
-bsdauth_init_ctx(Authctxt *authctxt)
-{
-       return authctxt;
-}
-
-int
-bsdauth_query(void *ctx, char **name, char **infotxt,
-   u_int *numprompts, char ***prompts, u_int **echo_on)
-{
-       Authctxt *authctxt = ctx;
-       char *challenge = NULL;
-
-       if (authctxt->as != NULL) {
-               debug2("bsdauth_query: try reuse session");
-               challenge = auth_getitem(authctxt->as, AUTHV_CHALLENGE);
-               if (challenge == NULL) {
-                       auth_close(authctxt->as);
-                       authctxt->as = NULL;
-               }
-       }
-
-       if (challenge == NULL) {
-               debug2("bsdauth_query: new bsd auth session");
-               debug3("bsdauth_query: style %s",
-                   authctxt->style ? authctxt->style : "<default>");
-               authctxt->as = auth_userchallenge(authctxt->user,
-                   authctxt->style, "auth-ssh", &challenge);
-               if (authctxt->as == NULL)
-                       challenge = NULL;
-               debug2("bsdauth_query: <%s>", challenge ? challenge : "empty");
-       }
-
-       if (challenge == NULL)
-               return -1;
-
-       *name = xstrdup("");
-       *infotxt = xstrdup("");
-       *numprompts = 1;
-       *prompts = xmalloc(*numprompts * sizeof(char *));
-       *echo_on = xmalloc(*numprompts * sizeof(u_int));
-       (*echo_on)[0] = 0;
-       (*prompts)[0] = xstrdup(challenge);
-
-       return 0;
-}
-
-int
-bsdauth_respond(void *ctx, u_int numresponses, char **responses)
-{
-       Authctxt *authctxt = ctx;
-       int authok;
-
-       if (authctxt->as == 0)
-               error("bsdauth_respond: no bsd auth session");
-
-       if (numresponses != 1)
-               return -1;
-
-       authok = auth_userresponse(authctxt->as, responses[0], 0);
-       authctxt->as = NULL;
-       debug3("bsdauth_respond: <%s> = <%d>", responses[0], authok);
-
-       return (authok == 0) ? -1 : 0;
-}
-
-static void
-bsdauth_free_ctx(void *ctx)
-{
-       Authctxt *authctxt = ctx;
-
-       if (authctxt && authctxt->as) {
-               auth_close(authctxt->as);
-               authctxt->as = NULL;
-       }
-}
-
-KbdintDevice bsdauth_device = {
-       "bsdauth",
-       bsdauth_init_ctx,
-       bsdauth_query,
-       bsdauth_respond,
-       bsdauth_free_ctx
-};
-
-KbdintDevice mm_bsdauth_device = {
-       "bsdauth",
-       bsdauth_init_ctx,
-       mm_bsdauth_query,
-       mm_bsdauth_respond,
-       bsdauth_free_ctx
-};
-#endif
diff --git a/crypto/openssh/auth-chall.c b/crypto/openssh/auth-chall.c
deleted file mode 100644 (file)
index 480b0f3..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2001 Markus Friedl.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "includes.h"
-RCSID("$OpenBSD: auth-chall.c,v 1.8 2001/05/18 14:13:28 markus Exp $");
-RCSID("$FreeBSD: src/crypto/openssh/auth-chall.c,v 1.2.2.5 2003/04/07 09:56:46 des Exp $");
-RCSID("$DragonFly: src/crypto/openssh/Attic/auth-chall.c,v 1.2 2003/06/17 04:24:36 dillon Exp $");
-
-#include "auth.h"
-#include "log.h"
-#include "xmalloc.h"
-
-/* limited protocol v1 interface to kbd-interactive authentication */
-
-extern KbdintDevice *devices[];
-static KbdintDevice *device;
-
-char *
-get_challenge(Authctxt *authctxt)
-{
-       char *challenge, *name, *info, **prompts;
-       u_int i, numprompts;
-       u_int *echo_on;
-
-       device = devices[0]; /* we always use the 1st device for protocol 1 */
-       if (device == NULL)
-               return NULL;
-       if ((authctxt->kbdintctxt = device->init_ctx(authctxt)) == NULL)
-               return NULL;
-       if (device->query(authctxt->kbdintctxt, &name, &info,
-           &numprompts, &prompts, &echo_on)) {
-               device->free_ctx(authctxt->kbdintctxt);
-               authctxt->kbdintctxt = NULL;
-               return NULL;
-       }
-       if (numprompts < 1)
-               fatal("get_challenge: numprompts < 1");
-       challenge = xstrdup(prompts[0]);
-       for (i = 0; i < numprompts; i++)
-               xfree(prompts[i]);
-       xfree(prompts);
-       xfree(name);
-       xfree(echo_on);
-       xfree(info);
-
-       return (challenge);
-}
-int
-verify_response(Authctxt *authctxt, const char *response)
-{
-       char *resp[1];
-       int res;
-
-       if (device == NULL)
-               return 0;
-       if (authctxt->kbdintctxt == NULL)
-               return 0;
-       resp[0] = (char *)response;
-       res = device->respond(authctxt->kbdintctxt, 1, resp);
-       if (res == 1) {
-               /* postponed - send a null query just in case */
-               char *name, *info, **prompts;
-               u_int i, numprompts, *echo_on;
-
-               res = device->query(authctxt->kbdintctxt, &name, &info,
-                   &numprompts, &prompts, &echo_on);
-               if (res == 0) {
-                       for (i = 0; i < numprompts; i++)
-                               xfree(prompts[i]);
-                       xfree(prompts);
-                       xfree(name);
-                       xfree(echo_on);
-                       xfree(info);
-               }
-               /* if we received more prompts, we're screwed */
-               res = (numprompts != 0);
-       }
-       device->free_ctx(authctxt->kbdintctxt);
-       authctxt->kbdintctxt = NULL;
-       return res ? 0 : 1;
-}
-void
-abandon_challenge_response(Authctxt *authctxt)
-{
-       if (authctxt->kbdintctxt != NULL) {
-               device->free_ctx(authctxt->kbdintctxt);
-               authctxt->kbdintctxt = NULL;
-       }
-}
diff --git a/crypto/openssh/auth-krb4.c b/crypto/openssh/auth-krb4.c
deleted file mode 100644 (file)
index ccdde6a..0000000
+++ /dev/null
@@ -1,370 +0,0 @@
-/*
- * Copyright (c) 1999 Dug Song.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "includes.h"
-RCSID("$OpenBSD: auth-krb4.c,v 1.28 2002/09/26 11:38:43 markus Exp $");
-RCSID("$FreeBSD: src/crypto/openssh/auth-krb4.c,v 1.2.2.7 2003/02/03 17:31:06 des Exp $");
-RCSID("$DragonFly: src/crypto/openssh/Attic/auth-krb4.c,v 1.2 2003/06/17 04:24:36 dillon Exp $");
-
-#include "ssh.h"
-#include "ssh1.h"
-#include "packet.h"
-#include "xmalloc.h"
-#include "log.h"
-#include "servconf.h"
-#include "uidswap.h"
-#include "auth.h"
-
-#ifdef AFS
-#include "radix.h"
-#endif
-
-#ifdef KRB4
-extern ServerOptions options;
-
-static int
-krb4_init(void *context)
-{
-       static int cleanup_registered = 0;
-       Authctxt *authctxt = (Authctxt *)context;
-       const char *tkt_root = TKT_ROOT;
-       struct stat st;
-       int fd;
-
-       if (!authctxt->krb4_ticket_file) {
-               /* Set unique ticket string manually since we're still root. */
-               authctxt->krb4_ticket_file = xmalloc(MAXPATHLEN);
-#ifdef AFS
-               if (lstat("/ticket", &st) != -1)
-                       tkt_root = "/ticket/";
-#endif /* AFS */
-               snprintf(authctxt->krb4_ticket_file, MAXPATHLEN, "%s%u_%ld",
-                   tkt_root, authctxt->pw->pw_uid, (long)getpid());
-               krb_set_tkt_string(authctxt->krb4_ticket_file);
-       }
-       /* Register ticket cleanup in case of fatal error. */
-       if (!cleanup_registered) {
-               fatal_add_cleanup(krb4_cleanup_proc, authctxt);
-               cleanup_registered = 1;
-       }
-       /* Try to create our ticket file. */
-       if ((fd = mkstemp(authctxt->krb4_ticket_file)) != -1) {
-               close(fd);
-               return (1);
-       }
-       /* Ticket file exists - make sure user owns it (just passed ticket). */
-       if (lstat(authctxt->krb4_ticket_file, &st) != -1) {
-               if (st.st_mode == (S_IFREG | S_IRUSR | S_IWUSR) &&
-                   st.st_uid == authctxt->pw->pw_uid)
-                       return (1);
-       }
-       /* Failure - cancel cleanup function, leaving ticket for inspection. */
-       log("WARNING: bad ticket file %s", authctxt->krb4_ticket_file);
-
-       fatal_remove_cleanup(krb4_cleanup_proc, authctxt);
-       cleanup_registered = 0;
-
-       xfree(authctxt->krb4_ticket_file);
-       authctxt->krb4_ticket_file = NULL;
-
-       return (0);
-}
-
-/*
- * try krb4 authentication,
- * return 1 on success, 0 on failure, -1 if krb4 is not available
- */
-int
-auth_krb4_password(Authctxt *authctxt, const char *password)
-{
-       AUTH_DAT adata;
-       KTEXT_ST tkt;
-       struct hostent *hp;
-       struct passwd *pw;
-       char localhost[MAXHOSTNAMELEN], phost[INST_SZ], realm[REALM_SZ];
-       u_int32_t faddr;
-       int r;
-
-       if ((pw = authctxt->pw) == NULL)
-               return (0);
-
-       /*
-        * Try Kerberos password authentication only for non-root
-        * users and only if Kerberos is installed.
-        */
-       if (pw->pw_uid != 0 && krb_get_lrealm(realm, 1) == KSUCCESS) {
-               /* Set up our ticket file. */
-               if (!krb4_init(authctxt)) {
-                       log("Couldn't initialize Kerberos ticket file for %s!",
-                           pw->pw_name);
-                       goto failure;
-               }
-               /* Try to get TGT using our password. */
-               r = krb_get_pw_in_tkt((char *) pw->pw_name, "", realm,
-                   "krbtgt", realm, DEFAULT_TKT_LIFE, (char *)password);
-               if (r != INTK_OK) {
-                       debug("Kerberos v4 password authentication for %s "
-                           "failed: %s", pw->pw_name, krb_err_txt[r]);
-                       goto failure;
-               }
-               /* Successful authentication. */
-               chown(tkt_string(), pw->pw_uid, pw->pw_gid);
-
-               /*
-                * Now that we have a TGT, try to get a local
-                * "rcmd" ticket to ensure that we are not talking
-                * to a bogus Kerberos server.
-                */
-               gethostname(localhost, sizeof(localhost));
-               strlcpy(phost, (char *)krb_get_phost(localhost),
-                   sizeof(phost));
-               r = krb_mk_req(&tkt, KRB4_SERVICE_NAME, phost, realm, 33);
-
-               if (r == KSUCCESS) {
-                       if ((hp = gethostbyname(localhost)) == NULL) {
-                               log("Couldn't get local host address!");
-                               goto failure;
-                       }
-                       memmove((void *)&faddr, (void *)hp->h_addr,
-                           sizeof(faddr));
-
-                       /* Verify our "rcmd" ticket. */
-                       r = krb_rd_req(&tkt, KRB4_SERVICE_NAME, phost,
-                           faddr, &adata, "");
-                       if (r == RD_AP_UNDEC) {
-                               /*
-                                * Probably didn't have a srvtab on
-                                * localhost. Disallow login.
-                                */
-                               log("Kerberos v4 TGT for %s unverifiable, "
-                                   "no srvtab installed? krb_rd_req: %s",
-                                   pw->pw_name, krb_err_txt[r]);
-                               goto failure;
-                       } else if (r != KSUCCESS) {
-                               log("Kerberos v4 %s ticket unverifiable: %s",
-                                   KRB4_SERVICE_NAME, krb_err_txt[r]);
-                               goto failure;
-                       }
-               } else if (r == KDC_PR_UNKNOWN) {
-                       /*
-                        * Disallow login if no rcmd service exists, and
-                        * log the error.
-                        */
-                       log("Kerberos v4 TGT for %s unverifiable: %s; %s.%s "
-                           "not registered, or srvtab is wrong?", pw->pw_name,
-                           krb_err_txt[r], KRB4_SERVICE_NAME, phost);
-                       goto failure;
-               } else {
-                       /*
-                        * TGT is bad, forget it. Possibly spoofed!
-                        */
-                       debug("WARNING: Kerberos v4 TGT possibly spoofed "
-                           "for %s: %s", pw->pw_name, krb_err_txt[r]);
-                       goto failure;
-               }
-               /* Authentication succeeded. */
-               return (1);
-       } else
-               /* Logging in as root or no local Kerberos realm. */
-               debug("Unable to authenticate to Kerberos.");
-
- failure:
-       krb4_cleanup_proc(authctxt);
-
-       if (!options.kerberos_or_local_passwd)
-               return (0);
-
-       /* Fall back to ordinary passwd authentication. */
-       return (-1);
-}
-
-void
-krb4_cleanup_proc(void *context)
-{
-       Authctxt *authctxt = (Authctxt *)context;
-       debug("krb4_cleanup_proc called");
-       if (authctxt->krb4_ticket_file) {
-               (void) dest_tkt();
-               xfree(authctxt->krb4_ticket_file);
-               authctxt->krb4_ticket_file = NULL;
-       }
-}
-
-int
-auth_krb4(Authctxt *authctxt, KTEXT auth, char **client, KTEXT reply)
-{
-       AUTH_DAT adat = {0};
-       Key_schedule schedule;
-       struct sockaddr_in local, foreign;
-       char instance[INST_SZ];
-       socklen_t slen;
-       u_int cksum;
-       int r, s;
-
-       s = packet_get_connection_in();
-
-       slen = sizeof(local);
-       memset(&local, 0, sizeof(local));
-       if (getsockname(s, (struct sockaddr *) & local, &slen) < 0)
-               debug("getsockname failed: %.100s", strerror(errno));
-       slen = sizeof(foreign);
-       memset(&foreign, 0, sizeof(foreign));
-       if (getpeername(s, (struct sockaddr *) & foreign, &slen) < 0) {
-               debug("getpeername failed: %.100s", strerror(errno));
-               fatal_cleanup();
-       }
-       instance[0] = '*';
-       instance[1] = 0;
-
-       /* Get the encrypted request, challenge, and session key. */
-       if ((r = krb_rd_req(auth, KRB4_SERVICE_NAME, instance,
-           0, &adat, ""))) {
-               debug("Kerberos v4 krb_rd_req: %.100s", krb_err_txt[r]);
-               return (0);
-       }
-       des_key_sched((des_cblock *) adat.session, schedule);
-
-       *client = xmalloc(MAX_K_NAME_SZ);
-       (void) snprintf(*client, MAX_K_NAME_SZ, "%s%s%s@%s", adat.pname,
-           *adat.pinst ? "." : "", adat.pinst, adat.prealm);
-
-       /* Check ~/.klogin authorization now. */
-       if (kuserok(&adat, authctxt->user) != KSUCCESS) {
-               log("Kerberos v4 .klogin authorization failed for %s to "
-                   "account %s", *client, authctxt->user);
-               xfree(*client);
-               *client = NULL;
-               return (0);
-       }
-       /* Increment the checksum, and return it encrypted with the
-          session key. */
-       cksum = adat.checksum + 1;
-       cksum = htonl(cksum);
-
-       /* If we can't successfully encrypt the checksum, we send back an
-          empty message, admitting our failure. */
-       if ((r = krb_mk_priv((u_char *) & cksum, reply->dat, sizeof(cksum) + 1,
-           schedule, &adat.session, &local, &foreign)) < 0) {
-               debug("Kerberos v4 mk_priv: (%d) %s", r, krb_err_txt[r]);
-               reply->dat[0] = 0;
-               reply->length = 0;
-       } else
-               reply->length = r;
-
-       /* Clear session key. */
-       memset(&adat.session, 0, sizeof(&adat.session));
-       return (1);
-}
-#endif /* KRB4 */
-
-#ifdef AFS
-int
-auth_krb4_tgt(Authctxt *authctxt, const char *string)
-{
-       CREDENTIALS creds;
-       struct passwd *pw;
-
-       if ((pw = authctxt->pw) == NULL)
-               goto failure;
-
-       temporarily_use_uid(pw);
-
-       if (!radix_to_creds(string, &creds)) {
-               log("Protocol error decoding Kerberos v4 TGT");
-               goto failure;
-       }
-       if (strncmp(creds.service, "", 1) == 0) /* backward compatibility */
-               strlcpy(creds.service, "krbtgt", sizeof creds.service);
-
-       if (strcmp(creds.service, "krbtgt")) {
-               log("Kerberos v4 TGT (%s%s%s@%s) rejected for %s",
-                   creds.pname, creds.pinst[0] ? "." : "", creds.pinst,
-                   creds.realm, pw->pw_name);
-               goto failure;
-       }
-       if (!krb4_init(authctxt))
-               goto failure;
-
-       if (in_tkt(creds.pname, creds.pinst) != KSUCCESS)
-               goto failure;
-
-       if (save_credentials(creds.service, creds.instance, creds.realm,
-           creds.session, creds.lifetime, creds.kvno, &creds.ticket_st,
-           creds.issue_date) != KSUCCESS) {
-               debug("Kerberos v4 TGT refused: couldn't save credentials");
-               goto failure;
-       }
-       /* Successful authentication, passed all checks. */
-       chown(tkt_string(), pw->pw_uid, pw->pw_gid);
-
-       debug("Kerberos v4 TGT accepted (%s%s%s@%s)",
-           creds.pname, creds.pinst[0] ? "." : "", creds.pinst, creds.realm);
-       memset(&creds, 0, sizeof(creds));
-
-       restore_uid();
-
-       return (1);
-
- failure:
-       krb4_cleanup_proc(authctxt);
-       memset(&creds, 0, sizeof(creds));
-       restore_uid();
-
-       return (0);
-}
-
-int
-auth_afs_token(Authctxt *authctxt, const char *token_string)
-{
-       CREDENTIALS creds;
-       struct passwd *pw;
-       uid_t uid;
-
-       if ((pw = authctxt->pw) == NULL)
-               return (0);
-
-       if (!radix_to_creds(token_string, &creds)) {
-               log("Protocol error decoding AFS token");
-               return (0);
-       }
-       if (strncmp(creds.service, "", 1) == 0) /* backward compatibility */
-               strlcpy(creds.service, "afs", sizeof creds.service);
-
-       if (strncmp(creds.pname, "AFS ID ", 7) == 0)
-               uid = atoi(creds.pname + 7);
-       else
-               uid = pw->pw_uid;
-
-       if (kafs_settoken(creds.realm, uid, &creds)) {
-               log("AFS token (%s@%s) rejected for %s",
-                   creds.pname, creds.realm, pw->pw_name);
-               memset(&creds, 0, sizeof(creds));
-               return (0);
-       }
-       debug("AFS token accepted (%s@%s)", creds.pname, creds.realm);
-       memset(&creds, 0, sizeof(creds));
-
-       return (1);
-}
-#endif /* AFS */
diff --git a/crypto/openssh/auth-krb5.c b/crypto/openssh/auth-krb5.c
deleted file mode 100644 (file)
index 43f189a..0000000
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
- *    Kerberos v5 authentication and ticket-passing routines.
- *
- * $xFreeBSD: src/crypto/openssh/auth-krb5.c,v 1.6 2001/02/13 16:58:04 assar Exp$
- */
-/*
- * Copyright (c) 2002 Daniel Kouril.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "includes.h"
-RCSID("$OpenBSD: auth-krb5.c,v 1.9 2002/09/09 06:48:06 itojun Exp $");
-RCSID("$FreeBSD: src/crypto/openssh/auth-krb5.c,v 1.2.2.6 2003/02/03 17:31:06 des Exp $");
-RCSID("$DragonFly: src/crypto/openssh/Attic/auth-krb5.c,v 1.2 2003/06/17 04:24:36 dillon Exp $");
-
-#include "ssh.h"
-#include "ssh1.h"
-#include "packet.h"
-#include "xmalloc.h"
-#include "log.h"
-#include "servconf.h"
-#include "uidswap.h"
-#include "auth.h"
-
-#ifdef KRB5
-#include <krb5.h>
-#ifndef HEIMDAL
-#define krb5_get_err_text(context,code) error_message(code)
-#endif /* !HEIMDAL */
-
-extern ServerOptions    options;
-
-static int
-krb5_init(void *context)
-{
-       Authctxt *authctxt = (Authctxt *)context;
-       krb5_error_code problem;
-       static int cleanup_registered = 0;
-
-       if (authctxt->krb5_ctx == NULL) {
-               problem = krb5_init_context(&authctxt->krb5_ctx);
-               if (problem)
-                       return (problem);
-               krb5_init_ets(authctxt->krb5_ctx);
-       }
-       if (!cleanup_registered) {
-               fatal_add_cleanup(krb5_cleanup_proc, authctxt);
-               cleanup_registered = 1;
-       }
-       return (0);
-}
-
-/*
- * Try krb5 authentication. server_user is passed for logging purposes
- * only, in auth is received ticket, in client is returned principal
- * from the ticket
- */
-int
-auth_krb5(Authctxt *authctxt, krb5_data *auth, char **client, krb5_data *reply)
-{
-       krb5_error_code problem;
-       krb5_principal server;
-       krb5_ticket *ticket;
-       int fd, ret;
-
-       ret = 0;
-       server = NULL;
-       ticket = NULL;
-       reply->length = 0;
-
-       problem = krb5_init(authctxt);
-       if (problem)
-               goto err;
-
-       problem = krb5_auth_con_init(authctxt->krb5_ctx,
-           &authctxt->krb5_auth_ctx);
-       if (problem)
-               goto err;
-
-       fd = packet_get_connection_in();
-#ifdef HEIMDAL
-       problem = krb5_auth_con_setaddrs_from_fd(authctxt->krb5_ctx,
-           authctxt->krb5_auth_ctx, &fd);
-#else
-       problem = krb5_auth_con_genaddrs(authctxt->krb5_ctx, 
-           authctxt->krb5_auth_ctx,fd,
-           KRB5_AUTH_CONTEXT_GENERATE_REMOTE_FULL_ADDR |
-           KRB5_AUTH_CONTEXT_GENERATE_LOCAL_FULL_ADDR);
-#endif
-       if (problem)
-               goto err;
-
-       problem = krb5_sname_to_principal(authctxt->krb5_ctx,  NULL, NULL ,
-           KRB5_NT_SRV_HST, &server);
-       if (problem)
-               goto err;
-
-       problem = krb5_rd_req(authctxt->krb5_ctx, &authctxt->krb5_auth_ctx,
-           auth, server, NULL, NULL, &ticket);
-       if (problem)
-               goto err;
-
-#ifdef HEIMDAL
-       problem = krb5_copy_principal(authctxt->krb5_ctx, ticket->client,
-           &authctxt->krb5_user);
-#else
-       problem = krb5_copy_principal(authctxt->krb5_ctx, 
-                                     ticket->enc_part2->client,
-                                     &authctxt->krb5_user);
-#endif
-       if (problem)
-               goto err;
-
-       /* if client wants mutual auth */
-       problem = krb5_mk_rep(authctxt->krb5_ctx, authctxt->krb5_auth_ctx,
-           reply);
-       if (problem)
-               goto err;
-
-       /* Check .k5login authorization now. */
-       if (!krb5_kuserok(authctxt->krb5_ctx, authctxt->krb5_user,
-           authctxt->pw->pw_name))
-               goto err;
-
-       if (client)
-               krb5_unparse_name(authctxt->krb5_ctx, authctxt->krb5_user,
-                   client);
-
-       ret = 1;
- err:
-       if (server)
-               krb5_free_principal(authctxt->krb5_ctx, server);
-       if (ticket)
-               krb5_free_ticket(authctxt->krb5_ctx, ticket);
-       if (!ret && reply->length) {
-               xfree(reply->data);
-               memset(reply, 0, sizeof(*reply));
-       }
-
-       if (problem) {
-               if (authctxt->krb5_ctx != NULL)
-                       debug("Kerberos v5 authentication failed: %s",
-                           krb5_get_err_text(authctxt->krb5_ctx, problem));
-               else
-                       debug("Kerberos v5 authentication failed: %d",
-                           problem);
-       }
-
-       return (ret);
-}
-
-int
-auth_krb5_tgt(Authctxt *authctxt, krb5_data *tgt)
-{
-       krb5_error_code problem;
-       krb5_ccache ccache = NULL;
-       char *pname;
-       krb5_creds **creds;
-
-       if (authctxt->pw == NULL || authctxt->krb5_user == NULL)
-               return (0);
-
-       temporarily_use_uid(authctxt->pw);
-
-#ifdef HEIMDAL
-       problem = krb5_cc_gen_new(authctxt->krb5_ctx, &krb5_fcc_ops, &ccache);
-#else
-{
-       char ccname[40];
-       int tmpfd;
-       
-       snprintf(ccname,sizeof(ccname),"FILE:/tmp/krb5cc_%d_XXXXXX",geteuid());
-       
-       if ((tmpfd = mkstemp(ccname+strlen("FILE:")))==-1) {
-               log("mkstemp(): %.100s", strerror(errno));
-               problem = errno;
-               goto fail;
-       }
-       if (fchmod(tmpfd,S_IRUSR | S_IWUSR) == -1) {
-               log("fchmod(): %.100s", strerror(errno));
-               close(tmpfd);
-               problem = errno;
-               goto fail;
-       }
-       close(tmpfd);
-       problem = krb5_cc_resolve(authctxt->krb5_ctx, ccname, &ccache);
-}
-#endif
-       if (problem)
-               goto fail;
-
-       problem = krb5_cc_initialize(authctxt->krb5_ctx, ccache,
-           authctxt->krb5_user);
-       if (problem)
-               goto fail;
-
-#ifdef HEIMDAL
-       problem = krb5_rd_cred2(authctxt->krb5_ctx, authctxt->krb5_auth_ctx,
-           ccache, tgt);
-       if (problem)
-               goto fail;
-#else
-       problem = krb5_rd_cred(authctxt->krb5_ctx, authctxt->krb5_auth_ctx,
-           tgt, &creds, NULL);
-       if (problem)
-               goto fail;
-       problem = krb5_cc_store_cred(authctxt->krb5_ctx, ccache, *creds);
-       if (problem)
-               goto fail;
-#endif
-
-       authctxt->krb5_fwd_ccache = ccache;
-       ccache = NULL;
-
-       authctxt->krb5_ticket_file = (char *)krb5_cc_get_name(authctxt->krb5_ctx, authctxt->krb5_fwd_ccache);
-
-       problem = krb5_unparse_name(authctxt->krb5_ctx, authctxt->krb5_user,
-           &pname);
-       if (problem)
-               goto fail;
-
-       debug("Kerberos v5 TGT accepted (%s)", pname);
-
-       restore_uid();
-
-       return (1);
-
- fail:
-       if (problem)
-               debug("Kerberos v5 TGT passing failed: %s",
-                   krb5_get_err_text(authctxt->krb5_ctx, problem));
-       if (ccache)
-               krb5_cc_destroy(authctxt->krb5_ctx, ccache);
-
-       restore_uid();
-
-       return (0);
-}
-
-int
-auth_krb5_password(Authctxt *authctxt, const char *password)
-{
-#ifndef HEIMDAL
-       krb5_creds creds;
-       krb5_principal server;
-       char ccname[40];
-       int tmpfd;
-#endif 
-       krb5_error_code problem;
-
-       if (authctxt->pw == NULL)
-               return (0);
-
-       temporarily_use_uid(authctxt->pw);
-
-       problem = krb5_init(authctxt);
-       if (problem)
-               goto out;
-
-       problem = krb5_parse_name(authctxt->krb5_ctx, authctxt->pw->pw_name,
-                   &authctxt->krb5_user);
-       if (problem)
-               goto out;
-
-#ifdef HEIMDAL
-       problem = krb5_cc_gen_new(authctxt->krb5_ctx, &krb5_mcc_ops,
-           &authctxt->krb5_fwd_ccache);
-       if (problem)
-               goto out;
-
-       problem = krb5_cc_initialize(authctxt->krb5_ctx,
-           authctxt->krb5_fwd_ccache, authctxt->krb5_user);
-       if (problem)
-               goto out;
-
-       restore_uid();
-       problem = krb5_verify_user(authctxt->krb5_ctx, authctxt->krb5_user,
-           authctxt->krb5_fwd_ccache, password, 1, NULL);
-       temporarily_use_uid(authctxt->pw);
-
-       if (problem)
-               goto out;
-
-#else
-       problem = krb5_get_init_creds_password(authctxt->krb5_ctx, &creds,
-           authctxt->krb5_user, (char *)password, NULL, NULL, 0, NULL, NULL);
-       if (problem)
-               goto out;
-
-       problem = krb5_sname_to_principal(authctxt->krb5_ctx, NULL, NULL,
-           KRB5_NT_SRV_HST, &server);
-       if (problem)
-               goto out;
-
-       restore_uid();
-       problem = krb5_verify_init_creds(authctxt->krb5_ctx, &creds, server,
-           NULL, NULL, NULL);
-       krb5_free_principal(authctxt->krb5_ctx, server);
-       temporarily_use_uid(authctxt->pw);
-       if (problem)
-               goto out;
-       
-       if (!krb5_kuserok(authctxt->krb5_ctx, authctxt->krb5_user, 
-                         authctxt->pw->pw_name)) {
-               problem = -1;
-               goto out;
-       } 
-
-       snprintf(ccname,sizeof(ccname),"FILE:/tmp/krb5cc_%d_XXXXXX",geteuid());
-       
-       if ((tmpfd = mkstemp(ccname+strlen("FILE:")))==-1) {
-               log("mkstemp(): %.100s", strerror(errno));
-               problem = errno;
-               goto out;
-       }
-       
-       if (fchmod(tmpfd,S_IRUSR | S_IWUSR) == -1) {
-               log("fchmod(): %.100s", strerror(errno));
-               close(tmpfd);
-               problem = errno;
-               goto out;
-       }
-       close(tmpfd);
-
-       problem = krb5_cc_resolve(authctxt->krb5_ctx, ccname, &authctxt->krb5_fwd_ccache);
-       if (problem)
-               goto out;
-
-       problem = krb5_cc_initialize(authctxt->krb5_ctx, authctxt->krb5_fwd_ccache,
-                                    authctxt->krb5_user);
-       if (problem)
-               goto out;
-                               
-       problem= krb5_cc_store_cred(authctxt->krb5_ctx, authctxt->krb5_fwd_ccache,
-                                &creds);
-       if (problem)
-               goto out;
-#endif         
-
-       authctxt->krb5_ticket_file = (char *)krb5_cc_get_name(authctxt->krb5_ctx, authctxt->krb5_fwd_ccache);
-
- out:
-       restore_uid();
-
-       if (problem) {
-               if (authctxt->krb5_ctx != NULL && problem!=-1)
-                       debug("Kerberos password authentication failed: %s",
-                           krb5_get_err_text(authctxt->krb5_ctx, problem));
-               else
-                       debug("Kerberos password authentication failed: %d",
-                           problem);
-
-               krb5_cleanup_proc(authctxt);
-
-               if (options.kerberos_or_local_passwd)
-                       return (-1);
-               else
-                       return (0);
-       }
-       return (1);
-}
-
-void
-krb5_cleanup_proc(void *context)
-{
-       Authctxt *authctxt = (Authctxt *)context;
-
-       debug("krb5_cleanup_proc called");
-       if (authctxt->krb5_fwd_ccache) {
-               krb5_cc_destroy(authctxt->krb5_ctx, authctxt->krb5_fwd_ccache);
-               authctxt->krb5_fwd_ccache = NULL;
-       }
-       if (authctxt->krb5_user) {
-               krb5_free_principal(authctxt->krb5_ctx, authctxt->krb5_user);
-               authctxt->krb5_user = NULL;
-       }
-       if (authctxt->krb5_auth_ctx) {
-               krb5_auth_con_free(authctxt->krb5_ctx,
-                   authctxt->krb5_auth_ctx);
-               authctxt->krb5_auth_ctx = NULL;
-       }
-       if (authctxt->krb5_ctx) {
-               krb5_free_context(authctxt->krb5_ctx);
-               authctxt->krb5_ctx = NULL;
-       }
-}
-
-#endif /* KRB5 */
diff --git a/crypto/openssh/auth-options.c b/crypto/openssh/auth-options.c
deleted file mode 100644 (file)
index 8595fdc..0000000
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Author: Tatu Ylonen <ylo@cs.hut.fi>
- * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
- *                    All rights reserved
- * As far as I am concerned, the code I have written for this software
- * can be used freely for any purpose.  Any derived versions of this
- * software must be clearly marked as such, and if the derived work is
- * incompatible with the protocol description in the RFC file, it must be
- * called by a name other than "ssh" or "Secure Shell".
- */
-
-#include "includes.h"
-RCSID("$OpenBSD: auth-options.c,v 1.26 2002/07/30 17:03:55 markus Exp $");
-
-#include "xmalloc.h"
-#include "match.h"
-#include "log.h"
-#include "canohost.h"
-#include "channels.h"
-#include "auth-options.h"
-#include "servconf.h"
-#include "misc.h"
-#include "monitor_wrap.h"
-#include "auth.h"
-
-/* Flags set authorized_keys flags */
-int no_port_forwarding_flag = 0;
-int no_agent_forwarding_flag = 0;
-int no_x11_forwarding_flag = 0;
-int no_pty_flag = 0;
-
-/* "command=" option. */
-char *forced_command = NULL;
-
-/* "environment=" options. */
-struct envstring *custom_environment = NULL;
-
-extern ServerOptions options;
-
-void
-auth_clear_options(void)
-{
-       no_agent_forwarding_flag = 0;
-       no_port_forwarding_flag = 0;
-       no_pty_flag = 0;
-       no_x11_forwarding_flag = 0;
-       while (custom_environment) {
-               struct envstring *ce = custom_environment;
-               custom_environment = ce->next;
-               xfree(ce->s);
-               xfree(ce);
-       }
-       if (forced_command) {
-               xfree(forced_command);
-               forced_command = NULL;
-       }
-       channel_clear_permitted_opens();
-       auth_debug_reset();
-}
-
-/*
- * return 1 if access is granted, 0 if not.
- * side effect: sets key option flags
- */
-int
-auth_parse_options(struct passwd *pw, char *opts, char *file, u_long linenum)
-{
-       const char *cp;
-       int i;
-
-       /* reset options */
-       auth_clear_options();
-
-       if (!opts)
-               return 1;
-
-       while (*opts && *opts != ' ' && *opts != '\t') {
-               cp = "no-port-forwarding";
-               if (strncasecmp(opts, cp, strlen(cp)) == 0) {
-                       auth_debug_add("Port forwarding disabled.");
-                       no_port_forwarding_flag = 1;
-                       opts += strlen(cp);
-                       goto next_option;
-               }
-               cp = "no-agent-forwarding";
-               if (strncasecmp(opts, cp, strlen(cp)) == 0) {
-                       auth_debug_add("Agent forwarding disabled.");
-                       no_agent_forwarding_flag = 1;
-                       opts += strlen(cp);
-                       goto next_option;
-               }
-               cp = "no-X11-forwarding";
-               if (strncasecmp(opts, cp, strlen(cp)) == 0) {
-                       auth_debug_add("X11 forwarding disabled.");
-                       no_x11_forwarding_flag = 1;
-                       opts += strlen(cp);
-                       goto next_option;
-               }
-               cp = "no-pty";
-               if (strncasecmp(opts, cp, strlen(cp)) == 0) {
-                       auth_debug_add("Pty allocation disabled.");
-                       no_pty_flag = 1;
-                       opts += strlen(cp);
-                       goto next_option;
-               }
-               cp = "command=\"";
-               if (strncasecmp(opts, cp, strlen(cp)) == 0) {
-                       opts += strlen(cp);
-                       forced_command = xmalloc(strlen(opts) + 1);
-                       i = 0;
-                       while (*opts) {
-                               if (*opts == '"')
-                                       break;
-                               if (*opts == '\\' && opts[1] == '"') {
-                                       opts += 2;
-                                       forced_command[i++] = '"';
-                                       continue;
-                               }
-                               forced_command[i++] = *opts++;
-                       }
-                       if (!*opts) {
-                               debug("%.100s, line %lu: missing end quote",
-                                   file, linenum);
-                               auth_debug_add("%.100s, line %lu: missing end quote",
-                                   file, linenum);
-                               xfree(forced_command);
-                               forced_command = NULL;
-                               goto bad_option;
-                       }
-                       forced_command[i] = 0;
-                       auth_debug_add("Forced command: %.900s", forced_command);
-                       opts++;
-                       goto next_option;
-               }
-               cp = "environment=\"";
-               if (options.permit_user_env &&
-                   strncasecmp(opts, cp, strlen(cp)) == 0) {
-                       char *s;
-                       struct envstring *new_envstring;
-
-                       opts += strlen(cp);
-                       s = xmalloc(strlen(opts) + 1);
-                       i = 0;
-                       while (*opts) {
-                               if (*opts == '"')
-                                       break;
-                               if (*opts == '\\' && opts[1] == '"') {
-                                       opts += 2;
-                                       s[i++] = '"';
-                                       continue;
-                               }
-                               s[i++] = *opts++;
-                       }
-                       if (!*opts) {
-                               debug("%.100s, line %lu: missing end quote",
-                                   file, linenum);
-                               auth_debug_add("%.100s, line %lu: missing end quote",
-                                   file, linenum);
-                               xfree(s);
-                               goto bad_option;
-                       }
-                       s[i] = 0;
-                       auth_debug_add("Adding to environment: %.900s", s);
-                       debug("Adding to environment: %.900s", s);
-                       opts++;
-                       new_envstring = xmalloc(sizeof(struct envstring));
-                       new_envstring->s = s;
-                       new_envstring->next = custom_environment;
-                       custom_environment = new_envstring;
-                       goto next_option;
-               }
-               cp = "from=\"";
-               if (strncasecmp(opts, cp, strlen(cp)) == 0) {
-                       const char *remote_ip = get_remote_ipaddr();
-                       const char *remote_host = get_canonical_hostname(
-                           options.verify_reverse_mapping);
-                       char *patterns = xmalloc(strlen(opts) + 1);
-
-                       opts += strlen(cp);
-                       i = 0;
-                       while (*opts) {
-                               if (*opts == '"')
-                                       break;
-                               if (*opts == '\\' && opts[1] == '"') {
-                                       opts += 2;
-                                       patterns[i++] = '"';
-                                       continue;
-                               }
-                               patterns[i++] = *opts++;
-                       }
-                       if (!*opts) {
-                               debug("%.100s, line %lu: missing end quote",
-                                   file, linenum);
-                               auth_debug_add("%.100s, line %lu: missing end quote",
-                                   file, linenum);
-                               xfree(patterns);
-                               goto bad_option;
-                       }
-                       patterns[i] = 0;
-                       opts++;
-                       if (match_host_and_ip(remote_host, remote_ip,
-                           patterns) != 1) {
-                               xfree(patterns);
-                               log("Authentication tried for %.100s with "
-                                   "correct key but not from a permitted "
-                                   "host (host=%.200s, ip=%.200s).",
-                                   pw->pw_name, remote_host, remote_ip);
-                               auth_debug_add("Your host '%.200s' is not "
-                                   "permitted to use this key for login.",
-                                   remote_host);
-                               /* deny access */
-                               return 0;
-                       }
-                       xfree(patterns);
-                       /* Host name matches. */
-                       goto next_option;
-               }
-               cp = "permitopen=\"";
-               if (strncasecmp(opts, cp, strlen(cp)) == 0) {
-                       char host[256], sport[6];
-                       u_short port;
-                       char *patterns = xmalloc(strlen(opts) + 1);
-
-                       opts += strlen(cp);
-                       i = 0;
-                       while (*opts) {
-                               if (*opts == '"')
-                                       break;
-                               if (*opts == '\\' && opts[1] == '"') {
-                                       opts += 2;
-                                       patterns[i++] = '"';
-                                       continue;
-                               }
-                               patterns[i++] = *opts++;
-                       }
-                       if (!*opts) {
-                               debug("%.100s, line %lu: missing end quote",
-                                   file, linenum);
-                               auth_debug_add("%.100s, line %lu: missing end quote",
-                                   file, linenum);
-                               xfree(patterns);
-                               goto bad_option;
-                       }
-                       patterns[i] = 0;
-                       opts++;
-                       if (sscanf(patterns, "%255[^:]:%5[0-9]", host, sport) != 2 &&
-                           sscanf(patterns, "%255[^/]/%5[0-9]", host, sport) != 2) {
-                               debug("%.100s, line %lu: Bad permitopen specification "
-                                   "<%.100s>", file, linenum, patterns);
-                               auth_debug_add("%.100s, line %lu: "
-                                   "Bad permitopen specification", file, linenum);
-                               xfree(patterns);
-                               goto bad_option;
-                       }
-                       if ((port = a2port(sport)) == 0) {
-                               debug("%.100s, line %lu: Bad permitopen port <%.100s>",
-                                   file, linenum, sport);
-                               auth_debug_add("%.100s, line %lu: "
-                                   "Bad permitopen port", file, linenum);
-                               xfree(patterns);
-                               goto bad_option;
-                       }
-                       if (options.allow_tcp_forwarding)
-                               channel_add_permitted_opens(host, port);
-                       xfree(patterns);
-                       goto next_option;
-               }
-next_option:
-               /*
-                * Skip the comma, and move to the next option
-                * (or break out if there are no more).
-                */
-               if (!*opts)
-                       fatal("Bugs in auth-options.c option processing.");
-               if (*opts == ' ' || *opts == '\t')
-                       break;          /* End of options. */
-               if (*opts != ',')
-                       goto bad_option;
-               opts++;
-               /* Process the next option. */
-       }
-
-       if (!use_privsep)
-               auth_debug_send();
-
-       /* grant access */
-       return 1;
-
-bad_option:
-       log("Bad options in %.100s file, line %lu: %.50s",
-           file, linenum, opts);
-       auth_debug_add("Bad options in %.100s file, line %lu: %.50s",
-           file, linenum, opts);
-
-       if (!use_privsep)
-               auth_debug_send();
-
-       /* deny access */
-       return 0;
-}
diff --git a/crypto/openssh/auth-options.h b/crypto/openssh/auth-options.h
deleted file mode 100644 (file)
index 15fb212..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*     $OpenBSD: auth-options.h,v 1.12 2002/07/21 18:34:43 stevesk Exp $       */
-
-/*
- * Author: Tatu Ylonen <ylo@cs.hut.fi>
- * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
- *                    All rights reserved
- *
- * As far as I am concerned, the code I have written for this software
- * can be used freely for any purpose.  Any derived versions of this
- * software must be clearly marked as such, and if the derived work is
- * incompatible with the protocol description in the RFC file, it must be
- * called by a name other than "ssh" or "Secure Shell".
- */
-
-#ifndef AUTH_OPTIONS_H
-#define AUTH_OPTIONS_H
-
-/* Linked list of custom environment strings */
-struct envstring {
-       struct envstring *next;
-       char   *s;
-};
-
-/* Flags that may be set in authorized_keys options. */
-extern int no_port_forwarding_flag;
-extern int no_agent_forwarding_flag;
-extern int no_x11_forwarding_flag;
-extern int no_pty_flag;
-extern char *forced_command;
-extern struct envstring *custom_environment;
-
-int    auth_parse_options(struct passwd *, char *, char *, u_long);
-void   auth_clear_options(void);
-
-#endif
diff --git a/crypto/openssh/auth-pam.c b/crypto/openssh/auth-pam.c
deleted file mode 100644 (file)
index 8e2a0bf..0000000
+++ /dev/null
@@ -1,465 +0,0 @@
-/*
- * Copyright (c) 2000 Damien Miller.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "includes.h"
-
-#ifdef USE_PAM
-#include "xmalloc.h"
-#include "log.h"
-#include "auth.h"
-#include "auth-options.h"
-#include "auth-pam.h"
-#include "servconf.h"
-#include "canohost.h"
-#include "readpass.h"
-
-extern char *__progname;
-
-extern int use_privsep;
-
-RCSID("$Id: auth-pam.c,v 1.54 2002/07/28 20:24:08 stevesk Exp $");
-RCSID("$FreeBSD: src/crypto/openssh/auth-pam.c,v 1.2.2.4 2003/02/03 17:31:06 des Exp $");
-RCSID("$DragonFly: src/crypto/openssh/Attic/auth-pam.c,v 1.2 2003/06/17 04:24:36 dillon Exp $");
-
-#define NEW_AUTHTOK_MSG \
-       "Warning: Your password has expired, please change it now."
-#define NEW_AUTHTOK_MSG_PRIVSEP \
-       "Your password has expired, the session cannot proceed."
-
-static int do_pam_conversation(int num_msg, const struct pam_message **msg,
-       struct pam_response **resp, void *appdata_ptr);
-
-/* module-local variables */
-static struct pam_conv conv = {
-       (int (*)())do_pam_conversation,
-       NULL
-};
-static char *__pam_msg = NULL;
-static pam_handle_t *__pamh = NULL;
-static const char *__pampasswd = NULL;
-
-/* states for do_pam_conversation() */
-enum { INITIAL_LOGIN, OTHER } pamstate = INITIAL_LOGIN;
-/* remember whether pam_acct_mgmt() returned PAM_NEW_AUTHTOK_REQD */
-static int password_change_required = 0;
-/* remember whether the last pam_authenticate() succeeded or not */
-static int was_authenticated = 0;
-
-/* Remember what has been initialised */
-static int session_opened = 0;
-static int creds_set = 0;
-
-/* accessor which allows us to switch conversation structs according to
- * the authentication method being used */
-void do_pam_set_conv(struct pam_conv *conv)
-{
-       pam_set_item(__pamh, PAM_CONV, conv);
-}
-
-/* start an authentication run */
-int do_pam_authenticate(int flags)
-{
-       int retval = pam_authenticate(__pamh, flags);
-       was_authenticated = (retval == PAM_SUCCESS);
-       return retval;
-}
-
-/*
- * PAM conversation function.
- * There are two states this can run in.
- *
- * INITIAL_LOGIN mode simply feeds the password from the client into
- * PAM in response to PAM_PROMPT_ECHO_OFF, and collects output
- * messages with into __pam_msg.  This is used during initial
- * authentication to bypass the normal PAM password prompt.
- *
- * OTHER mode handles PAM_PROMPT_ECHO_OFF with read_passphrase()
- * and outputs messages to stderr. This mode is used if pam_chauthtok()
- * is called to update expired passwords.
- */
-static int do_pam_conversation(int num_msg, const struct pam_message **msg,
-       struct pam_response **resp, void *appdata_ptr)
-{
-       struct pam_response *reply;
-       int count;
-       char buf[1024];
-
-       /* PAM will free this later */
-       reply = xmalloc(num_msg * sizeof(*reply));
-
-       for (count = 0; count < num_msg; count++) {
-               if (pamstate == INITIAL_LOGIN) {
-                       /*
-                        * We can't use stdio yet, queue messages for 
-                        * printing later
-                        */
-                       switch(PAM_MSG_MEMBER(msg, count, msg_style)) {
-                       case PAM_PROMPT_ECHO_ON:
-                               xfree(reply);
-                               return PAM_CONV_ERR;
-                       case PAM_PROMPT_ECHO_OFF:
-                               if (__pampasswd == NULL) {
-                                       xfree(reply);
-                                       return PAM_CONV_ERR;
-                               }
-                               reply[count].resp = xstrdup(__pampasswd);
-                               reply[count].resp_retcode = PAM_SUCCESS;
-                               break;
-                       case PAM_ERROR_MSG:
-                       case PAM_TEXT_INFO:
-                               if (PAM_MSG_MEMBER(msg, count, msg) != NULL) {
-                                       message_cat(&__pam_msg, 
-                                           PAM_MSG_MEMBER(msg, count, msg));
-                               }
-                               reply[count].resp = xstrdup("");
-                               reply[count].resp_retcode = PAM_SUCCESS;
-                               break;
-                       default:
-                               xfree(reply);
-                               return PAM_CONV_ERR;
-                       }
-               } else {
-                       /*
-                        * stdio is connected, so interact directly
-                        */
-                       switch(PAM_MSG_MEMBER(msg, count, msg_style)) {
-                       case PAM_PROMPT_ECHO_ON:
-                               fputs(PAM_MSG_MEMBER(msg, count, msg), stderr);
-                               fgets(buf, sizeof(buf), stdin);
-                               reply[count].resp = xstrdup(buf);
-                               reply[count].resp_retcode = PAM_SUCCESS;
-                               break;
-                       case PAM_PROMPT_ECHO_OFF:
-                               reply[count].resp = 
-                                   read_passphrase(PAM_MSG_MEMBER(msg, count,
-                                       msg), RP_ALLOW_STDIN);
-                               reply[count].resp_retcode = PAM_SUCCESS;
-                               break;
-                       case PAM_ERROR_MSG:
-                       case PAM_TEXT_INFO:
-                               if (PAM_MSG_MEMBER(msg, count, msg) != NULL)
-                                       fprintf(stderr, "%s\n", 
-                                           PAM_MSG_MEMBER(msg, count, msg));
-                               reply[count].resp = xstrdup("");
-                               reply[count].resp_retcode = PAM_SUCCESS;
-                               break;
-                       default:
-                               xfree(reply);
-                               return PAM_CONV_ERR;
-                       }
-               }
-       }
-
-       *resp = reply;
-
-       return PAM_SUCCESS;
-}
-
-/* Called at exit to cleanly shutdown PAM */
-void do_pam_cleanup_proc(void *context)
-{
-       int pam_retval = PAM_SUCCESS;
-
-       if (__pamh && session_opened) {
-               pam_retval = pam_close_session(__pamh, 0);
-               if (pam_retval != PAM_SUCCESS)
-                       log("Cannot close PAM session[%d]: %.200s",
-                           pam_retval, PAM_STRERROR(__pamh, pam_retval));
-       }
-
-       if (__pamh && creds_set) {
-               pam_retval = pam_setcred(__pamh, PAM_DELETE_CRED);
-               if (pam_retval != PAM_SUCCESS)
-                       debug("Cannot delete credentials[%d]: %.200s", 
-                           pam_retval, PAM_STRERROR(__pamh, pam_retval));
-       }
-
-       if (__pamh) {
-               pam_retval = pam_end(__pamh, pam_retval);
-               if (pam_retval != PAM_SUCCESS)
-                       log("Cannot release PAM authentication[%d]: %.200s",
-                           pam_retval, PAM_STRERROR(__pamh, pam_retval));
-       }
-}
-
-/* Attempt password authentation using PAM */
-int auth_pam_password(Authctxt *authctxt, const char *password)
-{
-       extern ServerOptions options;
-       int pam_retval;
-       struct passwd *pw = authctxt->pw;
-
-       do_pam_set_conv(&conv);
-
-       /* deny if no user. */
-       if (pw == NULL)
-               return 0;
-       if (pw->pw_uid == 0 && options.permit_root_login == PERMIT_NO_PASSWD)
-               return 0;
-       if (*password == '\0' && options.permit_empty_passwd == 0)
-               return 0;
-
-       __pampasswd = password;
-
-       pamstate = INITIAL_LOGIN;
-       pam_retval = do_pam_authenticate(
-           options.permit_empty_passwd == 0 ? PAM_DISALLOW_NULL_AUTHTOK : 0);
-       if (pam_retval == PAM_SUCCESS) {
-               debug("PAM Password authentication accepted for "
-                   "user \"%.100s\"", pw->pw_name);
-               return 1;
-       } else {
-               debug("PAM Password authentication for \"%.100s\" "
-                   "failed[%d]: %s", pw->pw_name, pam_retval, 
-                   PAM_STRERROR(__pamh, pam_retval));
-               return 0;
-       }
-}
-
-/* Do account management using PAM */
-int do_pam_account(char *username, char *remote_user)
-{
-       int pam_retval;
-
-       do_pam_set_conv(&conv);
-
-       if (remote_user) {
-               debug("PAM setting ruser to \"%.200s\"", remote_user);
-               pam_retval = pam_set_item(__pamh, PAM_RUSER, remote_user);
-               if (pam_retval != PAM_SUCCESS)
-                       fatal("PAM set ruser failed[%d]: %.200s", pam_retval, 
-                           PAM_STRERROR(__pamh, pam_retval));
-       }
-
-       pam_retval = pam_acct_mgmt(__pamh, 0);
-       debug2("pam_acct_mgmt() = %d", pam_retval);
-       switch (pam_retval) {
-               case PAM_SUCCESS:
-                       /* This is what we want */
-                       break;
-#if 0
-               case PAM_NEW_AUTHTOK_REQD:
-                       message_cat(&__pam_msg, use_privsep ?
-                           NEW_AUTHTOK_MSG_PRIVSEP : NEW_AUTHTOK_MSG);
-                       /* flag that password change is necessary */
-                       password_change_required = 1;
-                       /* disallow other functionality for now */
-                       no_port_forwarding_flag |= 2;
-                       no_agent_forwarding_flag |= 2;
-                       no_x11_forwarding_flag |= 2;
-                       break;
-#endif
-               default:
-                       log("PAM rejected by account configuration[%d]: "
-                           "%.200s", pam_retval, PAM_STRERROR(__pamh, 
-                           pam_retval));
-                       return(0);
-       }
-
-       return(1);
-}
-
-/* Do PAM-specific session initialisation */
-void do_pam_session(char *username, const char *ttyname)
-{
-       int pam_retval;
-
-       do_pam_set_conv(&conv);
-
-       if (ttyname != NULL) {
-               debug("PAM setting tty to \"%.200s\"", ttyname);
-               pam_retval = pam_set_item(__pamh, PAM_TTY, ttyname);
-               if (pam_retval != PAM_SUCCESS)
-                       fatal("PAM set tty failed[%d]: %.200s",
-                           pam_retval, PAM_STRERROR(__pamh, pam_retval));
-       }
-
-       pam_retval = pam_open_session(__pamh, 0);
-       if (pam_retval != PAM_SUCCESS)
-               fatal("PAM session setup failed[%d]: %.200s",
-                   pam_retval, PAM_STRERROR(__pamh, pam_retval));
-
-       session_opened = 1;
-}
-
-/* Set PAM credentials */
-void do_pam_setcred(int init)
-{
-       int pam_retval;
-
-       if (__pamh == NULL)
-               return;
-
-       do_pam_set_conv(&conv);
-
-       debug("PAM establishing creds");
-       pam_retval = pam_setcred(__pamh, 
-           init ? PAM_ESTABLISH_CRED : PAM_REINITIALIZE_CRED);
-       if (pam_retval != PAM_SUCCESS) {
-               if (was_authenticated)
-                       fatal("PAM setcred failed[%d]: %.200s",
-                           pam_retval, PAM_STRERROR(__pamh, pam_retval));
-               else
-                       debug("PAM setcred failed[%d]: %.200s",
-                           pam_retval, PAM_STRERROR(__pamh, pam_retval));
-       } else
-               creds_set = 1;
-}
-
-/* accessor function for file scope static variable */
-int is_pam_password_change_required(void)
-{
-       return password_change_required;
-}
-
-/*
- * Have user change authentication token if pam_acct_mgmt() indicated
- * it was expired.  This needs to be called after an interactive
- * session is established and the user's pty is connected to
- * stdin/stdout/stderr.
- */
-void do_pam_chauthtok(void)
-{
-       int pam_retval;
-
-       do_pam_set_conv(&conv);
-
-       if (password_change_required) {
-               if (use_privsep)
-                       fatal("Password changing is currently unsupported"
-                           " with privilege separation");
-               pamstate = OTHER;
-               pam_retval = pam_chauthtok(__pamh, PAM_CHANGE_EXPIRED_AUTHTOK);
-               if (pam_retval != PAM_SUCCESS)
-                       fatal("PAM pam_chauthtok failed[%d]: %.200s",
-                           pam_retval, PAM_STRERROR(__pamh, pam_retval));
-#if 0
-               /* XXX: This would need to be done in the parent process,
-                * but there's currently no way to pass such request. */
-               no_port_forwarding_flag &= ~2;
-               no_agent_forwarding_flag &= ~2;
-               no_x11_forwarding_flag &= ~2;
-               if (!no_port_forwarding_flag && options.allow_tcp_forwarding)
-                       channel_permit_all_opens();
-#endif
-       }
-}
-
-/* Cleanly shutdown PAM */
-void finish_pam(void)
-{
-       do_pam_cleanup_proc(NULL);
-       fatal_remove_cleanup(&do_pam_cleanup_proc, NULL);
-}
-
-/* Start PAM authentication for specified account */
-void start_pam(const char *user)
-{
-       int pam_retval;
-       extern ServerOptions options;
-       extern u_int utmp_len;
-       const char *rhost;
-
-       debug("Starting up PAM with username \"%.200s\"", user);
-
-       pam_retval = pam_start(SSHD_PAM_SERVICE, user, &conv, &__pamh);
-
-       if (pam_retval != PAM_SUCCESS)
-               fatal("PAM initialisation failed[%d]: %.200s",
-                   pam_retval, PAM_STRERROR(__pamh, pam_retval));
-
-       rhost = get_remote_name_or_ip(utmp_len, options.verify_reverse_mapping);
-       debug("PAM setting rhost to \"%.200s\"", rhost);
-
-       pam_retval = pam_set_item(__pamh, PAM_RHOST, rhost);
-       if (pam_retval != PAM_SUCCESS)
-               fatal("PAM set rhost failed[%d]: %.200s", pam_retval,
-                   PAM_STRERROR(__pamh, pam_retval));
-#ifdef PAM_TTY_KLUDGE
-       /*
-        * Some PAM modules (e.g. pam_time) require a TTY to operate,
-        * and will fail in various stupid ways if they don't get one.
-        * sshd doesn't set the tty until too late in the auth process and may
-        * not even need one (for tty-less connections)
-        * Kludge: Set a fake PAM_TTY
-        */
-       pam_retval = pam_set_item(__pamh, PAM_TTY, "NODEVssh");
-       if (pam_retval != PAM_SUCCESS)
-               fatal("PAM set tty failed[%d]: %.200s",
-                   pam_retval, PAM_STRERROR(__pamh, pam_retval));
-#endif /* PAM_TTY_KLUDGE */
-
-       fatal_add_cleanup(&do_pam_cleanup_proc, NULL);
-}
-
-/* Return list of PAM environment strings */
-char **fetch_pam_environment(void)
-{
-#ifdef HAVE_PAM_GETENVLIST
-       return(pam_getenvlist(__pamh));
-#else /* HAVE_PAM_GETENVLIST */
-       return(NULL);
-#endif /* HAVE_PAM_GETENVLIST */
-}
-
-void free_pam_environment(char **env)
-{
-       int i;
-
-       if (env != NULL) {
-               for (i = 0; env[i] != NULL; i++)
-                       xfree(env[i]);
-       }
-}
-
-/* Print any messages that have been generated during authentication */
-/* or account checking to stderr */
-void print_pam_messages(void)
-{
-       if (__pam_msg != NULL)
-               fputs(__pam_msg, stderr);
-}
-
-/* Append a message to buffer */
-void message_cat(char **p, const char *a)
-{
-       char *cp;
-       size_t new_len;
-
-       new_len = strlen(a);
-
-       if (*p) {
-               size_t len = strlen(*p);
-
-               *p = xrealloc(*p, new_len + len + 2);
-               cp = *p + len;
-       } else
-               *p = cp = xmalloc(new_len + 2);
-
-       memcpy(cp, a, new_len);
-       cp[new_len] = '\n';
-       cp[new_len + 1] = '\0';
-}
-
-#endif /* USE_PAM */
diff --git a/crypto/openssh/auth-pam.h b/crypto/openssh/auth-pam.h
deleted file mode 100644 (file)
index 4538447..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/* $Id: auth-pam.h,v 1.16 2002/07/23 00:44:07 stevesk Exp $ */
-/* $FreeBSD: src/crypto/openssh/auth-pam.h,v 1.2.2.4 2003/02/03 17:31:06 des Exp $ */
-/* $DragonFly: src/crypto/openssh/Attic/auth-pam.h,v 1.2 2003/06/17 04:24:36 dillon Exp $ */
-
-/*
- * Copyright (c) 2000 Damien Miller.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "includes.h"
-#ifdef USE_PAM
-
-#if !defined(SSHD_PAM_SERVICE)
-# define SSHD_PAM_SERVICE              __progname
-#endif
-
-void start_pam(const char *user);
-void finish_pam(void);
-int auth_pam_password(Authctxt *authctxt, const char *password);
-char **fetch_pam_environment(void);
-void free_pam_environment(char **env);
-int do_pam_authenticate(int flags);
-int do_pam_account(const char *username, const char *remote_user);
-void do_pam_session(const char *username, const char *ttyname);
-void do_pam_setcred(int init);
-void print_pam_messages(void);
-int is_pam_password_change_required(void);
-void do_pam_chauthtok(void);
-void do_pam_set_conv(struct pam_conv *);
-void message_cat(char **p, const char *a);
-
-#endif /* USE_PAM */
diff --git a/crypto/openssh/auth-passwd.c b/crypto/openssh/auth-passwd.c
deleted file mode 100644 (file)
index 5193fd3..0000000
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Author: Tatu Ylonen <ylo@cs.hut.fi>
- * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
- *                    All rights reserved
- * Password authentication.  This file contains the functions to check whether
- * the password is valid for the user.
- *
- * As far as I am concerned, the code I have written for this software
- * can be used freely for any purpose.  Any derived versions of this
- * software must be clearly marked as such, and if the derived work is
- * incompatible with the protocol description in the RFC file, it must be
- * called by a name other than "ssh" or "Secure Shell".
- *
- * Copyright (c) 1999 Dug Song.  All rights reserved.
- * Copyright (c) 2000 Markus Friedl.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "includes.h"
-RCSID("$OpenBSD: auth-passwd.c,v 1.27 2002/05/24 16:45:16 stevesk Exp $");
-RCSID("$FreeBSD: src/crypto/openssh/auth-passwd.c,v 1.2.2.7 2003/02/03 17:31:06 des Exp $");
-RCSID("$DragonFly: src/crypto/openssh/Attic/auth-passwd.c,v 1.2 2003/06/17 04:24:36 dillon Exp $");
-
-#include "packet.h"
-#include "log.h"
-#include "servconf.h"
-#include "auth.h"
-
-/*
- * Do not try to use PAM for password authentication, as it is
- * already (and far better) supported by the challenge/response
- * authentication mechanism.
- */
-#undef USE_PAM
-
-#if !defined(USE_PAM) && !defined(HAVE_OSF_SIA)
-/* Don't need any of these headers for the PAM or SIA cases */
-# ifdef HAVE_CRYPT_H
-#  include <crypt.h>
-# endif
-# ifdef WITH_AIXAUTHENTICATE
-#  include <login.h>
-# endif
-# ifdef __hpux
-#  include <hpsecurity.h>
-#  include <prot.h>
-# endif
-# ifdef HAVE_SECUREWARE
-#  include <sys/security.h>
-#  include <sys/audit.h>
-#  include <prot.h>
-# endif /* HAVE_SECUREWARE */
-# if defined(HAVE_SHADOW_H) && !defined(DISABLE_SHADOW)
-#  include <shadow.h>
-# endif
-# if defined(HAVE_GETPWANAM) && !defined(DISABLE_SHADOW)
-#  include <sys/label.h>
-#  include <sys/audit.h>
-#  include <pwdadj.h>
-# endif
-# if defined(HAVE_MD5_PASSWORDS) && !defined(HAVE_MD5_CRYPT)
-#  include "md5crypt.h"
-# endif /* defined(HAVE_MD5_PASSWORDS) && !defined(HAVE_MD5_CRYPT) */
-
-# ifdef HAVE_CYGWIN
-#  undef ERROR
-#  include <windows.h>
-#  include <sys/cygwin.h>
-#  define is_winnt       (GetVersion() < 0x80000000)
-# endif
-#endif /* !USE_PAM && !HAVE_OSF_SIA */
-
-extern ServerOptions options;
-#ifdef WITH_AIXAUTHENTICATE
-extern char *aixloginmsg;
-#endif
-
-/*
- * Tries to authenticate the user using password.  Returns true if
- * authentication succeeds.
- */
-int
-auth_password(Authctxt *authctxt, const char *password)
-{
-#if defined(USE_PAM)
-       if (*password == '\0' && options.permit_empty_passwd == 0)
-               return 0;
-       return auth_pam_password(authctxt, password);
-#elif defined(HAVE_OSF_SIA)
-       if (*password == '\0' && options.permit_empty_passwd == 0)
-               return 0;
-       return auth_sia_password(authctxt, password);
-#else
-       struct passwd * pw = authctxt->pw;
-       char *encrypted_password;
-       char *pw_password;
-       char *salt;
-#if defined(__hpux) || defined(HAVE_SECUREWARE)
-       struct pr_passwd *spw;
-#endif /* __hpux || HAVE_SECUREWARE */
-#if defined(HAVE_SHADOW_H) && !defined(DISABLE_SHADOW)
-       struct spwd *spw;
-#endif
-#if defined(HAVE_GETPWANAM) && !defined(DISABLE_SHADOW)
-       struct passwd_adjunct *spw;
-#endif
-#ifdef WITH_AIXAUTHENTICATE
-       char *authmsg;
-       int authsuccess;
-       int reenter = 1;
-#endif
-
-       /* deny if no user. */
-       if (pw == NULL)
-               return 0;
-#ifndef HAVE_CYGWIN
-       if (pw->pw_uid == 0 && options.permit_root_login != PERMIT_YES)
-               return 0;
-#endif
-       if (*password == '\0' && options.permit_empty_passwd == 0)
-               return 0;
-#ifdef KRB5
-       if (options.kerberos_authentication == 1) {
-               int ret = auth_krb5_password(authctxt, password);
-               if (ret == 1 || ret == 0)
-                       return ret;
-               /* Fall back to ordinary passwd authentication. */
-       }
-#endif
-#ifdef HAVE_CYGWIN
-       if (is_winnt) {
-               HANDLE hToken = cygwin_logon_user(pw, password);
-
-               if (hToken == INVALID_HANDLE_VALUE)
-                       return 0;
-               cygwin_set_impersonation_token(hToken);
-               return 1;
-       }
-#endif
-#ifdef WITH_AIXAUTHENTICATE
-       authsuccess = (authenticate(pw->pw_name,password,&reenter,&authmsg) == 0);
-
-       if (authsuccess)
-               /* We don't have a pty yet, so just label the line as "ssh" */
-               if (loginsuccess(authctxt->user,
-                       get_canonical_hostname(options.verify_reverse_mapping),
-                       "ssh", &aixloginmsg) < 0)
-                               aixloginmsg = NULL;
-
-       return(authsuccess);
-#endif
-#ifdef KRB4
-       if (options.kerberos_authentication == 1) {
-               int ret = auth_krb4_password(authctxt, password);
-               if (ret == 1 || ret == 0)
-                       return ret;
-               /* Fall back to ordinary passwd authentication. */
-       }
-#endif
-#ifdef BSD_AUTH
-       if (auth_userokay(pw->pw_name, authctxt->style, "auth-ssh",
-           (char *)password) == 0)
-               return 0;
-       else
-               return 1;
-#endif
-       pw_password = pw->pw_passwd;
-
-       /*
-        * Various interfaces to shadow or protected password data
-        */
-#if defined(HAVE_SHADOW_H) && !defined(DISABLE_SHADOW)
-       spw = getspnam(pw->pw_name);
-       if (spw != NULL)
-               pw_password = spw->sp_pwdp;
-#endif /* defined(HAVE_SHADOW_H) && !defined(DISABLE_SHADOW) */
-
-#if defined(HAVE_GETPWANAM) && !defined(DISABLE_SHADOW)
-       if (issecure() && (spw = getpwanam(pw->pw_name)) != NULL)
-               pw_password = spw->pwa_passwd;
-#endif /* defined(HAVE_GETPWANAM) && !defined(DISABLE_SHADOW) */
-
-#ifdef HAVE_SECUREWARE
-       if ((spw = getprpwnam(pw->pw_name)) != NULL)
-               pw_password = spw->ufld.fd_encrypt;
-#endif /* HAVE_SECUREWARE */
-
-#if defined(__hpux) && !defined(HAVE_SECUREWARE)
-       if (iscomsec() && (spw = getprpwnam(pw->pw_name)) != NULL)
-               pw_password = spw->ufld.fd_encrypt;
-#endif /* defined(__hpux) && !defined(HAVE_SECUREWARE) */
-
-       /* Check for users with no password. */
-       if ((password[0] == '\0') && (pw_password[0] == '\0'))
-               return 1;
-
-       if (pw_password[0] != '\0')
-               salt = pw_password;
-       else
-               salt = "xx";
-
-#ifdef HAVE_MD5_PASSWORDS
-       if (is_md5_salt(salt))
-               encrypted_password = md5_crypt(password, salt);
-       else
-               encrypted_password = crypt(password, salt);
-#else /* HAVE_MD5_PASSWORDS */
-# if defined(__hpux) && !defined(HAVE_SECUREWARE)
-       if (iscomsec())
-               encrypted_password = bigcrypt(password, salt);
-       else
-               encrypted_password = crypt(password, salt);
-# else
-#  ifdef HAVE_SECUREWARE
-       encrypted_password = bigcrypt(password, salt);
-#  else
-       encrypted_password = crypt(password, salt);
-#  endif /* HAVE_SECUREWARE */
-# endif /* __hpux && !defined(HAVE_SECUREWARE) */
-#endif /* HAVE_MD5_PASSWORDS */
-
-       /* Authentication is accepted if the encrypted passwords are identical. */
-       return (strcmp(encrypted_password, pw_password) == 0);
-#endif /* !USE_PAM && !HAVE_OSF_SIA */
-}
diff --git a/crypto/openssh/auth-rh-rsa.c b/crypto/openssh/auth-rh-rsa.c
deleted file mode 100644 (file)
index d7848d0..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Author: Tatu Ylonen <ylo@cs.hut.fi>
- * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
- *                    All rights reserved
- * Rhosts or /etc/hosts.equiv authentication combined with RSA host
- * authentication.
- *
- * As far as I am concerned, the code I have written for this software
- * can be used freely for any purpose.  Any derived versions of this
- * software must be clearly marked as such, and if the derived work is
- * incompatible with the protocol description in the RFC file, it must be
- * called by a name other than "ssh" or "Secure Shell".
- */
-
-#include "includes.h"
-RCSID("$OpenBSD: auth-rh-rsa.c,v 1.34 2002/03/25 09:25:06 markus Exp $");
-
-#include "packet.h"
-#include "uidswap.h"
-#include "log.h"
-#include "servconf.h"
-#include "key.h"
-#include "hostfile.h"
-#include "pathnames.h"
-#include "auth.h"
-#include "canohost.h"
-
-#include "monitor_wrap.h"
-
-/* import */
-extern ServerOptions options;
-
-int
-auth_rhosts_rsa_key_allowed(struct passwd *pw, char *cuser, char *chost,
-    Key *client_host_key)
-{
-       HostStatus host_status;
-
-       /* Check if we would accept it using rhosts authentication. */
-   &n