diff options
-rw-r--r-- | HACKING | 10 | ||||
-rw-r--r-- | TODO | 14 | ||||
-rwxr-xr-x | autogen.sh | 2 | ||||
-rw-r--r-- | src/charon/bus/bus.h | 16 | ||||
-rw-r--r-- | src/charon/processing/jobs/callback_job.c | 2 | ||||
-rw-r--r-- | src/charon/processing/jobs/callback_job.h | 13 | ||||
-rw-r--r-- | src/charon/processing/processor.h | 4 |
7 files changed, 40 insertions, 21 deletions
@@ -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() @@ -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 |