diff options
author | Martin Willi <martin@revosec.ch> | 2012-01-16 15:57:46 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2012-03-20 17:31:36 +0100 |
commit | 5b7fc7686187838d738ad7985cd3dc808c5bc30f (patch) | |
tree | 806422a447ca330cb28aa48d6b0f641350a96c01 /src | |
parent | c654d949f33c1d2d7586b25a35631ec730ecfd7d (diff) | |
download | strongswan-5b7fc7686187838d738ad7985cd3dc808c5bc30f.tar.bz2 strongswan-5b7fc7686187838d738ad7985cd3dc808c5bc30f.tar.xz |
Don't invoke updown hook when flushing SAs for IKEv1, tasks will do it
Diffstat (limited to 'src')
-rw-r--r-- | src/libcharon/sa/ike_sa_manager.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/libcharon/sa/ike_sa_manager.c b/src/libcharon/sa/ike_sa_manager.c index 2b4418f24..79a52c918 100644 --- a/src/libcharon/sa/ike_sa_manager.c +++ b/src/libcharon/sa/ike_sa_manager.c @@ -1695,16 +1695,18 @@ METHOD(ike_sa_manager_t, flush, void, while (enumerator->enumerate(enumerator, &entry, &segment)) { charon->bus->set_sa(charon->bus, entry->ike_sa); - /* as the delete never gets processed, fire down events */ - switch (entry->ike_sa->get_state(entry->ike_sa)) - { - case IKE_ESTABLISHED: - case IKE_REKEYING: - case IKE_DELETING: - charon->bus->ike_updown(charon->bus, entry->ike_sa, FALSE); - break; - default: - break; + if (entry->ike_sa->get_version(entry->ike_sa) == IKEV2) + { /* as the delete never gets processed, fire down events */ + switch (entry->ike_sa->get_state(entry->ike_sa)) + { + case IKE_ESTABLISHED: + case IKE_REKEYING: + case IKE_DELETING: + charon->bus->ike_updown(charon->bus, entry->ike_sa, FALSE); + break; + default: + break; + } } entry->ike_sa->delete(entry->ike_sa); } |