aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/encoding/message.c
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2011-11-21 13:26:27 +0100
committerTobias Brunner <tobias@strongswan.org>2012-03-20 17:30:46 +0100
commitd66199884f92ff157e8702a5cf6f83c7fdc6fdd7 (patch)
tree71921ddcac8bcdef690adea0fc16cc22a6f4901e /src/libcharon/encoding/message.c
parentc92f2cf36deca2d3917020fc8c41abb8ada316ca (diff)
downloadstrongswan-d66199884f92ff157e8702a5cf6f83c7fdc6fdd7.tar.bz2
strongswan-d66199884f92ff157e8702a5cf6f83c7fdc6fdd7.tar.xz
Set flags on message according to IKE version when parsing header.
Diffstat (limited to 'src/libcharon/encoding/message.c')
-rw-r--r--src/libcharon/encoding/message.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/libcharon/encoding/message.c b/src/libcharon/encoding/message.c
index d088a7bf7..e7a48344b 100644
--- a/src/libcharon/encoding/message.c
+++ b/src/libcharon/encoding/message.c
@@ -1559,10 +1559,16 @@ METHOD(message_t, parse_header, status_t,
this->exchange_type = ike_header->get_exchange_type(ike_header);
this->message_id = ike_header->get_message_id(ike_header);
- this->is_request = !ike_header->get_response_flag(ike_header);
- this->is_encrypted = ike_header->get_encryption_flag(ike_header);
this->major_version = ike_header->get_maj_version(ike_header);
this->minor_version = ike_header->get_min_version(ike_header);
+ if (this->major_version == IKEV2_MAJOR_VERSION)
+ {
+ this->is_request = !ike_header->get_response_flag(ike_header);
+ }
+ else
+ {
+ this->is_encrypted = ike_header->get_encryption_flag(ike_header);
+ }
this->first_payload = ike_header->payload_interface.get_next_type(
&ike_header->payload_interface);
for (i = 0; i < countof(this->reserved); i++)