diff options
author | Tobias Brunner <tobias@strongswan.org> | 2011-11-21 13:26:27 +0100 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2012-03-20 17:30:46 +0100 |
commit | d66199884f92ff157e8702a5cf6f83c7fdc6fdd7 (patch) | |
tree | 71921ddcac8bcdef690adea0fc16cc22a6f4901e /src/libcharon/encoding/message.c | |
parent | c92f2cf36deca2d3917020fc8c41abb8ada316ca (diff) | |
download | strongswan-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.c | 10 |
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++) |