aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/socket_default
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2015-07-21 11:14:53 +0200
committerTobias Brunner <tobias@strongswan.org>2015-07-28 13:27:33 +0200
commit030bcee1b0f8cebce7cce1a87e33b98f3e1ed784 (patch)
treeb406c47bf065c5a67a35ec437e1db23c6851b021 /src/libcharon/plugins/socket_default
parent41b59a3443a862825d9b59d613b9fa27bc4174da (diff)
downloadstrongswan-030bcee1b0f8cebce7cce1a87e33b98f3e1ed784.tar.bz2
strongswan-030bcee1b0f8cebce7cce1a87e33b98f3e1ed784.tar.xz
android: Retrigger a roam event if reportedly connected but no source address found
In dual-stack environments the IPv6 connectivity (via autoconfiguration) might be established before the IPv4 connectivity (via DHCP). It seems Android triggers the CONNECTIVITY_ACTION broadcast already when the first family is fully configured. At that time we might not be able to find an IPv4 source address. And since Android does not trigger the broadcast again if IPv4 connectivity is established, the connection is broken afterwards. So we store the connectivity state and if we are reportedly connected but still find no source address we trigger a roam event to recheck for an IPv4 address. This will cause regular rechecks if a device enters an IPv6-only network, but I guess that's rare (otherwise we could limit the number of rechecks done between connectivity changes).
Diffstat (limited to 'src/libcharon/plugins/socket_default')
0 files changed, 0 insertions, 0 deletions