farp: Only remove one tracked entry

Multiple CHILD_SAs sharing the same traffic selectors (e.g. during
make-before-break reauthentication) also have the same reqid assigned.
If all matching entries are removed we could end up without entry even
though an SA exists that still uses these traffic selectors.

Fixes #2373.
This commit is contained in:
Tobias Brunner 2017-07-06 14:14:06 +02:00
parent a0cde76958
commit 6138b8d629

View File

@ -101,6 +101,7 @@ METHOD(listener_t, child_updown, bool,
entry->remote->destroy_offset(entry->remote,
offsetof(traffic_selector_t, destroy));
free(entry);
break;
}
}
enumerator->destroy(enumerator);