aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/control/controller.c
Commit message (Collapse)AuthorAgeFilesLines
* If controller operations have a callback, don't succeed before hook gets calledMartin Willi2013-03-071-4/+12
|
* Don't modify the message string passed to logger, as it gets reusedMartin Willi2012-07-131-2/+2
|
* Use spin locks to update IKE_SAs in controller_tTobias Brunner2012-07-041-4/+38
| | | | | | This ensures the listeners don't miss any events after the SAs have been checked out in the asynchronously executed jobs. This is a matter of memory visibility and not primary a matter of exclusive access.
* Fixed job handling in controller_tTobias Brunner2012-07-041-110/+128
| | | | Also IKE_SAs are now checked out in the jobs and not before.
* Give processor_t more control over the lifecycle of a jobTobias Brunner2012-06-251-5/+9
| | | | | | | | | | | Jobs are now destroyed by the processor, but they are allowed to reschedule themselves. That is, parts of the reschedule functionality already provided by callback_job_t is moved to the processor. Not yet fully supported is JOB_REQUEUE_DIRECT and canceling jobs. Note: job_t.destroy() is now called not only for queued jobs but also after execution or cancellation of jobs. job_t.status can be used to decide what to do in said method.
* Loggers specify what log messages they want to receive during registration.Tobias Brunner2012-05-021-4/+15
| | | | | | | This also allows us to generate the log message only once for all loggers that need it (avoids calls to custom printf specifier callbacks). To update the log levels loggers can simply be registered again.
* Use a separate interface for loggers.Tobias Brunner2012-05-021-22/+60
| | | | | | | | The new interface does not allow loggers to unregister themselves from the bus. This allows us to use a rwlock_t for them. The latter also means that loggers can now be called concurrently by multiple threads.
* Fixed return value of controller_t functions if callback returns FALSE.Tobias Brunner2012-05-021-0/+1
|
* Implement wait_for_listener in controller_t with semaphores.Tobias Brunner2012-05-021-53/+17
| | | | This eliminates even the slightest chance of a deadlock.
* Implement bus_t.listen() directly in controller_t (the only user).Tobias Brunner2012-05-021-12/+110
| | | | This will hopefully allow us to later simplify bus_t.
* Do not query CHILD_SA during delete if they already expiredMartin Willi2012-03-201-1/+1
|
* Handle initiation of not supported IKE versions properlyMartin Willi2012-03-201-0/+11
|
* bus->listen() and the controller wrappers accept a timeout to wait for callbacksMartin Willi2011-08-261-6/+19
|
* Fixed common misspellings.Tobias Brunner2011-07-201-2/+2
| | | | Mostly found by 'codespell'.
* Replaced ike_sa_t.create_child_sa_iterator with enumerator.Tobias Brunner2011-07-061-4/+4
| | | | | This required two new methods on ike_sa_t. One returns the number of CHILD_SAs and one allows to remove a CHILD_SA.
* Migrated controller_t to INIT/METHOD macrosMartin Willi2011-05-161-98/+97
|
* Provide get_priority() method in controller jobsMartin Willi2011-05-161-0/+9
|
* Added a non-blocking, skipping variant of IKE_SA enumeratorMartin Willi2011-05-161-3/+4
|
* Fixed a possible segfault after termination of IKE and child SAs.Tobias Brunner2011-02-281-0/+4
| | | | | | | Because the thread that is actually terminating the SA and thus checking it in again is not be the same thread that previously checked it out and queued the termination job, the thread local SA on the bus has to be reset manually, similar to how it is set in the job which is executing the job.
* Moving charon to libcharon.Tobias Brunner2010-03-191-0/+455