Mercurial > hg > nginx-quic
comparison src/http/ngx_http.c @ 6593:b3b7e33083ac
Introduced ngx_inet_get_port() and ngx_inet_set_port() functions.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Mon, 20 Jun 2016 11:50:39 +0300 |
parents | c90cf79d0e1d |
children | cebf5fed00bf |
comparison
equal
deleted
inserted
replaced
6592:2c7b488a61fb | 6593:b3b7e33083ac |
---|---|
1142 ngx_http_listen_opt_t *lsopt) | 1142 ngx_http_listen_opt_t *lsopt) |
1143 { | 1143 { |
1144 in_port_t p; | 1144 in_port_t p; |
1145 ngx_uint_t i; | 1145 ngx_uint_t i; |
1146 struct sockaddr *sa; | 1146 struct sockaddr *sa; |
1147 struct sockaddr_in *sin; | |
1148 ngx_http_conf_port_t *port; | 1147 ngx_http_conf_port_t *port; |
1149 ngx_http_core_main_conf_t *cmcf; | 1148 ngx_http_core_main_conf_t *cmcf; |
1150 #if (NGX_HAVE_INET6) | |
1151 struct sockaddr_in6 *sin6; | |
1152 #endif | |
1153 | 1149 |
1154 cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module); | 1150 cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module); |
1155 | 1151 |
1156 if (cmcf->ports == NULL) { | 1152 if (cmcf->ports == NULL) { |
1157 cmcf->ports = ngx_array_create(cf->temp_pool, 2, | 1153 cmcf->ports = ngx_array_create(cf->temp_pool, 2, |
1160 return NGX_ERROR; | 1156 return NGX_ERROR; |
1161 } | 1157 } |
1162 } | 1158 } |
1163 | 1159 |
1164 sa = &lsopt->sockaddr.sockaddr; | 1160 sa = &lsopt->sockaddr.sockaddr; |
1165 | 1161 p = ngx_inet_get_port(sa); |
1166 switch (sa->sa_family) { | |
1167 | |
1168 #if (NGX_HAVE_INET6) | |
1169 case AF_INET6: | |
1170 sin6 = &lsopt->sockaddr.sockaddr_in6; | |
1171 p = sin6->sin6_port; | |
1172 break; | |
1173 #endif | |
1174 | |
1175 #if (NGX_HAVE_UNIX_DOMAIN) | |
1176 case AF_UNIX: | |
1177 p = 0; | |
1178 break; | |
1179 #endif | |
1180 | |
1181 default: /* AF_INET */ | |
1182 sin = &lsopt->sockaddr.sockaddr_in; | |
1183 p = sin->sin_port; | |
1184 break; | |
1185 } | |
1186 | 1162 |
1187 port = cmcf->ports->elts; | 1163 port = cmcf->ports->elts; |
1188 for (i = 0; i < cmcf->ports->nelts; i++) { | 1164 for (i = 0; i < cmcf->ports->nelts; i++) { |
1189 | 1165 |
1190 if (p != port[i].port || sa->sa_family != port[i].family) { | 1166 if (p != port[i].port || sa->sa_family != port[i].family) { |