1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

libutil: use AI_ADDRCONFIG only when AI_NUMERIC is not defined

This flag prevents startup w/o ip addresses assigned to any interface.
If AI_NUMERIC is passed it should be safe to avoid it.

Signed-off-by: Andreas Schneider <asn@samba.org>
This commit is contained in:
Simo Sorce 2011-05-11 17:50:07 -04:00 committed by Andreas Schneider
parent e0dc3aa5b6
commit 185cd4c794

View File

@ -73,10 +73,9 @@ bool interpret_string_addr_internal(struct addrinfo **ppres,
ppres);
if (ret) {
DEBUG(3,("interpret_string_addr_internal: getaddrinfo failed "
"for name %s [%s]\n",
str,
gai_strerror(ret) ));
DEBUG(3, ("interpret_string_addr_internal: "
"getaddrinfo failed for name %s (flags %d) [%s]\n",
str, flags, gai_strerror(ret)));
return false;
}
return true;
@ -97,6 +96,7 @@ static bool interpret_string_addr_pref(struct sockaddr_storage *pss,
#if defined(HAVE_IPV6)
char addr[INET6_ADDRSTRLEN];
unsigned int scope_id = 0;
int int_flags;
if (strchr_m(str, ':')) {
char *p = strchr_m(str, '%');
@ -117,7 +117,13 @@ static bool interpret_string_addr_pref(struct sockaddr_storage *pss,
zero_sockaddr(pss);
if (!interpret_string_addr_internal(&res, str, flags|AI_ADDRCONFIG)) {
if (flags & AI_NUMERICHOST) {
int_flags = flags;
} else {
int_flags = flags|AI_ADDRCONFIG;
}
if (!interpret_string_addr_internal(&res, str, int_flags)) {
return false;
}
if (!res) {