aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/ike_sa_manager.c
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2005-11-18 16:29:14 +0000
committerMartin Willi <martin@strongswan.org>2005-11-18 16:29:14 +0000
commitdaa1c00e9f8cb62086a5a60a28d17459ef85205d (patch)
treec98a57a15217bd5649703c810890053d941bcee2 /Source/charon/ike_sa_manager.c
parent90ef6620a2c9c213c21760d237b9f8f3501125ff (diff)
downloadstrongswan-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.c9
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**)&current);
+ 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)
{