aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2007-06-11 12:11:41 +0000
committerMartin Willi <martin@strongswan.org>2007-06-11 12:11:41 +0000
commit432b298e403ed1a82f29d60219826b73b9b43d01 (patch)
treee82d13eec9aa7ccfad8839b7eac68f1ae16347b6
parent9fe1a1ca7617bb562750864aae1892ece1a6a1e6 (diff)
downloadstrongswan-432b298e403ed1a82f29d60219826b73b9b43d01.tar.bz2
strongswan-432b298e403ed1a82f29d60219826b73b9b43d01.tar.xz
documentation fixes and updates
-rw-r--r--HACKING10
-rw-r--r--TODO14
-rwxr-xr-xautogen.sh2
-rw-r--r--src/charon/bus/bus.h16
-rw-r--r--src/charon/processing/jobs/callback_job.c2
-rw-r--r--src/charon/processing/jobs/callback_job.h13
-rw-r--r--src/charon/processing/processor.h4
7 files changed, 40 insertions, 21 deletions
diff --git a/HACKING b/HACKING
index 7357d8055..3a7a2c94d 100644
--- a/HACKING
+++ b/HACKING
@@ -38,11 +38,17 @@ Then you're in, start the build as usual:
make install
+API documentation
+-----------------
+Charon and libstrongswan contain inline code documentation. These comments can be
+extracted using doxygen. It is built using 'make apidoc', which creates an 'apidoc'
+folder containing the HTML files.
+
+
uClibc support
--------------
-Support for uClibc is still work in progress. To get started, make sure to
-include the following options:
+To run strongSwan on uClibc, you need at least:
String and Stdio Support --->
[*] Support glibc's register_printf_function()
diff --git a/TODO b/TODO
index 03b4827e6..aecc05595 100644
--- a/TODO
+++ b/TODO
@@ -10,18 +10,15 @@ gain hassle-free configuration, version negotiation and maintainability.
Roadmap 2007
============
- Apr ! - credentials backend redesign
+ Jun ! - distribution packages
! - interface in charon for the XML based SMP management interface
- !
- May ! - SMP configuration client
+ ! - SMP configuration client
! - release IKEv2 p2p NATT draft 00
- ! - reimplement IKEv2 p2p NATT support
!
- Jun ! - start with IKEv1 migration strategy
- !
- Jul !
+ Jul ! - modular credential backends
+ ! - reimplement IKEv2 p2p NATT support
!
- Aug !
+ Aug ! - Start IKEv1 implementation in charon
!
Sep !
!
@@ -51,7 +48,6 @@ Stroke interface
----------------
- add a Rekey-Counter for SAs in "statusall"
- ipsec statusall bytecount
-- proper handling of CTRL+C console detach (SIG_PIPE)
Misc
----
diff --git a/autogen.sh b/autogen.sh
index 5852dac2f..0839f0577 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-libtoolize &&
+libtoolize --force &&
aclocal &&
automake -a &&
autoconf
diff --git a/src/charon/bus/bus.h b/src/charon/bus/bus.h
index 4b46c7e82..e54fb1b1b 100644
--- a/src/charon/bus/bus.h
+++ b/src/charon/bus/bus.h
@@ -39,14 +39,18 @@ typedef struct bus_t bus_t;
*
* Signaling is for different purporses. First, it allows debugging via
* "debugging signal messages", sencondly, it allows to follow certain
- * mechanisms currently going on in the daemon. As we are multithreaded,
- * and of multiple transactions are involved, it's not possible to follow
+ * mechanisms currently going on in the daemon. As we are multithreaded,
+ * and multiple transactions are involved, it's not possible to follow
* one connection setup without further infrastructure. These infrastructure
* is provided by the bus and the signals the daemon emits to the bus.
*
* There are different scenarios to follow these signals, but all have
* the same scheme. First, a START signal is emitted to indicate the daemon
- * has started to
+ * has started to do something. After a start signal, a SUCCESS or a FAILED
+ * signal of the same type follows. This allows to track the operation. Any
+ * Debug signal betwee a START and a SUCCESS/FAILED belongs to that operation
+ * if the IKE_SA is the same. The thread may change, as multiple threads
+ * may be involved in a complex scenario.
*
* @ingroup bus
*/
@@ -247,7 +251,9 @@ struct bus_listener_t {
* in receiving event signals registers at the bus. Any signals sent to
* are delivered to all registered listeners.
* To deliver signals to threads, the blocking listen() call may be used
- * to wait for a signal.
+ * to wait for a signal. However, passive listeners should be preferred,
+ * as listening actively requires some synchronization overhead as data
+ * must be passed from the raising thread to the listening thread.
*
* @ingroup bus
*/
@@ -283,7 +289,7 @@ struct bus_t {
* it processes a signal, registration is required. This is done through
* the set_listen_state() method, see below.
*
- * The listen() function is (has) a thread cancellation point, so might
+ * The listen() function is (has) a thread cancellation point, so you might
* want to register cleanup handlers.
*
* @param this bus
diff --git a/src/charon/processing/jobs/callback_job.c b/src/charon/processing/jobs/callback_job.c
index 86aa93c6c..53e7caa95 100644
--- a/src/charon/processing/jobs/callback_job.c
+++ b/src/charon/processing/jobs/callback_job.c
@@ -56,7 +56,7 @@ struct private_callback_job_t {
pthread_t thread;
/**
- * mutex to synchronize thread startup/cancellation
+ * mutex to access jobs interna
*/
pthread_mutex_t mutex;
diff --git a/src/charon/processing/jobs/callback_job.h b/src/charon/processing/jobs/callback_job.h
index 5450cb61b..169f2d207 100644
--- a/src/charon/processing/jobs/callback_job.h
+++ b/src/charon/processing/jobs/callback_job.h
@@ -33,6 +33,11 @@ typedef enum job_requeue_t job_requeue_t;
/**
* @brief Job requeueing policy
+ *
+ * The job requeueing policy defines how a job is handled when the callback
+ * function returns.
+ *
+ * @ingroup jobs
*/
enum job_requeue_t {
@@ -42,12 +47,12 @@ enum job_requeue_t {
JOB_REQUEUE_NONE,
/**
- * Reque the job farly, meaning it has to queue as any other job
+ * Reque the job fairly, meaning it has to requeue as any other job
*/
JOB_REQUEUE_FAIR,
/**
- * Reexecute the job directly, without the need of requeing it
+ * Reexecute the job directly, without the need of requeueing it
*/
JOB_REQUEUE_DIRECT,
};
@@ -60,6 +65,8 @@ enum job_requeue_t {
*
* @param data param supplied to job
* @return requeing policy how to requeue the job
+ *
+ * @ingroup jobs
*/
typedef job_requeue_t (*callback_job_cb_t)(void *data);
@@ -72,6 +79,8 @@ typedef job_requeue_t (*callback_job_cb_t)(void *data);
*
* @param data param supplied to job
* @return requeing policy how to requeue the job
+ *
+ * @ingroup jobs
*/
typedef void (*callback_job_cleanup_t)(void *data);
diff --git a/src/charon/processing/processor.h b/src/charon/processing/processor.h
index 6763e27d0..f12c7f10e 100644
--- a/src/charon/processing/processor.h
+++ b/src/charon/processing/processor.h
@@ -98,7 +98,9 @@ struct processor_t {
/**
* @brief Create the thread pool without any threads.
- *
+ *
+ * Use the set_threads method to start processing jobs.
+ *
* @return processor_t object
*
* @ingroup processing