comparison src/stream/ngx_stream.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 2f41d383c9c7
comparison
equal deleted inserted replaced
6592:2c7b488a61fb 6593:b3b7e33083ac
241 ngx_stream_listen_t *listen) 241 ngx_stream_listen_t *listen)
242 { 242 {
243 in_port_t p; 243 in_port_t p;
244 ngx_uint_t i; 244 ngx_uint_t i;
245 struct sockaddr *sa; 245 struct sockaddr *sa;
246 struct sockaddr_in *sin;
247 ngx_stream_conf_port_t *port; 246 ngx_stream_conf_port_t *port;
248 ngx_stream_conf_addr_t *addr; 247 ngx_stream_conf_addr_t *addr;
249 #if (NGX_HAVE_INET6)
250 struct sockaddr_in6 *sin6;
251 #endif
252 248
253 sa = &listen->sockaddr.sockaddr; 249 sa = &listen->sockaddr.sockaddr;
254 250 p = ngx_inet_get_port(sa);
255 switch (sa->sa_family) {
256
257 #if (NGX_HAVE_INET6)
258 case AF_INET6:
259 sin6 = &listen->sockaddr.sockaddr_in6;
260 p = sin6->sin6_port;
261 break;
262 #endif
263
264 #if (NGX_HAVE_UNIX_DOMAIN)
265 case AF_UNIX:
266 p = 0;
267 break;
268 #endif
269
270 default: /* AF_INET */
271 sin = &listen->sockaddr.sockaddr_in;
272 p = sin->sin_port;
273 break;
274 }
275 251
276 port = ports->elts; 252 port = ports->elts;
277 for (i = 0; i < ports->nelts; i++) { 253 for (i = 0; i < ports->nelts; i++) {
278 254
279 if (p == port[i].port 255 if (p == port[i].port