]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
The set_ike_version hook supports version flag mangling
authorMartin Willi <martin@revosec.ch>
Wed, 24 Nov 2010 16:45:39 +0000 (17:45 +0100)
committerMartin Willi <martin@revosec.ch>
Wed, 5 Jan 2011 15:45:52 +0000 (16:45 +0100)
src/conftest/hooks/set_ike_version.c

index 545bfdd16c90de6a81c34e3f8694954a6e2e3c9c..d2de9dc813153ebe3524efe90630cdaf108efbfd 100644 (file)
@@ -48,6 +48,11 @@ struct private_set_ike_version_t {
         * Minor version to set
         */
        int minor;
+
+       /**
+        * Higher version supported?
+        */
+       bool higher;
 };
 
 METHOD(listener_t, message, bool,
@@ -62,6 +67,10 @@ METHOD(listener_t, message, bool,
                         this->id, this->major, this->minor);
                message->set_major_version(message, this->major);
                message->set_minor_version(message, this->minor);
+               if (this->higher)
+               {
+                       message->set_version_flag(message);
+               }
        }
        return TRUE;
 }
@@ -94,6 +103,8 @@ hook_t *set_ike_version_hook_create(char *name)
                                                                                "hooks.%s.major", 2, name),
                .minor = conftest->test->get_int(conftest->test,
                                                                                "hooks.%s.minor", 0, name),
+               .higher = conftest->test->get_bool(conftest->test,
+                                                                               "hooks.%s.higher", FALSE, name),
        );
 
        return &this->hook;