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:
parent
e0dc3aa5b6
commit
185cd4c794
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user