aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/control/controller.c
Commit message (Collapse)AuthorAgeFilesLines
* controller: Consider any IKE_SA destruction as success when terminatingTobias Brunner2017-09-251-4/+1
|
* controller: Don't listen for CHILD_SA state changes when terminating IKE_SAsTobias Brunner2017-03-021-1/+0
| | | | | | | | We actually want to wait until the IKE_SA is destroyed, not any of the CHILD_SAs (even though there might not be that much of a difference depending on the number of CHILD_SAs). Fixes #2261.
* controller: Use separate callbacks to track termination and initiation of SAsTobias Brunner2016-06-061-8/+58
| | | | | | | If a local authentication failure occurs in IKEv1 we delete the IKE_SA, which we don't want the controller to detect as success. Fixes #1449.
* Use standard unsigned integer typesAndreas Steffen2016-03-241-5/+5
|
* ike: Only consider number of half-open SAs as responder when deciding ↵Tobias Brunner2015-08-271-1/+1
| | | | whether COOKIEs are sent
* controller: Optionally adhere to init limits also when initiating IKE_SAsTobias Brunner2015-08-211-3/+51
|
* ike-sa-manager: Remove IKE_SA checkout by CHILD_SA reqidMartin Willi2015-02-201-1/+1
|
* controller: Use the CHILD_SA unique_id to terminate CHILD_SAsMartin Willi2015-02-201-22/+8
|
* controller: Keep following initiate() if the first DH guess was wrongMartin Willi2014-11-211-0/+12
|
* controller: Remove unused <dlfcn.h> includeMartin Willi2014-06-041-1/+0
|
* controller: clean up job data if a thread gets cancelled waiting in a functionMartin Willi2013-05-061-3/+6
| | | | | Controller functions are thread cancellation points, so register a cancellation handler cleaning up job data.
* 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