diff options
author | Tobias Brunner <tobias@strongswan.org> | 2010-08-30 17:24:07 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2010-08-30 17:25:12 +0200 |
commit | 9b698a771c6e5a5d9e74c231d15e1db7d005d10a (patch) | |
tree | 6de43d2cb93f7c893217ecf5616ddb96fd3de0eb /src/libcharon | |
parent | 68eb610d811dc8b7ec8f350a57e7e3fd6b1851f9 (diff) | |
download | strongswan-9b698a771c6e5a5d9e74c231d15e1db7d005d10a.tar.bz2 strongswan-9b698a771c6e5a5d9e74c231d15e1db7d005d10a.tar.xz |
Enable the generation of unencrypted messages (e.g. ME connectivity checks).
Diffstat (limited to 'src/libcharon')
-rw-r--r-- | src/libcharon/encoding/message.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/libcharon/encoding/message.c b/src/libcharon/encoding/message.c index 0d55b8a05..d41ad4697 100644 --- a/src/libcharon/encoding/message.c +++ b/src/libcharon/encoding/message.c @@ -954,7 +954,7 @@ static void order_payloads(private_message_t *this) } /** - * Wrap payloads in a encryption payload, if required + * Wrap payloads in a encryption payload */ static encryption_payload_t* wrap_payloads(private_message_t *this) { @@ -962,12 +962,6 @@ static encryption_payload_t* wrap_payloads(private_message_t *this) linked_list_t *payloads; payload_t *current; - if (!this->rule->encrypted) - { - DBG2(DBG_ENC, "not encrypting payloads"); - return NULL; - } - /* copy all payloads in a temporary list */ payloads = linked_list_create(); while (this->payloads->remove_first(this->payloads, @@ -1013,7 +1007,7 @@ METHOD(message_t, generate, status_t, generator_t *generator; ike_header_t *ike_header; payload_t *payload, *next; - encryption_payload_t *encryption; + encryption_payload_t *encryption = NULL; enumerator_t *enumerator; chunk_t chunk; char str[256]; @@ -1049,7 +1043,14 @@ METHOD(message_t, generate, status_t, DBG1(DBG_ENC, "generating %s", get_string(this, str, sizeof(str))); - encryption = wrap_payloads(this); + if (aead && this->rule->encrypted) + { + encryption = wrap_payloads(this); + } + else + { + DBG2(DBG_ENC, "not encrypting payloads"); + } ike_header = ike_header_create(); ike_header->set_exchange_type(ike_header, this->exchange_type); |