strongSwan Developer Documentation¶
Getting the Source Code¶
The easiest way to get the source code is checking it out from our Git repository:
git clone git://git.strongswan.org/strongswan.git
Source Code Documentation¶
The newer parts of strongSwan use extractable inline documentation extensively. This documentation is extracted with doxygen three times a day and uploaded to the /apidoc folder.
Code style¶
For new code (charon, libstrongswan, ...) we heavily use an object oriented programming style for C. Also have a look to our basic programming style guidelines.
Contributions¶
Before starting development, please read our contribution requirements.
Compoments¶
The src directory in the strongSwan distribution contains a set of compoments:
| charon | The IKEv2 keying daemon. |
| pluto | The IKEv1 keying daemon. |
| libstrongswan | The strongSwan library with basic functions used by the charon and pluto daemons |
| libfreeswan | The deprecated library used by pluto. |
| dumm | An new and experimental UML testing framework in developement. |
| ipsec | The ipsec command line tool wrapping commands and other tools. |
| libfast | A lightweight framework to build native web applications using ClearSilver and FastCGI. |
| manager | A graphical management application for charon based on libfast. |
| openac | Utility to build attribute certificates on the command line. |
| pki | Public Key Infrastructury utility. |
| scepclient | Utility to enroll certificates using the SCEP protocol. |
| starter | Reads ipsec.conf and controls the keying daemons pluto and charon. |
| stroke | Command line utility to control charon via the stroke protocol. |
| whack | Command line utility to control pluto via the whack protocol. |