Mercurial > hg > nginx
comparison src/core/ngx_resolver.c @ 4671:af9342747669
Support for IPv6 literals and an optional port in resolver.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Mon, 04 Jun 2012 14:23:27 +0000 |
parents | 134ccdf44647 |
children | 84d8e60b65f0 |
comparison
equal
deleted
inserted
replaced
4670:c070fa19511e | 4671:af9342747669 |
---|---|
169 continue; | 169 continue; |
170 } | 170 } |
171 | 171 |
172 ngx_memzero(&u, sizeof(ngx_url_t)); | 172 ngx_memzero(&u, sizeof(ngx_url_t)); |
173 | 173 |
174 u.host = names[i]; | 174 u.url = names[i]; |
175 u.port = 53; | 175 u.default_port = 53; |
176 | 176 |
177 if (ngx_inet_resolve_host(cf->pool, &u) != NGX_OK) { | 177 if (ngx_parse_url(cf->pool, &u) != NGX_OK) { |
178 if (u.err) { | 178 if (u.err) { |
179 ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, | 179 ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, |
180 "%s in resolver \"%V\"", | 180 "%s in resolver \"%V\"", |
181 u.err, &u.host); | 181 u.err, &u.url); |
182 } | 182 } |
183 | 183 |
184 return NULL; | 184 return NULL; |
185 } | 185 } |
186 | 186 |
2187 ngx_int_t event; | 2187 ngx_int_t event; |
2188 ngx_event_t *rev, *wev; | 2188 ngx_event_t *rev, *wev; |
2189 ngx_socket_t s; | 2189 ngx_socket_t s; |
2190 ngx_connection_t *c; | 2190 ngx_connection_t *c; |
2191 | 2191 |
2192 s = ngx_socket(AF_INET, SOCK_DGRAM, 0); | 2192 s = ngx_socket(uc->sockaddr->sa_family, SOCK_DGRAM, 0); |
2193 | 2193 |
2194 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, &uc->log, 0, "UDP socket %d", s); | 2194 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, &uc->log, 0, "UDP socket %d", s); |
2195 | 2195 |
2196 if (s == -1) { | 2196 if (s == -1) { |
2197 ngx_log_error(NGX_LOG_ALERT, &uc->log, ngx_socket_errno, | 2197 ngx_log_error(NGX_LOG_ALERT, &uc->log, ngx_socket_errno, |