mirror of
https://github.com/clearml/dropbear
synced 2025-01-31 02:46:58 +00:00
3d12521735
* Add support for Ed25519 as a public key type Ed25519 is a elliptic curve signature scheme that offers better security than ECDSA and DSA and good performance. It may be used for both user and host keys. OpenSSH key import and fuzzer are not supported yet. Initially inspired by Peter Szabo. * Add curve25519 and ed25519 fuzzers * Add import and export of Ed25519 keys
122 lines
3.2 KiB
Plaintext
122 lines
3.2 KiB
Plaintext
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:
|