From 3d074bce0036b03e700bb35f128b1682ad082036 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Thu, 23 Apr 2015 12:29:03 +0200 Subject: [PATCH] ike-init: Handle REDIRECTED_FROM similar to REDIRECT_SUPPORTED as server --- src/libcharon/sa/ikev2/tasks/ike_init.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/libcharon/sa/ikev2/tasks/ike_init.c b/src/libcharon/sa/ikev2/tasks/ike_init.c index 09dc903..b5a58df 100644 --- a/src/libcharon/sa/ikev2/tasks/ike_init.c +++ b/src/libcharon/sa/ikev2/tasks/ike_init.c @@ -419,6 +419,23 @@ static void process_payloads(private_ike_init_t *this, message_t *message) handle_supported_hash_algorithms(this, notify); } break; + case REDIRECTED_FROM: + { + identification_t *gateway; + chunk_t data; + + data = notify->get_notification_data(notify); + gateway = redirect_data_parse(data, NULL); + if (!gateway) + { + DBG1(DBG_IKE, "received invalid REDIRECTED_FROM " + "notify, ignored"); + break; + } + DBG1(DBG_IKE, "client got redirected from %Y", gateway); + gateway->destroy(gateway); + /* fall-through */ + } case REDIRECT_SUPPORTED: this->ike_sa->enable_extension(this->ike_sa, EXT_IKE_REDIRECTION); -- 2.7.4