comparison src/http/ngx_http_core_module.c @ 5263:05ba5bce31e0

Core: extended ngx_sock_ntop() with socklen parameter. On Linux, sockaddr length is required to process unix socket addresses properly due to unnamed sockets (which don't have sun_path set at all) and abstract namespace sockets.
author Vladimir Homutov <vl@nginx.com>
date Thu, 11 Jul 2013 16:07:25 +0400
parents 7ecaa9e4bf1b
children 8e7db77e5d88
comparison
equal deleted inserted replaced
5262:626f288fa5ed 5263:05ba5bce31e0
3031 #if (NGX_HAVE_SETFIB) 3031 #if (NGX_HAVE_SETFIB)
3032 lsopt.setfib = -1; 3032 lsopt.setfib = -1;
3033 #endif 3033 #endif
3034 lsopt.wildcard = 1; 3034 lsopt.wildcard = 1;
3035 3035
3036 (void) ngx_sock_ntop(&lsopt.u.sockaddr, lsopt.addr, 3036 (void) ngx_sock_ntop(&lsopt.u.sockaddr, lsopt.socklen, lsopt.addr,
3037 NGX_SOCKADDR_STRLEN, 1); 3037 NGX_SOCKADDR_STRLEN, 1);
3038 3038
3039 if (ngx_http_add_listen(cf, cscf, &lsopt) != NGX_OK) { 3039 if (ngx_http_add_listen(cf, cscf, &lsopt) != NGX_OK) {
3040 return NGX_CONF_ERROR; 3040 return NGX_CONF_ERROR;
3041 } 3041 }
3982 lsopt.wildcard = u.wildcard; 3982 lsopt.wildcard = u.wildcard;
3983 #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY) 3983 #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY)
3984 lsopt.ipv6only = 1; 3984 lsopt.ipv6only = 1;
3985 #endif 3985 #endif
3986 3986
3987 (void) ngx_sock_ntop(&lsopt.u.sockaddr, lsopt.addr, 3987 (void) ngx_sock_ntop(&lsopt.u.sockaddr, lsopt.socklen, lsopt.addr,
3988 NGX_SOCKADDR_STRLEN, 1); 3988 NGX_SOCKADDR_STRLEN, 1);
3989 3989
3990 for (n = 2; n < cf->args->nelts; n++) { 3990 for (n = 2; n < cf->args->nelts; n++) {
3991 3991
3992 if (ngx_strcmp(value[n].data, "default_server") == 0 3992 if (ngx_strcmp(value[n].data, "default_server") == 0