# HG changeset patch # User Ruslan Ermilov # Date 1375695896 -14400 # Node ID 0300d97c60842352888b24495d10139454159766 # Parent 1fe5f7fb6cedbdf4cbbb1ca7ad36c05948635a97 Core: guard use of AI_ADDRCONFIG. Some systems (notably NetBSD and OpenBSD) lack AI_ADDRCONFIG support. Reported by Piotr Sikora. diff --git a/auto/unix b/auto/unix --- a/auto/unix +++ b/auto/unix @@ -788,11 +788,7 @@ ngx_feature_incs="#include #include " ngx_feature_path= ngx_feature_libs= -ngx_feature_test='struct addrinfo hints, *res; - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - hints.ai_flags = AI_ADDRCONFIG; - if (getaddrinfo("localhost", NULL, &hints, &res) != 0) - return 1; +ngx_feature_test='struct addrinfo *res; + if (getaddrinfo("localhost", NULL, NULL, &res) != 0) return 1; freeaddrinfo(res)' . auto/feature diff --git a/src/core/ngx_inet.c b/src/core/ngx_inet.c --- a/src/core/ngx_inet.c +++ b/src/core/ngx_inet.c @@ -963,7 +963,9 @@ ngx_inet_resolve_host(ngx_pool_t *pool, ngx_memzero(&hints, sizeof(struct addrinfo)); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; +#ifdef AI_ADDRCONFIG hints.ai_flags = AI_ADDRCONFIG; +#endif if (getaddrinfo((char *) host, NULL, &hints, &res) != 0) { u->err = "host not found";