From ca037076bfd31578410af900a3a667efa165df78 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Tue, 20 Dec 2011 18:00:57 +0100 Subject: [PATCH] Implemented migration of XAuth task --- src/libcharon/sa/ikev1/tasks/xauth.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/libcharon/sa/ikev1/tasks/xauth.c b/src/libcharon/sa/ikev1/tasks/xauth.c index b4d690094..f55299398 100644 --- a/src/libcharon/sa/ikev1/tasks/xauth.c +++ b/src/libcharon/sa/ikev1/tasks/xauth.c @@ -354,7 +354,25 @@ METHOD(task_t, get_type, task_type_t, METHOD(task_t, migrate, void, private_xauth_t *this, ike_sa_t *ike_sa) { + DESTROY_IF(this->xauth); + DESTROY_IF(this->cp); + this->ike_sa = ike_sa; + this->xauth = NULL; + this->cp = NULL; + this->user = NULL; + this->status = XAUTH_FAILED; + + if (this->initiator) + { + this->public.task.build = _build_i; + this->public.task.process = _process_i; + } + else + { + this->public.task.build = _build_r; + this->public.task.process = _process_r; + } } METHOD(task_t, destroy, void,