123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- 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
- ed25519.c Ed25519 asymmetric crypto routines
- gened25519.c Ed25519 key generation
- 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:
|