diff options
author | Martin Willi <martin@revosec.ch> | 2012-03-20 18:06:29 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2012-03-20 18:06:29 +0100 |
commit | 4f3cf61dfd02d90f04940885f12ca3a1bb845698 (patch) | |
tree | a5a90eea5da3c30e64f9e6f11cbc205ea85d2622 /src | |
parent | b1f2f05c926f3e36755bb3b2711bd1732c062047 (diff) | |
download | strongswan-4f3cf61dfd02d90f04940885f12ca3a1bb845698.tar.bz2 strongswan-4f3cf61dfd02d90f04940885f12ca3a1bb845698.tar.xz |
Reply with received configuration payload identifier in Mode Config
Diffstat (limited to 'src')
-rw-r--r-- | src/libcharon/sa/ikev1/tasks/mode_config.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libcharon/sa/ikev1/tasks/mode_config.c b/src/libcharon/sa/ikev1/tasks/mode_config.c index e99d07428..ab3a81386 100644 --- a/src/libcharon/sa/ikev1/tasks/mode_config.c +++ b/src/libcharon/sa/ikev1/tasks/mode_config.c @@ -50,6 +50,11 @@ struct private_mode_config_t { * list of attributes requested and its handler, entry_t */ linked_list_t *requested; + + /** + * Identifier to include in response + */ + u_int16_t identifier; }; /** @@ -203,6 +208,8 @@ static void process_payloads(private_mode_config_t *this, message_t *message) switch (cp->get_type(cp)) { case CFG_REQUEST: + this->identifier = cp->get_identifier(cp); + /* FALL */ case CFG_REPLY: attributes = cp->create_attribute_enumerator(cp); while (attributes->enumerate(attributes, &ca)) @@ -339,6 +346,7 @@ METHOD(task_t, build_r, status_t, if (cp) { + cp->set_identifier(cp, this->identifier); message->add_payload(message, (payload_t*)cp); } DESTROY_IF(vip); |