diff options
author | Martin Willi <martin@strongswan.org> | 2009-10-12 09:49:11 +0200 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2009-10-12 09:51:45 +0200 |
commit | 9b2942f68ddfed079be287dd09792b438244785d (patch) | |
tree | a4327df1731fb2aaafef27ddbbeeac1ebebcdb30 /src/charon/plugins/stroke | |
parent | 509f70c1324e42c283664cfc30075d2587b49672 (diff) | |
download | strongswan-9b2942f68ddfed079be287dd09792b438244785d.tar.bz2 strongswan-9b2942f68ddfed079be287dd09792b438244785d.tar.xz |
Stroke plugin interprets NULL identities as ID_ANY in shared key lookup
Diffstat (limited to 'src/charon/plugins/stroke')
-rw-r--r-- | src/charon/plugins/stroke/stroke_cred.c | 12 |
1 files changed, 9 insertions, 3 deletions
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; |