diff options
author | Martin Willi <martin@strongswan.org> | 2005-11-18 16:29:14 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2005-11-18 16:29:14 +0000 |
commit | daa1c00e9f8cb62086a5a60a28d17459ef85205d (patch) | |
tree | c98a57a15217bd5649703c810890053d941bcee2 /Source/charon/ike_sa_manager.c | |
parent | 90ef6620a2c9c213c21760d237b9f8f3501125ff (diff) | |
download | strongswan-daa1c00e9f8cb62086a5a60a28d17459ef85205d.tar.bz2 strongswan-daa1c00e9f8cb62086a5a60a28d17459ef85205d.tar.xz |
- baschtel
- works initiating, results in shared secret
Diffstat (limited to 'Source/charon/ike_sa_manager.c')
-rw-r--r-- | Source/charon/ike_sa_manager.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Source/charon/ike_sa_manager.c b/Source/charon/ike_sa_manager.c index 3cbd07225..a3011b315 100644 --- a/Source/charon/ike_sa_manager.c +++ b/Source/charon/ike_sa_manager.c @@ -214,11 +214,20 @@ static status_t get_entry_by_id(private_ike_sa_manager_t *this, ike_sa_id_t *ike /* default status */ status = NOT_FOUND; + while (iterator->has_next(iterator)) { ike_sa_entry_t *current; bool are_equal = FALSE; iterator->current(iterator, (void**)¤t); + if (current->ike_sa_id->get_responder_spi(current->ike_sa_id) == 0) { + if (current->ike_sa_id->get_initiator_spi(current->ike_sa_id) == ike_sa_id->get_initiator_spi(ike_sa_id)) + { + *entry = current; + status = SUCCESS; + break; + } + } current->ike_sa_id->equals(current->ike_sa_id, ike_sa_id, &are_equal); if (are_equal) { |