summaryrefslogtreecommitdiff
path: root/lib/HACKING
blob: 8163fdfe54862d51ceaab8afbc1bdc1f9e398546 (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
HACKING file for libradsec (in Emacs -*- org -*- mode).

Status as of libradsec-0.0.1 (2010-10-05).

* Build instructions
cd libradsec/lib
ln -s /usr/share/libtool/config/ltmain.sh ..	# bug
sh autogen.sh
./configure 	# bug -- won't complain when missing libraries
make
examples/client examples/client.conf blocking ; echo $?

* Design of the API
- There are three usage models.
  - You use the send and receive calls in blocking mode.
  - You run the libevent loop and get callbacks instead of doing
    blocking reads.
  - You run your own event loop, using fd's for select and do the i/o
    using the libradsec send/receive calls.
- Fully reentrant (FIXME: any issues with libfreeradius-radius?)

* Dependencies
- libfreeradius-radius -- no i/o used
- libconfuse
- libevent 2.0.x -- not packaged yet!

* Functionality and quality
** Tested and verified
** Not well tested
- reading config file
- short read
- short write
- autoconf/automake/libtool
** Known issues
- leaking memory
- udp issues with libevent
** Not implemented
- client: matching responses, resending packets
- custom allocation scheme used in all places
- callbacks invoked properly
- server failover
- TLS support
- TLS preshared key support
- DTLS support