diff options
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); |