If your service has not switched to an Online state but has always been
Ready, an IP change on that service will cause DNS to stop working.
This is because that service will have never been marked as the default;
so when dnxproxy goes to re-add the DNS server(s) for the service, it will
not enable it.

Fix it by making sure we actually have a default service first, before
deciding that we should not enable DNS on a non-default service.

Signed-off-by: Justin Maggard <[email protected]>
---
 src/dnsproxy.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/dnsproxy.c b/src/dnsproxy.c
index bdd7fd5..837aff6 100644
--- a/src/dnsproxy.c
+++ b/src/dnsproxy.c
@@ -2604,6 +2604,7 @@ static struct server_data *create_server(int index,
 
        if (protocol == IPPROTO_UDP) {
                if (__connman_service_index_is_default(data->index) ||
+                               !__connman_service_get_default() ||
                                __connman_service_index_is_split_routing(
                                                                data->index)) {
                        data->enabled = true;
-- 
1.9.1

_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to