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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
The radcli library
==================
0. BRANCH STATE
---------------
|BuildStatus|_
.. |BuildStatus| image:: https://travis-ci.org/radcli/radcli.png
.. _BuildStatus: https://travis-ci.org/radcli/radcli
1. INTRODUCTION
---------------
The radcli library is a library for writing RADIUS Clients. The library's
approach is to allow writing RADIUS-aware application in less than 50 lines
of C code. It was based originally on freeradius-client and radiusclient-ng
and is source compatible with them.
2. Background
-------------
For the development of the openconnect VPN server, I needed a simple library to
allow using radius for authentication and accounting without having to understand
the internals of radius. Such library was the freeradius-client library, but
was undocumented, had too much legacy code centered around radlogin, a tool
which is of no significance today, was IPv4-only and had no releases for
several years.
This library addresses these shortcomings, adds package management via
pkg-config, adds support for TCP, TLS and DTLS, provides documentation of the API,
and will include any new features for the task. It is provided as a shared
library in case it is useful to other projects as well, and is also made source
compatible with radiusclient-ng and freeradius-client.
3. Documentation
----------------
Documentation and examples are available at:
http://radcli.github.io/radcli/
4. Compilation
--------------
Run autogen.sh to generate the configure script and makefiles.
Required dependencies (Fedora/RHEL pkg):
```
yum install -y autoconf libtool automake nettle-devel gnutls-devel abi-compliance-checker
```
Required dependencies (Fedora 23+):
```
dnf install -y autoconf libtool automake nettle-devel gnutls-devel gettext-devel abi-compliance-checker
```
Required dependencies (Debian pkg):
```
apt-get install -y autoconf libtool automake nettle-dev libgnutls28-dev abi-compliance-checker
```
5. Contributing/Submitting pull requests
----------------------------------------
For adding new features or extending functionality in addition to the code,
please also submit a test program which verifies the correctness of operation.
See tests/ and .travis.yml for the existing test suite.
6. Bug reporting
----------------
Please use the issue tracker at:
https://github.com/radcli/radcli/issues
7. Web Site
-----------
The web site http://radcli.github.io/radcli is the primary web-site for
radcli and is auto-generated via the 'make web' rule.
|