| This file is out of date - it remains here in case it is still of use. |
| The basic naming convention is svr- and cli- for seperate parts, |
| then common- for common parts. Some files have no prefix. |
| |
| A brief rundown on which files do what, and their corresponding sections |
| in the IETF drafts. The .c files usually have corresponding .h files. |
| |
| Transport layer draft-ietf-secsh-transport-16.txt |
| =============== |
| |
| session.c Contains the main select() loop, and handles setting |
| up/closing down ssh connections |
| |
| algo.c Framework for handling various ciphers/hashes/algos, |
| and choosing between the lists of client/server |
| preferred ones |
| |
| kex.c Key exchange routines, used at startup to negotiate |
| which algorithms to use, and also to obtain session |
| keys. This also runs when rekeying during the |
| connection. |
| |
| packet.c Handles the basic packet encryption/decryption, |
| and switching to the appropriate packet handlers. |
| Called from session.c's main select loop. |
| |
| service.c Handles service requests (userauth or connection) |
| |
| |
| Authentication draft-ietf-secsh-userauth-17.txt |
| ============== |
| |
| auth.c General auth handling, including user checking etc, |
| passes different auth types to auth{passwd,pubkey} |
| |
| authpasswd.c Handles /etc/passwd or /etc/shadow auth |
| |
| authpubkey.c Handles ~/.ssh/authorized_keys auth |
| |
| |
| Connection draft-ietf-secsh-connect-17.txt |
| ========== |
| |
| channel.c Channel handling routines - each shell/tcp conn/agent |
| etc is a channel. |
| |
| chansession.c Handles shell/exec requests |
| |
| sshpty.c From OpenSSH, allocates PTYs etc |
| |
| termcodes.c Mapping of POSIX terminal codes to SSH terminal codes |
| |
| loginrec.c From OpenSSH, handles utmp/wtmp logging |
| |
| x11fwd.c Handles X11 forwarding |
| |
| agentfwd.c Handles auth-agent forwarding requests |
| |
| localtcpfwd.c Handles -L style tcp forwarding requests, setting |
| up the listening port and also handling connections |
| to that port (and subsequent channels) |
| |
| |
| Program-related |
| =============== |
| |
| dbmulti.c Combination binary chooser main() function |
| |
| dbutil.c Various utility functions, incl logging, memory etc |
| |
| dropbearconvert.c Conversion from dropbear<->openssh keys, uses |
| keyimport.c to do most of the work |
| |
| dropbearkey.c Generates keys, calling gen{dss,rsa} |
| |
| keyimport.c Modified from PuTTY, converts between key types |
| |
| main.c dropbear's main(), handles listening, forking for |
| new connections, child-process limits |
| |
| runopts.c Parses commandline options |
| |
| options.h Compile-time feature selection |
| |
| config.h Features selected from configure |
| |
| debug.h Compile-time selection of debug features |
| |
| includes.h Included system headers etc |
| |
| |
| Generic Routines |
| ================ |
| |
| signkey.c A generic handler for pubkeys, switches to dss or rsa |
| depending on the key type |
| |
| rsa.c RSA asymmetric crypto routines |
| |
| dss.c DSS asymmetric crypto routines |
| |
| gendss.c DSS key generation |
| |
| genrsa.c RSA key generation |
| |
| bignum.c Some bignum helper functions |
| |
| queue.c A queue, used to enqueue encrypted packets to send |
| |
| random.c PRNG, based on /dev/urandom or prngd |
| |
| atomicio.c From OpenSSH, does `blocking' IO on non-blocking fds |
| |
| buffer.c Buffer-usage routines, with size checking etc |
| |
| |
| vim:set ts=8: |