diff options
author | Martin Willi <martin@strongswan.org> | 2008-06-17 08:04:12 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2008-06-17 08:04:12 +0000 |
commit | 285152b33d8cc7bcdc0ef6384ab177bca9ca393b (patch) | |
tree | 0dcc25b736054f60268ac59f0cfef05339544e48 | |
parent | 9e9d3ddc1206901993d4f6a3f027c81cb10a4135 (diff) | |
download | strongswan-285152b33d8cc7bcdc0ef6384ab177bca9ca393b.tar.bz2 strongswan-285152b33d8cc7bcdc0ef6384ab177bca9ca393b.tar.xz |
do not use self-installed route for IKE if routing table is 0
-rw-r--r-- | src/charon/kernel/kernel_interface.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/charon/kernel/kernel_interface.c b/src/charon/kernel/kernel_interface.c index 2d89de575..ad244b3c4 100644 --- a/src/charon/kernel/kernel_interface.c +++ b/src/charon/kernel/kernel_interface.c @@ -1669,6 +1669,13 @@ static host_t *get_route(private_kernel_interface_t *this, host_t *dest, { DESTROY_IF(src); src = host_create_from_chunk(msg->rtm_family, rta_src, 0); + if (get_vip_refcount(this, src)) + { /* skip source address if it is installed by us */ + DESTROY_IF(src); + src = NULL; + current = NLMSG_NEXT(current, len); + continue; + } } else { |