Filter out non-matching ike_cfg in backend manager, so backends don't have to
authorMartin Willi <martin@revosec.ch>
Thu, 3 Feb 2011 09:03:36 +0000 (10:03 +0100)
committerMartin Willi <martin@revosec.ch>
Thu, 3 Feb 2011 09:12:16 +0000 (10:12 +0100)
src/libcharon/config/backend_manager.c

index 7b69eda..e78cb70 100644 (file)
@@ -96,6 +96,11 @@ static ike_cfg_match_t get_ike_match(ike_cfg_t *cand, host_t *me, host_t *other)
                {
                        match += MATCH_ANY;
                }
                {
                        match += MATCH_ANY;
                }
+               else
+               {
+                       me_cand->destroy(me_cand);
+                       return MATCH_NONE;
+               }
                me_cand->destroy(me_cand);
        }
        else
                me_cand->destroy(me_cand);
        }
        else
@@ -119,6 +124,11 @@ static ike_cfg_match_t get_ike_match(ike_cfg_t *cand, host_t *me, host_t *other)
                {
                        match += MATCH_ANY;
                }
                {
                        match += MATCH_ANY;
                }
+               else
+               {
+                       other_cand->destroy(other_cand);
+                       return MATCH_NONE;
+               }
                other_cand->destroy(other_cand);
        }
        else
                other_cand->destroy(other_cand);
        }
        else