fixed SPI when rekeying and deleting CHILD_SAs

This commit is contained in:
Martin Willi
2006-06-19 08:54:19 +00:00
parent 891dfaf983
commit c65a4fff3f
5 changed files with 19 additions and 14 deletions
+3 -3
View File
@@ -940,7 +940,7 @@ static u_int32_t destroy_child_sa(private_ike_sa_t *this, u_int32_t spi)
while (iterator->has_next(iterator))
{
iterator->current(iterator, (void**)&child_sa);
if (child_sa->get_spi(child_sa, TRUE) == spi)
if (child_sa->get_spi(child_sa, FALSE) == spi)
{
iterator->remove(iterator);
break;
@@ -958,7 +958,7 @@ static u_int32_t destroy_child_sa(private_ike_sa_t *this, u_int32_t spi)
return 0;
}
spi = child_sa->get_spi(child_sa, FALSE);
spi = child_sa->get_spi(child_sa, TRUE);
child_sa->destroy(child_sa);
return spi;
}
@@ -975,7 +975,7 @@ static child_sa_t* get_child_sa_by_spi(private_ike_sa_t *this, u_int32_t spi)
while (iterator->has_next(iterator))
{
iterator->current(iterator, (void**)&current);
if (current->get_spi(current, TRUE) == spi)
if (current->get_spi(current, FALSE) == spi)
{
found = current;
}