]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
Enable Cisco Unity only if Unity vendor id received
authorMartin Willi <martin@revosec.ch>
Thu, 13 Sep 2012 13:09:21 +0000 (15:09 +0200)
committerMartin Willi <martin@revosec.ch>
Tue, 18 Sep 2012 15:17:48 +0000 (17:17 +0200)
src/libcharon/plugins/unity/unity_handler.c
src/libcharon/plugins/unity/unity_narrow.c
src/libcharon/plugins/unity/unity_provider.c

index e48debede6539c58d54e044765bc7cfa04c332e3..b2aeba60513a7b155c9046b08860445571958657 100644 (file)
@@ -341,7 +341,8 @@ METHOD(attribute_handler_t, create_attribute_enumerator, enumerator_t *,
        ike_sa_t *ike_sa;
 
        ike_sa = charon->bus->get_sa(charon->bus);
-       if (!ike_sa || ike_sa->get_version(ike_sa) != IKEV1)
+       if (!ike_sa || ike_sa->get_version(ike_sa) != IKEV1 ||
+               !ike_sa->supports_extension(ike_sa, EXT_CISCO_UNITY))
        {
                return enumerator_create_empty();
        }
index 3ee7f93abda20a5c370ed8fd7d5e27cf9653838c..6a86fed26f5f3f0b979db9c12a00f04755ce8ffd 100644 (file)
@@ -116,7 +116,8 @@ METHOD(listener_t, narrow, bool,
        private_unity_narrow_t *this, ike_sa_t *ike_sa, child_sa_t *child_sa,
        narrow_hook_t type, linked_list_t *local, linked_list_t *remote)
 {
-       if (ike_sa->get_version(ike_sa) == IKEV1)
+       if (ike_sa->get_version(ike_sa) == IKEV1 &&
+               ike_sa->supports_extension(ike_sa, EXT_CISCO_UNITY))
        {
                switch (type)
                {
index 753cd9839a62263b86df6af8fbb952f4e83f455b..5ebde17d37a8893e6a01bde8aae47646db909598 100644 (file)
@@ -108,6 +108,7 @@ METHOD(attribute_provider_t, create_attribute_enumerator, enumerator_t*,
 
        ike_sa = charon->bus->get_sa(charon->bus);
        if (!ike_sa || ike_sa->get_version(ike_sa) != IKEV1 ||
+               !ike_sa->supports_extension(ike_sa, EXT_CISCO_UNITY) ||
                !vips->get_count(vips))
        {
                return NULL;