diff options
author | Patrik Flykt <patrik.flykt@linux.intel.com> | 2016-04-11 13:29:09 +0300 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2016-04-13 16:19:11 +0300 |
commit | ea49f026076292c546b1280881911e479063e6e1 (patch) | |
tree | 1ee15e00126210b28f15c267af82b06ad7d00629 | |
parent | b868362baa33523791dbe1bbe51345962c668582 (diff) | |
download | connman-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.h | 1 | ||||
-rw-r--r-- | src/resolver.c | 4 | ||||
-rw-r--r-- | src/service.c | 3 |
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; |