*/
bool is_request;
+ /**
+ * Higher version supported?
+ */
+ bool version_flag;
+
/**
* Reserved bits in IKE header
*/
return this->is_request;
}
+METHOD(message_t, set_version_flag, void,
+ private_message_t *this)
+{
+ this->version_flag = TRUE;
+}
+
METHOD(message_t, get_reserved_header_bit, bool,
private_message_t *this, u_int nr)
{
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,
this->ike_sa_id->is_initiator(this->ike_sa_id));
ike_header->set_initiator_spi(ike_header,
.get_first_payload_type = _get_first_payload_type,
.set_request = _set_request,
.get_request = _get_request,
+ .set_version_flag = _set_version_flag,
.get_reserved_header_bit = _get_reserved_header_bit,
.set_reserved_header_bit = _set_reserved_header_bit,
.add_payload = _add_payload,
return this->flags.version;
}
+METHOD(ike_header_t, set_version_flag, void,
+ private_ike_header_t *this, bool version)
+{
+ this->flags.version = version;
+}
+
METHOD(ike_header_t, get_initiator_flag, bool,
private_ike_header_t *this)
{
.get_response_flag = _get_response_flag,
.set_response_flag = _set_response_flag,
.get_version_flag = _get_version_flag,
+ .set_version_flag = _set_version_flag,
.get_initiator_flag = _get_initiator_flag,
.set_initiator_flag = _set_initiator_flag,
.get_exchange_type = _get_exchange_type,
* @param response response flag
*/
void (*set_response_flag) (ike_header_t *this, bool response);
+
/**
* Get "higher version supported"-flag.
*
*/
bool (*get_version_flag) (ike_header_t *this);
+ /**
+ * Set the "higher version supported"-flag.
+ *
+ * @param version flag value
+ */
+ void (*set_version_flag)(ike_header_t *this, bool version);
+
/**
* Get the initiator flag.
*