diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2011-04-27 10:38:07 +0200 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-04-27 10:38:07 +0200 |
commit | 376b71e7b91c4794ea0aec6b11a744a3e3a5f931 (patch) | |
tree | 6cf1d7b8514d119883e93aaf72253078e67d9561 /src/tethering.c | |
parent | 427aaa2383138988e1a419e0103ebd470f8543fa (diff) | |
download | connman-376b71e7b91c4794ea0aec6b11a744a3e3a5f931.tar.gz connman-376b71e7b91c4794ea0aec6b11a744a3e3a5f931.tar.bz2 connman-376b71e7b91c4794ea0aec6b11a744a3e3a5f931.zip |
tethering: Fall back to google's DNS when dnsproxy listener addition fails
Diffstat (limited to 'src/tethering.c')
-rw-r--r-- | src/tethering.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/tethering.c b/src/tethering.c index f7732c99..c7f4f100 100644 --- a/src/tethering.c +++ b/src/tethering.c @@ -334,6 +334,8 @@ void __connman_tethering_set_enabled(void) DBG("enabled %d", tethering_enabled + 1); if (g_atomic_int_exchange_and_add(&tethering_enabled, 1) == 0) { + const char *dns; + err = create_bridge(BRIDGE_NAME); if (err < 0) return; @@ -344,15 +346,18 @@ void __connman_tethering_set_enabled(void) return; } - if (__connman_dnsproxy_add_listener(BRIDGE_NAME) < 0) + dns = BRIDGE_IP; + if (__connman_dnsproxy_add_listener(BRIDGE_NAME) < 0) { connman_error("Can't add listener %s to DNS proxy", BRIDGE_NAME); + dns = BRIDGE_DNS; + } tethering_dhcp_server = dhcp_server_start(BRIDGE_NAME, BRIDGE_IP, BRIDGE_SUBNET, BRIDGE_IP_START, BRIDGE_IP_END, - 24 * 3600, BRIDGE_IP); + 24 * 3600, dns); if (tethering_dhcp_server == NULL) { disable_bridge(BRIDGE_NAME); remove_bridge(BRIDGE_NAME); |