diff options
author | Seonah Moon <seonah1.moon@samsung.com> | 2017-03-14 19:31:33 +0900 |
---|---|---|
committer | Seonah Moon <seonah1.moon@samsung.com> | 2017-03-14 20:09:50 +0900 |
commit | 793489d779f0727f9f59d02df75c0e69d07f4fc0 (patch) | |
tree | a2c4fd40e50ba6483eaa3ec91f1ceaa3db580197 /src/config.c | |
parent | 6613191eff5291c5992ee403557ef04caf9e650e (diff) | |
download | connman-793489d779f0727f9f59d02df75c0e69d07f4fc0.tar.gz connman-793489d779f0727f9f59d02df75c0e69d07f4fc0.tar.bz2 connman-793489d779f0727f9f59d02df75c0e69d07f4fc0.zip |
Apply DNS configuration methodsubmit/tizen/20170322.011410accepted/tizen/wearable/20170322.235735accepted/tizen/unified/20170322.235830accepted/tizen/tv/20170322.235708accepted/tizen/mobile/20170322.235633accepted/tizen/ivi/20170322.235801accepted/tizen/common/20170322.153711
Change-Id: If16e739fde7e9d736c66015ab1efa982e49d3482
Signed-off-by: Seonah Moon <seonah1.moon@samsung.com>
Diffstat (limited to 'src/config.c')
-rwxr-xr-x | src/config.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/config.c b/src/config.c index 3818fb84..25dd1748 100755 --- a/src/config.c +++ b/src/config.c @@ -1097,6 +1097,20 @@ static gboolean remove_virtual_config(gpointer user_data) return FALSE; } +#if defined TIZEN_EXT +static bool __check_address_type(int address_family, const char *address) +{ + unsigned char buf[sizeof(struct in6_addr)] = {0, }; + int err = 0; + + err = inet_pton(address_family, address, buf); + if(err > 0) + return TRUE; + + return FALSE; +} +#endif + static int try_provision_service(struct connman_config_service *config, struct connman_service *service) { @@ -1279,8 +1293,19 @@ static int try_provision_service(struct connman_config_service *config, __connman_service_nameserver_clear(service); for (i = 0; config->nameservers[i]; i++) { +#if defined TIZEN_EXT + if (__check_address_type(AF_INET, config->nameservers[i])) + __connman_service_nameserver_append(service, + config->nameservers[i], false, + CONNMAN_IPCONFIG_TYPE_IPV4); + else if (__check_address_type(AF_INET6, config->nameservers[i])) + __connman_service_nameserver_append(service, + config->nameservers[i], false, + CONNMAN_IPCONFIG_TYPE_IPV6); +#else __connman_service_nameserver_append(service, config->nameservers[i], false); +#endif } } |