diff options
author | author Timo Teräs timo.teras@iki.fi 1442826138 +0300 <author Timo Teräs timo.teras@iki.fi 1442826138 +0300> | 2015-09-21 12:02:18 +0300 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2015-09-21 14:22:41 +0300 |
commit | bffeca85f0d7cf485aeabb17dd0d40735fe2b2ee (patch) | |
tree | 1b554c92454930300c19e392352193cdd683c208 /main/strongswan/0013-ike-rekey-Reset-IKE_SA-on-the-bus-after-destroying-n.patch | |
parent | 79d8c05b7c382123dd04bd4dfb7ed7472d87c5d7 (diff) | |
download | aports-bffeca85f0d7cf485aeabb17dd0d40735fe2b2ee.tar.bz2 aports-bffeca85f0d7cf485aeabb17dd0d40735fe2b2ee.tar.xz |
main/strongswan: upgrade to 5.3.3
remove upstreamed patches; rebase the rest
Diffstat (limited to 'main/strongswan/0013-ike-rekey-Reset-IKE_SA-on-the-bus-after-destroying-n.patch')
-rw-r--r-- | main/strongswan/0013-ike-rekey-Reset-IKE_SA-on-the-bus-after-destroying-n.patch | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/main/strongswan/0013-ike-rekey-Reset-IKE_SA-on-the-bus-after-destroying-n.patch b/main/strongswan/0013-ike-rekey-Reset-IKE_SA-on-the-bus-after-destroying-n.patch deleted file mode 100644 index 56038b46f1..0000000000 --- a/main/strongswan/0013-ike-rekey-Reset-IKE_SA-on-the-bus-after-destroying-n.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 86d20b0b40066590f5e26d1f9aca21cc0cba97e1 Mon Sep 17 00:00:00 2001 -From: Tobias Brunner <tobias@strongswan.org> -Date: Mon, 15 Jun 2015 11:46:33 +0200 -Subject: [PATCH] ike-rekey: Reset IKE_SA on the bus after destroying new - IKE_SA - -The destroy() method sets the IKE_SA on the bus to NULL, we reset it to -the current IKE_SA so any events and log messages that follow happen in -the correct context. - -A practical example where this is problematic is a DH group mismatch, -which causes the first CREATE_CHILD_SA exchange to fail. Because the SA -was not reset previously, the message() hook for the CREATE_CHILD_SA -response, for instance, was triggered outside the context of an IKE_SA, -that is, the ike_sa parameter was NULL, which is definitely not expected -by several plugins. - -Fixes #862. ---- - src/libcharon/sa/ikev2/tasks/ike_rekey.c | 31 +++++++++++++++---------------- - 1 file changed, 15 insertions(+), 16 deletions(-) - -diff --git a/src/libcharon/sa/ikev2/tasks/ike_rekey.c b/src/libcharon/sa/ikev2/tasks/ike_rekey.c -index 1855517..1dfdc05 100644 ---- a/src/libcharon/sa/ikev2/tasks/ike_rekey.c -+++ b/src/libcharon/sa/ikev2/tasks/ike_rekey.c -@@ -116,7 +116,6 @@ static void establish_new(private_ike_rekey_t *this) - lib->processor->queue_job(lib->processor, job); - } - this->new_sa = NULL; -- /* set threads active IKE_SA after checkin */ - charon->bus->set_sa(charon->bus, this->ike_sa); - } - } -@@ -335,15 +334,13 @@ METHOD(task_t, process_i, status_t, - { - charon->ike_sa_manager->checkin( - charon->ike_sa_manager, this->new_sa); -- /* set threads active IKE_SA after checkin */ -- charon->bus->set_sa(charon->bus, this->ike_sa); - } -+ charon->bus->set_sa(charon->bus, this->ike_sa); - this->new_sa = NULL; - establish_new(other); - return SUCCESS; - } - } -- /* set threads active IKE_SA after checkin */ - charon->bus->set_sa(charon->bus, this->ike_sa); - } - -@@ -372,9 +369,13 @@ METHOD(ike_rekey_t, collide, void, - this->collision = other; - } - --METHOD(task_t, migrate, void, -- private_ike_rekey_t *this, ike_sa_t *ike_sa) -+/** -+ * Cleanup the task -+ */ -+static void cleanup(private_ike_rekey_t *this) - { -+ ike_sa_t *cur_sa; -+ - if (this->ike_init) - { - this->ike_init->task.destroy(&this->ike_init->task); -@@ -383,9 +384,16 @@ METHOD(task_t, migrate, void, - { - this->ike_delete->task.destroy(&this->ike_delete->task); - } -+ cur_sa = charon->bus->get_sa(charon->bus); - DESTROY_IF(this->new_sa); -+ charon->bus->set_sa(charon->bus, cur_sa); - DESTROY_IF(this->collision); -+} - -+METHOD(task_t, migrate, void, -+ private_ike_rekey_t *this, ike_sa_t *ike_sa) -+{ -+ cleanup(); - this->collision = NULL; - this->ike_sa = ike_sa; - this->new_sa = NULL; -@@ -396,16 +404,7 @@ METHOD(task_t, migrate, void, - METHOD(task_t, destroy, void, - private_ike_rekey_t *this) - { -- if (this->ike_init) -- { -- this->ike_init->task.destroy(&this->ike_init->task); -- } -- if (this->ike_delete) -- { -- this->ike_delete->task.destroy(&this->ike_delete->task); -- } -- DESTROY_IF(this->new_sa); -- DESTROY_IF(this->collision); -+ cleanup(); - free(this); - } - --- -2.4.6 - |