From 72cc029e24308bea636c782f5aee50b6ed38c854 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Wed, 23 Sep 2015 10:53:20 +0200 Subject: [PATCH] ike-mobike: Send retransmits to the current local and remote addresses These might have changed by a peer-initiated MOBIKE address update. Fixes #1125. --- src/libcharon/sa/ikev2/tasks/ike_mobike.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libcharon/sa/ikev2/tasks/ike_mobike.c b/src/libcharon/sa/ikev2/tasks/ike_mobike.c index 11b0bb281..cbdc5e797 100644 --- a/src/libcharon/sa/ikev2/tasks/ike_mobike.c +++ b/src/libcharon/sa/ikev2/tasks/ike_mobike.c @@ -339,7 +339,11 @@ METHOD(ike_mobike_t, transmit, bool, { if (me->ip_equals(me, me_old)) { - charon->sender->send(charon->sender, packet->clone(packet)); + copy = packet->clone(packet); + /* hosts might have been updated by a peer's MOBIKE exchange */ + copy->set_source(copy, me_old->clone(me_old)); + copy->set_destination(copy, other_old->clone(other_old)); + charon->sender->send(charon->sender, copy); me->destroy(me); return TRUE; }