From: Elena Tebesoi <elena.tebe...@gmail.com> This patch allows nameservers to be appended for a network. For example, IPv6 nameservers can be appended to the IPv4 nameservers. --- include/network.h | 2 +- plugins/dundee.c | 4 +++- plugins/ofono.c | 3 ++- src/network.c | 5 +++-- 4 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/include/network.h b/include/network.h index 12b0621..97ca03e 100644 --- a/include/network.h +++ b/include/network.h @@ -112,7 +112,7 @@ void connman_network_set_ipv6_method(struct connman_network *network, int connman_network_set_ipaddress(struct connman_network *network, struct connman_ipaddress *ipaddress); int connman_network_set_nameservers(struct connman_network *network, - const char *nameservers); + const char *nameservers, connman_bool_t append); int connman_network_set_domain(struct connman_network *network, const char *domain); int connman_network_set_name(struct connman_network *network, diff --git a/plugins/dundee.c b/plugins/dundee.c index 045f639..eacc793 100644 --- a/plugins/dundee.c +++ b/plugins/dundee.c @@ -194,7 +194,9 @@ static void set_connected(struct dundee_data *info) connman_network_set_ipv4_method(info->network, CONNMAN_IPCONFIG_METHOD_FIXED); connman_network_set_ipaddress(info->network, info->address); - connman_network_set_nameservers(info->network, info->nameservers); + connman_network_set_nameservers(info->network, + info->nameservers, + FALSE); connman_network_set_connected(info->network, TRUE); } diff --git a/plugins/ofono.c b/plugins/ofono.c index ae419be..4fb5747 100644 --- a/plugins/ofono.c +++ b/plugins/ofono.c @@ -275,7 +275,8 @@ static void set_connected(struct modem_data *modem) connman_network_set_ipaddress(modem->network, modem->context->ipv4_address); connman_network_set_nameservers(modem->network, - modem->context->ipv4_nameservers); + modem->context->ipv4_nameservers, + FALSE); setip = TRUE; break; diff --git a/src/network.c b/src/network.c index 6ecb35b..95b4e7b 100644 --- a/src/network.c +++ b/src/network.c @@ -1761,7 +1761,7 @@ int connman_network_set_ipaddress(struct connman_network *network, } int connman_network_set_nameservers(struct connman_network *network, - const char *nameservers) + const char *nameservers, connman_bool_t append) { struct connman_service *service; char **nameservers_array; @@ -1773,7 +1773,8 @@ int connman_network_set_nameservers(struct connman_network *network, if (service == NULL) return -EINVAL; - __connman_service_nameserver_clear(service); + if (append == FALSE) + __connman_service_nameserver_clear(service); if (nameservers == NULL) return 0; -- 1.7.5.4 _______________________________________________ connman mailing list connman@connman.net http://lists.connman.net/listinfo/connman