not installing a route when policy gets updated

This commit is contained in:
Martin Willi
2007-03-20 08:15:18 +00:00
parent a1e5881c42
commit 44cd2bf0fa
+8 -2
View File
@@ -1663,8 +1663,14 @@ static status_t add_policy(private_kernel_interface_t *this,
return FAILED;
}
if (direction == POLICY_FWD && mode != MODE_TRANSPORT &&
src->get_family(src) != AF_INET6)
/* install a route, if:
* - we are NOT updating a policy
* - this is a forward policy (to just get one for each child)
* - we are in tunnel mode
* - we are not using IPv6 (does not work correctly yet!)
*/
if (policy->route == NULL && direction == POLICY_FWD &&
mode != MODE_TRANSPORT && src->get_family(src) != AF_INET6)
{
policy->route = malloc_thing(route_entry_t);
if (get_address_by_ts(this, dst_ts, &policy->route->src_ip) == SUCCESS)