aboutsummaryrefslogtreecommitdiffstats
path: root/src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2014-12-18 09:50:50 +0100
committerMartin Willi <martin@revosec.ch>2014-12-18 09:50:50 +0100
commit55e7a0cafb2c39f3dd82b5bcf8cf838127688b6b (patch)
treece225fdd004fcd057eb139d2c221544c0c9b8bc0 /src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c
parentf9da7ef868cef64c3dd63ce4eec91c87a6a2978e (diff)
parent7f82a8f34b4eecf8011716a3e57dee30227293fb (diff)
downloadstrongswan-55e7a0cafb2c39f3dd82b5bcf8cf838127688b6b.tar.bz2
strongswan-55e7a0cafb2c39f3dd82b5bcf8cf838127688b6b.tar.xz
Merge branch 'osx-app'
Mainline the OS X App providing the graphical user interface for the charon-xpc privileged helper.
Diffstat (limited to 'src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c')
-rw-r--r--src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c b/src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c
index 26fae0d6b..0f7802270 100644
--- a/src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c
+++ b/src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c
@@ -830,6 +830,15 @@ static void process_link(private_kernel_pfroute_net_t *this,
DBG1(DBG_KNL, "interface %s deactivated", iface->ifname);
}
}
+#ifdef __APPLE__
+ /* There seems to be a race condition on 10.10, where we get
+ * the RTM_IFINFO, but getifaddrs() does not return the virtual
+ * IP installed on a tun device, but we also don't get a
+ * RTM_NEWADDR. We therefore could miss the new address, letting
+ * virtual IP installation fail. Delaying getifaddrs() helps,
+ * but is obviously not a clean fix. */
+ usleep(50000);
+#endif
iface->flags = msg->ifm_flags;
repopulate_iface(this, iface);
found = TRUE;