strongSwan Developer Documentation » History » Version 29

Version 28 (Martin Willi, 07.05.2009 13:27) → Version 29/58 (Andreas Steffen, 15.06.2009 07:39)

h1. strongSwan Developer Documentation

h2. Getting the Source Code

The easiest way to get the source code is checking it out from our "Git": repository:
git clone

h2. 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.

h2. Code style

For new code (charon, libstrongswan, ...) we heavily use an [[ObjectOrientedC|object oriented programming style]] for C.

h2. Contributions

Before starting development, please read our [[Contributions|contribution requirements]].

h2. 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 new strongSwan library on which charon is built.|
|libfreeswan|The deprecated library used by pluto.|
|[[DynamicUmlMeshModeler|dumm]]|An new and experimental UML testing framework in developement.|
|[[IpsecCommand|ipsec]]|The ipsec command line tool wrapping commands and other tools.|
|libcrypto|The deprecated crypto routines used in pluto.|
|[[libfast]]|A lightweight framework to build native web applications using ClearSilver and FastCGI.|
|[[Manager|manager]]|A graphical management application for charon based on libfast.|
|[[OpenAc|openac]]|Utility to build attribute certificates on the command line.|
|[[ScepClient|scepclient]]|Utility to enroll certificates using the SCEP protocol.|
|[[IpsecStarter|starter]]|Reads _ipsec.conf_ and controls the keying daemons pluto and charon.|
|[[IpsecStroke|stroke]]|Command line utility to control charon via the stroke protocol.|
|[[IpsecWhack|whack]]|Command line utility to control pluto via the whack protocol.|