aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorClavister OpenSource <opensource@clavister.com>2011-11-24 11:26:04 +0100
committerClavister OpenSource <opensource@clavister.com>2012-03-20 17:30:51 +0100
commit01685247b0ea9666793c80b28879d6866a333be1 (patch)
treee90da0264ec2d4db8ff495739c13e385019aa0dc /src
parente3bb68841a3a441d6770ec76ae14176b71f70495 (diff)
downloadstrongswan-01685247b0ea9666793c80b28879d6866a333be1.tar.bz2
strongswan-01685247b0ea9666793c80b28879d6866a333be1.tar.xz
IKEv1 XAuth: Added ike_vendor task to the ID_PROT exchange type processing. We need to process vendor payloads to check to see if our peer understands XAuth before using any of these payload types.
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/sa/task_manager_v1.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libcharon/sa/task_manager_v1.c b/src/libcharon/sa/task_manager_v1.c
index 13d95b4fa..32f847f8a 100644
--- a/src/libcharon/sa/task_manager_v1.c
+++ b/src/libcharon/sa/task_manager_v1.c
@@ -19,6 +19,7 @@
#include <math.h>
#include <daemon.h>
+#include <sa/tasks/ike_vendor.h>
#include <sa/tasks/main_mode.h>
#include <sa/tasks/quick_mode.h>
#include <processing/jobs/retransmit_job.h>
@@ -493,6 +494,8 @@ static status_t process_request(private_task_manager_t *this,
switch (message->get_exchange_type(message))
{
case ID_PROT:
+ task = (task_t *)ike_vendor_create(this->ike_sa, FALSE);
+ this->passive_tasks->insert_last(this->passive_tasks, task);
task = (task_t *)main_mode_create(this->ike_sa, FALSE);
this->passive_tasks->insert_last(this->passive_tasks, task);
break;