aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/encoding/message.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2011-11-16 18:23:00 +0100
committerMartin Willi <martin@revosec.ch>2012-03-20 17:30:41 +0100
commitbce8d3be1182f249659f2c01ac7feca58de533f4 (patch)
tree19edae799880d26a207c6878506859538603a44a /src/libcharon/encoding/message.c
parentda8cadbd93e93f746daba2698156a9744861537c (diff)
downloadstrongswan-bce8d3be1182f249659f2c01ac7feca58de533f4.tar.bz2
strongswan-bce8d3be1182f249659f2c01ac7feca58de533f4.tar.xz
Don't set IKEv2 only header flags when using IKEv1
Diffstat (limited to 'src/libcharon/encoding/message.c')
-rw-r--r--src/libcharon/encoding/message.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libcharon/encoding/message.c b/src/libcharon/encoding/message.c
index 91d7f3df9..6640b7696 100644
--- a/src/libcharon/encoding/message.c
+++ b/src/libcharon/encoding/message.c
@@ -1315,10 +1315,13 @@ METHOD(message_t, generate, status_t,
this->minor_version);
ike_header->set_exchange_type(ike_header, this->exchange_type);
ike_header->set_message_id(ike_header, this->message_id);
- ike_header->set_response_flag(ike_header, !this->is_request);
- ike_header->set_version_flag(ike_header, this->version_flag);
- ike_header->set_initiator_flag(ike_header,
+ if (this->major_version == IKEV2_MAJOR_VERSION)
+ {
+ ike_header->set_response_flag(ike_header, !this->is_request);
+ ike_header->set_version_flag(ike_header, this->version_flag);
+ ike_header->set_initiator_flag(ike_header,
this->ike_sa_id->is_initiator(this->ike_sa_id));
+ }
ike_header->set_initiator_spi(ike_header,
this->ike_sa_id->get_initiator_spi(this->ike_sa_id));
ike_header->set_responder_spi(ike_header,