summaryrefslogtreecommitdiff
path: root/lib/HACKING
blob: 6708c19c3c8fc45bafb850e426624024cb5c136a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
HACKING file for libradsec (in Emacs -*- org -*- mode).

Status as of libradsec-0.0.1-dev (2011-02-28).

* Build instructions
cd libradsec/lib
sh autogen.sh
./configure
make


examples/client -r examples/client-tls.conf blocking-tls ; echo $?

* Design of the API
- There are three usage modes
  - You use the send and receive calls (blocking mode)
  - You register callbacks and run the libevent dispatch loop (user
    dispatch mode)
  - You run your own event loop, using fd's for select and do the I/O
    using the libradsec send/receive calls (on-your-own mode)
- Fully reentrant (FIXME: any issues with libfreeradius-radius?)

* Dependencies
- libfreeradius-radius -- no i/o used
- libconfuse
- libevent 2.0.x

* Functionality and quality
** Tested and verified
** Not well tested
- reading config file
- short read
- short write
- basic tls support
** Known issues
- leaking memory
- udp issues with libevent
- error stack is one entry deep
** Not implemented
- client: udp (resending packets), access-challenge, read/write timeout
- custom allocation scheme used in all places
- server failover
- TLS: verify CNAME
- TLS preshared key support
- DTLS support