summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2016-04-11 13:29:09 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2016-04-13 16:19:11 +0300
commitea49f026076292c546b1280881911e479063e6e1 (patch)
tree1ee15e00126210b28f15c267af82b06ad7d00629
parentb868362baa33523791dbe1bbe51345962c668582 (diff)
downloadconnman-ea49f026076292c546b1280881911e479063e6e1.tar.gz
resolver: Add function to set fallback nameservers
Make an internal function to request fallback nameservers to be added in case no nameservers were configured for the service.
-rw-r--r--src/connman.h1
-rw-r--r--src/resolver.c4
-rw-r--r--src/service.c3
3 files changed, 6 insertions, 2 deletions
diff --git a/src/connman.h b/src/connman.h
index 447bdd74..c74ab911 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -248,6 +248,7 @@ int __connman_inet_get_address_netmask(int ifindex,
int __connman_resolver_init(gboolean dnsproxy);
void __connman_resolver_cleanup(void);
+void __connman_resolver_append_fallback_nameservers(void);
int __connman_resolvfile_append(int index, const char *domain, const char *server);
int __connman_resolvfile_remove(int index, const char *domain, const char *server);
int __connman_resolver_redo_servers(int index);
diff --git a/src/resolver.c b/src/resolver.c
index 121b71cb..fbe4be73 100644
--- a/src/resolver.c
+++ b/src/resolver.c
@@ -218,7 +218,7 @@ int __connman_resolvfile_remove(int index, const char *domain,
return resolvfile_export();
}
-static void append_fallback_nameservers(void)
+void __connman_resolver_append_fallback_nameservers(void)
{
GSList *list;
@@ -295,7 +295,7 @@ static void remove_entries(GSList *entries)
g_slist_free(entries);
- append_fallback_nameservers();
+ __connman_resolver_append_fallback_nameservers();
}
static gboolean resolver_expire_cb(gpointer user_data)
diff --git a/src/service.c b/src/service.c
index 1fff4831..d6aeb973 100644
--- a/src/service.c
+++ b/src/service.c
@@ -1042,6 +1042,9 @@ static int nameserver_add_all(struct connman_service *service,
}
}
+ if (!i)
+ __connman_resolver_append_fallback_nameservers();
+
searchdomain_add_all(service);
return 0;