Add the reqid to kernel_ipsec_t.del_policy.
This commit is contained in:
1 parent
0b6ff2a9fe
commit
328f22e1d3
9 files changed
+34
-26
No files matched your search
@@ -102,8 +102,8 @@ METHOD(kernel_ipsec_t, query_policy, status_t,
|
||||
|
||||
METHOD(kernel_ipsec_t, del_policy, status_t,
|
||||
private_load_tester_ipsec_t *this, traffic_selector_t *src_ts,
|
||||
traffic_selector_t *dst_ts, policy_dir_t direction, mark_t mark,
|
||||
bool unrouted)
|
||||
traffic_selector_t *dst_ts, policy_dir_t direction, u_int32_t reqid,
|
||||
mark_t mark, bool unrouted)
|
||||
{
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
@@ -837,13 +837,16 @@ METHOD(child_sa_t, update, status_t,
|
||||
{
|
||||
/* remove old policies first */
|
||||
hydra->kernel_interface->del_policy(hydra->kernel_interface,
|
||||
my_ts, other_ts, POLICY_OUT, this->mark_out, FALSE);
|
||||
my_ts, other_ts, POLICY_OUT, this->reqid,
|
||||
this->mark_out, FALSE);
|
||||
hydra->kernel_interface->del_policy(hydra->kernel_interface,
|
||||
other_ts, my_ts, POLICY_IN, this->mark_in, FALSE);
|
||||
other_ts, my_ts, POLICY_IN, this->reqid,
|
||||
this->mark_in, FALSE);
|
||||
if (this->mode != MODE_TRANSPORT)
|
||||
{
|
||||
hydra->kernel_interface->del_policy(hydra->kernel_interface,
|
||||
other_ts, my_ts, POLICY_FWD, this->mark_in, FALSE);
|
||||
other_ts, my_ts, POLICY_FWD, this->reqid,
|
||||
this->mark_in, FALSE);
|
||||
}
|
||||
|
||||
/* check whether we have to update a "dynamic" traffic selector */
|
||||
@@ -943,13 +946,16 @@ METHOD(child_sa_t, destroy, void,
|
||||
while (enumerator->enumerate(enumerator, &my_ts, &other_ts))
|
||||
{
|
||||
hydra->kernel_interface->del_policy(hydra->kernel_interface,
|
||||
my_ts, other_ts, POLICY_OUT, this->mark_out, unrouted);
|
||||
my_ts, other_ts, POLICY_OUT, this->reqid,
|
||||
this->mark_out, unrouted);
|
||||
hydra->kernel_interface->del_policy(hydra->kernel_interface,
|
||||
other_ts, my_ts, POLICY_IN, this->mark_in, unrouted);
|
||||
other_ts, my_ts, POLICY_IN, this->reqid,
|
||||
this->mark_in, unrouted);
|
||||
if (this->mode != MODE_TRANSPORT)
|
||||
{
|
||||
hydra->kernel_interface->del_policy(hydra->kernel_interface,
|
||||
other_ts, my_ts, POLICY_FWD, this->mark_in, unrouted);
|
||||
other_ts, my_ts, POLICY_FWD, this->reqid,
|
||||
this->mark_in, unrouted);
|
||||
}
|
||||
}
|
||||
enumerator->destroy(enumerator);
|
||||
|
||||
Reference in new issue
Block a user