The set_ike_version hook supports version flag mangling

This commit is contained in:
Martin Willi
2011-01-05 16:45:52 +01:00
parent 2813be18f5
commit a6da3795d6
+11
View File
@@ -48,6 +48,11 @@ struct private_set_ike_version_t {
* Minor version to set * Minor version to set
*/ */
int minor; int minor;
/**
* Higher version supported?
*/
bool higher;
}; };
METHOD(listener_t, message, bool, METHOD(listener_t, message, bool,
@@ -62,6 +67,10 @@ METHOD(listener_t, message, bool,
this->id, this->major, this->minor); this->id, this->major, this->minor);
message->set_major_version(message, this->major); message->set_major_version(message, this->major);
message->set_minor_version(message, this->minor); message->set_minor_version(message, this->minor);
if (this->higher)
{
message->set_version_flag(message);
}
} }
return TRUE; return TRUE;
} }
@@ -94,6 +103,8 @@ hook_t *set_ike_version_hook_create(char *name)
"hooks.%s.major", 2, name), "hooks.%s.major", 2, name),
.minor = conftest->test->get_int(conftest->test, .minor = conftest->test->get_int(conftest->test,
"hooks.%s.minor", 0, name), "hooks.%s.minor", 0, name),
.higher = conftest->test->get_bool(conftest->test,
"hooks.%s.higher", FALSE, name),
); );
return &this->hook; return &this->hook;