1This file is out of date - it remains here in case it is still of use. 2The basic naming convention is svr- and cli- for seperate parts, 3then common- for common parts. Some files have no prefix. 4 5A brief rundown on which files do what, and their corresponding sections 6in the IETF drafts. The .c files usually have corresponding .h files. 7 8Transport layer draft-ietf-secsh-transport-16.txt 9=============== 10 11session.c Contains the main select() loop, and handles setting 12 up/closing down ssh connections 13 14algo.c Framework for handling various ciphers/hashes/algos, 15 and choosing between the lists of client/server 16 preferred ones 17 18kex.c Key exchange routines, used at startup to negotiate 19 which algorithms to use, and also to obtain session 20 keys. This also runs when rekeying during the 21 connection. 22 23packet.c Handles the basic packet encryption/decryption, 24 and switching to the appropriate packet handlers. 25 Called from session.c's main select loop. 26 27service.c Handles service requests (userauth or connection) 28 29 30Authentication draft-ietf-secsh-userauth-17.txt 31============== 32 33auth.c General auth handling, including user checking etc, 34 passes different auth types to auth{passwd,pubkey} 35 36authpasswd.c Handles /etc/passwd or /etc/shadow auth 37 38authpubkey.c Handles ~/.ssh/authorized_keys auth 39 40 41Connection draft-ietf-secsh-connect-17.txt 42========== 43 44channel.c Channel handling routines - each shell/tcp conn/agent 45 etc is a channel. 46 47chansession.c Handles shell/exec requests 48 49sshpty.c From OpenSSH, allocates PTYs etc 50 51termcodes.c Mapping of POSIX terminal codes to SSH terminal codes 52 53loginrec.c From OpenSSH, handles utmp/wtmp logging 54 55x11fwd.c Handles X11 forwarding 56 57agentfwd.c Handles auth-agent forwarding requests 58 59localtcpfwd.c Handles -L style tcp forwarding requests, setting 60 up the listening port and also handling connections 61 to that port (and subsequent channels) 62 63 64Program-related 65=============== 66 67dbmulti.c Combination binary chooser main() function 68 69dbutil.c Various utility functions, incl logging, memory etc 70 71dropbearconvert.c Conversion from dropbear<->openssh keys, uses 72 keyimport.c to do most of the work 73 74dropbearkey.c Generates keys, calling gen{dss,rsa} 75 76keyimport.c Modified from PuTTY, converts between key types 77 78main.c dropbear's main(), handles listening, forking for 79 new connections, child-process limits 80 81runopts.c Parses commandline options 82 83options.h Compile-time feature selection 84 85config.h Features selected from configure 86 87debug.h Compile-time selection of debug features 88 89includes.h Included system headers etc 90 91 92Generic Routines 93================ 94 95signkey.c A generic handler for pubkeys, switches to dss or rsa 96 depending on the key type 97 98rsa.c RSA asymmetric crypto routines 99 100dss.c DSS asymmetric crypto routines 101 102gendss.c DSS key generation 103 104genrsa.c RSA key generation 105 106bignum.c Some bignum helper functions 107 108queue.c A queue, used to enqueue encrypted packets to send 109 110random.c PRNG, based on /dev/urandom or prngd 111 112atomicio.c From OpenSSH, does `blocking' IO on non-blocking fds 113 114buffer.c Buffer-usage routines, with size checking etc 115 116 117vim:set ts=8: 118