summaryrefslogtreecommitdiff
path: root/src/tethering.c
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2011-04-27 10:38:07 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2011-04-27 10:38:07 +0200
commit376b71e7b91c4794ea0aec6b11a744a3e3a5f931 (patch)
tree6cf1d7b8514d119883e93aaf72253078e67d9561 /src/tethering.c
parent427aaa2383138988e1a419e0103ebd470f8543fa (diff)
downloadconnman-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.c9
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);