kernel-libipsec: Fail route installation if remote TS matches peer

This commit is contained in:
Tobias Brunner
2013-07-18 15:41:13 +02:00
parent dfc9902013
commit 29bdfb4086
@@ -464,6 +464,15 @@ static bool install_route(private_kernel_libipsec_ipsec_t *this,
policy->route = NULL;
}
if (dst_ts->is_host(dst_ts, dst))
{
DBG1(DBG_KNL, "can't install route for %R === %R %N, conflicts with "
"IKE traffic", src_ts, dst_ts, policy_dir_names,
policy->direction);
route_entry_destroy(route);
this->mutex->unlock(this->mutex);
return FALSE;
}
/* if remote traffic selector covers the IKE peer, add an exclude route */
if (dst_ts->includes(dst_ts, dst))
{