Project

General

Profile

strongSwan Developer Documentation » History » Version 31

Martin Willi, 04.09.2009 16:25

1 25 Martin Willi
h1. strongSwan Developer Documentation
2 25 Martin Willi
3 25 Martin Willi
h2. Getting the Source Code
4 25 Martin Willi
5 27 Tobias Brunner
The easiest way to get the source code is checking it out from our "Git":http://git-scm.com/ repository:
6 25 Martin Willi
<pre>
7 27 Tobias Brunner
git clone http://git.strongswan.org/strongswan.git
8 25 Martin Willi
</pre>
9 1 Martin Willi
10 25 Martin Willi
h2. Source Code Documentation
11 1 Martin Willi
12 25 Martin Willi
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":http://www.strongswan.org/apidoc folder.
13 1 Martin Willi
14 25 Martin Willi
h2. Code style
15 25 Martin Willi
16 31 Martin Willi
For new code (charon, libstrongswan, ...) we heavily use an [[ObjectOrientedC|object oriented programming style]] for C. Also have a look to our basic [[ProgrammingStyle|programming style]] guidelines.
17 25 Martin Willi
18 25 Martin Willi
h2. Contributions
19 1 Martin Willi
20 1 Martin Willi
Before starting development, please read our [[Contributions|contribution requirements]].
21 1 Martin Willi
22 1 Martin Willi
h2. Compoments
23 1 Martin Willi
24 1 Martin Willi
The _src_ directory in the strongSwan distribution contains a set of compoments:
25 1 Martin Willi
26 26 Martin Willi
|[[charon]]|The IKEv2 keying daemon.|
27 26 Martin Willi
|[[pluto]]|The IKEv1 keying daemon.|
28 30 Andreas Steffen
|[[libstrongswan]]|The strongSwan library with basic functions used by the charon and pluto daemons |
29 26 Martin Willi
|libfreeswan|The deprecated library used by pluto.|
30 26 Martin Willi
|[[DynamicUmlMeshModeler|dumm]]|An new and experimental UML testing framework in developement.|
31 26 Martin Willi
|[[IpsecCommand|ipsec]]|The ipsec command line tool wrapping commands and other tools.|
32 28 Martin Willi
|[[libfast]]|A lightweight framework to build native web applications using ClearSilver and FastCGI.|
33 26 Martin Willi
|[[Manager|manager]]|A graphical management application for charon based on libfast.|
34 26 Martin Willi
|[[OpenAc|openac]]|Utility to build attribute certificates on the command line.|
35 26 Martin Willi
|[[ScepClient|scepclient]]|Utility to enroll certificates using the SCEP protocol.|
36 26 Martin Willi
|[[IpsecStarter|starter]]|Reads _ipsec.conf_ and controls the keying daemons pluto and charon.|
37 26 Martin Willi
|[[IpsecStroke|stroke]]|Command line utility to control charon via the stroke protocol.|
38 26 Martin Willi
|[[IpsecWhack|whack]]|Command line utility to control pluto via the whack protocol.|