=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/OVERVIEW,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- src/usr.bin/ssh/OVERVIEW 1999/09/26 20:53:32 1.1 +++ src/usr.bin/ssh/OVERVIEW 1999/09/27 21:15:53 1.2 @@ -12,36 +12,6 @@ There are some subsystems/abstractions that are used by a number of these programs. - Configuration - - - Ssh configures itself with "./configure" in the source - directory. The configuration system is based on GNU Autoconf. - The "configure" script is generated from configure.in using the - autoconf tool (2.4 required, plus a patch for AC_ARG_PROGRAM). - Additionally, the file config.h.in is generated from - configure.in and acconfig.h with the autoheader tool (also part - of GNU Autoconf). The configure process generates Makefile from - Makefile.in, the file config.h, and a few other files from their - respective .in files. The configure script uses the files - config.guess (to determine current host type), config.sub (to - validate given host type). It may also arrange to use the - install.sh script from the Makefile when installing programs. - - Makefile - - The Makefile (generated from Makefile.in with configure) contains the - following major targets: - - all: (default) compile all executables. - install: installs executables and manual pages; installs - configuration files and generates host key if they don't exist. - uninstall: removes installed executables and manual pages. - clean: removes object files, executables, and some temporary files. - distclean: removes all generated files ("distrigution state"). - depend: updates dependencies. - RFC: run RFC.nroff trough nroff to generate a new version of the RFC. - dist: generate a distribution ".tar.gz" file. - Buffer manipulation routines - These provide an arbitrary size buffer, where data can be appended. @@ -59,37 +29,20 @@ - Ssh contains several encryption algorithms. These are all accessed through the cipher.h interface. The interface code is - in cipher.c, and the implementations in des.c, idea.c, tss.c, - md5.c, rc4.c, and tss.c. + in cipher.c, and the implementations in des.c, ssh_md5.c, rc4.c. Multiple Precision Integer Library - - Ssh uses the GNU Multiple Precision Library (gmp). The code is in the - gmp-1.3.2 subdirectory. - + - Uses the SSLeay BIGNUM sublibrary. - Some auxiliary functions for mp-int manipulation are in mpaux.c. Random Numbers - - The random numbers for cryptographic use are generated by using - a generator with 1024 byte pool that uses MD5 to stir the pool. - The generator acquires a little amount of new entropy every time - it stirs the pool. + - Uses arc4random() and such. - - The distribution also contains the file random.c which offers a - substitute for the BSD random() function. This function is only - refernced from the gmp library; the function where it is used is - only used in the gmp primality checking functions (ssh uses the - Fermat test in addition to the gmp primality test). - RSA key generation, encryption, decryption - - Ssh contains its own RSA routines. It can, however, also be compiled to - use RSAREF. The interface to RSA encryption/decryption is in rsaglue.c; - it will either call RSAREF (which must be in the rsaref2 subdirectory - if it is used - it does not come with ssh). Normally it calls functions - in rsa.c. The file rsa.c also contains prime generation code and - RSA key generation. + - Ssh uses the RSA routines in libssl. RSA key files @@ -210,17 +163,3 @@ tildexpand.c expand tilde in file names uidswap.c uid-swapping xmalloc.c "safe" malloc routines - - Substitutions files for missing functions - - - To ease porting, the distribution contains alternative versions of some - functions for those platforms that don't have them. These are - added to the CONFOBJS target by configure where needed. - crypt.c password encryption crypt() (Convex needs this) - memmove.c memmove() function - putenv.c putenv() function - random.c random() function (see discussion above) - remove.c remove() function - socketpair.c socketpair() function (kludge; SCO needs it) - strerror.c strerror() function -