diff options
Diffstat (limited to 'shared/config-parser.c')
-rw-r--r-- | shared/config-parser.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/shared/config-parser.c b/shared/config-parser.c index 9c89cf2..1c9979e 100644 --- a/shared/config-parser.c +++ b/shared/config-parser.c @@ -60,7 +60,8 @@ get_line(char **pos) } static bool -dnslookup(const char *name, uint16_t port, struct cfg_value *rvalue, bool async) +dnslookup(const char *name, uint16_t port, struct cfg_value *rvalue, + unsigned *naddrs, bool async) { struct sockaddr_in *in4; struct sockaddr_in6 *in6; @@ -132,15 +133,17 @@ dnslookup(const char *name, uint16_t port, struct cfg_value *rvalue, bool async) case AF_INET: in4 = (struct sockaddr_in *)ai->ai_addr; saddr_set_ipv4(saddr, in4->sin_addr.s_addr, in4->sin_port); - error("addrstr: %s", saddr->addrstr); + debug(DBG_CFG, "addrstr: %s", saddr->addrstr); list_add(&saddr->list, &rvalue->saddrs); + (*naddrs)++; break; case AF_INET6: in6 = (struct sockaddr_in6 *)ai->ai_addr; saddr_set_ipv6(saddr, &in6->sin6_addr, in6->sin6_port); - error("addrstr: %s", saddr->addrstr); + debug(DBG_CFG, "addrstr: %s", saddr->addrstr); list_add(&saddr->list, &rvalue->saddrs); + (*naddrs)++; break; default: @@ -249,7 +252,7 @@ strtosockaddrs(const char *str, struct cfg_value *rvalue, bool async) xfree(saddr); debug(DBG_CFG, "maybe got a hostname:port (%s:%" PRIu16 ")", str, port); - if (!dnslookup(str, port, rvalue, async)) + if (!dnslookup(str, port, rvalue, &naddrs, async)) goto error; } else if (strtou16_strict(tmp, &port) == 0) { |