# HG changeset patch # User Maxim Dounin # Date 1344269036 0 # Node ID 0f55013dde39b6b530b913151b1783c2f85e2abf # Parent e1d4956d7e915c6e517cb26c4cea14244a80bfe8 Merge of r4756: fixed listen addresses sorting (ticket #187) Fixed sorting of listen addresses so that wildcard address is always at the end. Failure to do so could result in several listen sockets to be created instead of only one listening on wildcard address. Reported by Roman Odaisky. diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c --- a/src/http/ngx_http.c +++ b/src/http/ngx_http.c @@ -1613,6 +1613,11 @@ ngx_http_cmp_conf_addrs(const void *one, return 1; } + if (second->opt.wildcard) { + /* a wildcard address must be the last resort, shift it to the end */ + return -1; + } + if (first->opt.bind && !second->opt.bind) { /* shift explicit bind()ed addresses to the start */ return -1;