From 3374cb0f44f80980e0e4351973ea9c23b6f251de Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Thu, 29 Oct 2009 17:37:36 +0100 Subject: [PATCH] Passing other as NULL should not always result in a match if me matches --- src/charon/plugins/stroke/stroke_cred.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/charon/plugins/stroke/stroke_cred.c b/src/charon/plugins/stroke/stroke_cred.c index fbf4507c4..627418bd3 100644 --- a/src/charon/plugins/stroke/stroke_cred.c +++ b/src/charon/plugins/stroke/stroke_cred.c @@ -220,7 +220,7 @@ static bool shared_filter(shared_data_t *data, void **unused1, id_match_t *me, void **unused2, id_match_t *other) { - id_match_t my_match = ID_MATCH_ANY, other_match = ID_MATCH_ANY; + id_match_t my_match = ID_MATCH_NONE, other_match = ID_MATCH_NONE; stroke_shared_key_t *stroke = *in; shared_key_t *shared = &stroke->shared; @@ -237,7 +237,7 @@ static bool shared_filter(shared_data_t *data, { other_match = stroke->has_owner(stroke, data->other); } - if (!my_match && !other_match) + if ((data->me || data->other) && (!my_match && !other_match)) { return FALSE; }