summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2012-06-04 13:45:04 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-06-14 15:06:13 +0300
commitdb22a96a0d172ddb68528fed5812a940f2318be9 (patch)
tree9fb22d26059146aa812f1fd81300454e34728ac2 /src
parent0e9992014e61671dc81685b7ce87c2da39b877fc (diff)
downloadconnman-db22a96a0d172ddb68528fed5812a940f2318be9.tar.gz
connman-db22a96a0d172ddb68528fed5812a940f2318be9.tar.bz2
connman-db22a96a0d172ddb68528fed5812a940f2318be9.zip
service: Simplify nameserver route adding and removing
Diffstat (limited to 'src')
-rw-r--r--src/service.c36
1 files changed, 6 insertions, 30 deletions
diff --git a/src/service.c b/src/service.c
index 94ef7b66..90ae252f 100644
--- a/src/service.c
+++ b/src/service.c
@@ -1148,48 +1148,26 @@ static void add_nameserver_route(int family, int index, char *nameserver,
static void nameserver_add_routes(int index, char **nameservers,
const char *gw)
{
- int i, ret, family;
- struct addrinfo hints;
- struct addrinfo *addr;
+ int i, family;
for (i = 0; nameservers[i] != NULL; i++) {
- memset(&hints, 0, sizeof(struct addrinfo));
- hints.ai_flags = AI_NUMERICHOST;
- addr = NULL;
-
- ret = getaddrinfo(nameservers[i], NULL, &hints, &addr);
- if (ret == EAI_NONAME)
- family = AF_INET; /* use the IPv4 as a default */
- else if (ret != 0)
+ family = connman_inet_check_ipaddress(nameservers[i]);
+ if (family < 0)
continue;
- else
- family = addr->ai_family;
add_nameserver_route(family, index, nameservers[i], gw);
-
- freeaddrinfo(addr);
}
}
static void nameserver_del_routes(int index, char **nameservers,
enum connman_ipconfig_type type)
{
- int i, ret, family;
- struct addrinfo hints;
- struct addrinfo *addr;
+ int i, family;
for (i = 0; nameservers[i] != NULL; i++) {
- memset(&hints, 0, sizeof(struct addrinfo));
- hints.ai_flags = AI_NUMERICHOST;
- addr = NULL;
-
- ret = getaddrinfo(nameservers[i], NULL, &hints, &addr);
- if (ret == EAI_NONAME)
- family = AF_INET; /* use the IPv4 as a default */
- else if (ret != 0)
+ family = connman_inet_check_ipaddress(nameservers[i]);
+ if (family < 0)
continue;
- else
- family = addr->ai_family;
switch (family) {
case AF_INET:
@@ -1203,8 +1181,6 @@ static void nameserver_del_routes(int index, char **nameservers,
nameservers[i]);
break;
}
-
- freeaddrinfo(addr);
}
}