filelist.txt 3.2 KB

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