diff options
author | Tobias Brunner <tobias@strongswan.org> | 2012-09-14 16:27:33 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2012-09-21 18:16:26 +0200 |
commit | 9ba36c0f7f68af814c9805ec8ac11d2f3ae2f5d7 (patch) | |
tree | 2ff3c2a3433ef923620072150a7161c6140a1017 /src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c | |
parent | aed33805ce92a1d075971734357a111637488a2a (diff) | |
download | strongswan-9ba36c0f7f68af814c9805ec8ac11d2f3ae2f5d7.tar.bz2 strongswan-9ba36c0f7f68af814c9805ec8ac11d2f3ae2f5d7.tar.xz |
Make it easy to check if an address is locally usable via changed get_interface() method
Diffstat (limited to 'src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c')
-rw-r--r-- | src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c b/src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c index 4ecb72731..14ca4c8cb 100644 --- a/src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c +++ b/src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c @@ -2028,14 +2028,13 @@ static status_t add_policy_internal(private_kernel_pfkey_ipsec_t *this, route->gateway = hydra->kernel_interface->get_nexthop( hydra->kernel_interface, ipsec->src, ipsec->dst); - /* install route via outgoing interface */ - route->if_name = hydra->kernel_interface->get_interface( - hydra->kernel_interface, ipsec->dst); route->dst_net = chunk_clone(policy->src.net->get_address( policy->src.net)); route->prefixlen = policy->src.mask; - if (!route->if_name) + /* install route via outgoing interface */ + if (!hydra->kernel_interface->get_interface(hydra->kernel_interface, + ipsec->dst, &route->if_name)) { this->mutex->unlock(this->mutex); route_entry_destroy(route); |