HACKING file for libradsec (in Emacs -*- org -*- mode). Status as of libradsec-0.0.1-dev (2011-03-12). * Build instructions cd libradsec/lib sh autogen.sh ./configure #--enable-tls 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 This is on Ubuntu 10.10. - libfreeradius-radius (2.1.9+dfsg-1ubuntu1) sudo apt-get install libfreeradius-dev libfreeradius2 - libconfuse (2.7-1) sudo apt-get install libconfuse-dev libconfuse0 - libevent from source (release-2.0.10-stable) git clone --branch release-2.0.10-stable git://levent.git.sourceforge.net/gitroot/levent/levent cd levent; sh autogen.sh && ./configure --enable-openssl make && sudo make install * Functionality and quality ** Tested and verified ** Not well tested - reading config file - [TCP] short read - [TCP] short write - [TLS] basic tls support ** Known issues - leaking memory - error stack is only one entry deep ** Not implemented - custom allocation scheme used in all places - server failover - [TLS] verification of CNAME - [TLS] preshared key support - [DTLS] support