From 9b2942f68ddfed079be287dd09792b438244785d Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Mon, 12 Oct 2009 09:49:11 +0200 Subject: Stroke plugin interprets NULL identities as ID_ANY in shared key lookup --- src/charon/plugins/stroke/stroke_cred.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/charon') diff --git a/src/charon/plugins/stroke/stroke_cred.c b/src/charon/plugins/stroke/stroke_cred.c index 5c981036a..fbf4507c4 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, other_match; + id_match_t my_match = ID_MATCH_ANY, other_match = ID_MATCH_ANY; stroke_shared_key_t *stroke = *in; shared_key_t *shared = &stroke->shared; @@ -229,8 +229,14 @@ static bool shared_filter(shared_data_t *data, return FALSE; } - my_match = stroke->has_owner(stroke, data->me); - other_match = stroke->has_owner(stroke, data->other); + if (data->me) + { + my_match = stroke->has_owner(stroke, data->me); + } + if (data->other) + { + other_match = stroke->has_owner(stroke, data->other); + } if (!my_match && !other_match) { return FALSE; -- cgit v1.2.3