Do not install routes in the PF_KEY kernel interface if interface lookup failed.

This commit is contained in:
Tobias Brunner
2010-06-23 11:43:31 +02:00
parent a427e98da1
commit 9eb7f46b3d
@@ -1795,8 +1795,11 @@ METHOD(kernel_ipsec_t, add_policy, status_t,
route->dst_net = chunk_clone(policy->src.net->get_address(policy->src.net));
route->prefixlen = policy->src.mask;
switch (charon->kernel_interface->add_route(charon->kernel_interface,
route->dst_net, route->prefixlen, route->gateway,
if (route->if_name)
{
switch (charon->kernel_interface->add_route(
charon->kernel_interface, route->dst_net,
route->prefixlen, route->gateway,
route->src_ip, route->if_name))
{
default:
@@ -1814,6 +1817,11 @@ METHOD(kernel_ipsec_t, add_policy, status_t,
}
}
else
{
route_entry_destroy(route);
}
}
else
{
free(route);
}