summaryrefslogtreecommitdiffhomepage
path: root/src/stream
diff options
context:
space:
mode:
authorRoman Arutyunyan <arut@nginx.com>2016-06-20 11:50:39 +0300
committerRoman Arutyunyan <arut@nginx.com>2016-06-20 11:50:39 +0300
commit5b201ac31f968d13f1165e7f29967e5826ccb9a1 (patch)
tree61ce22b2491314e54fbcd585a28ffaa39cd49382 /src/stream
parent72d4e5d7930a07a8753640061bbe9210c6a1f890 (diff)
downloadnginx-5b201ac31f968d13f1165e7f29967e5826ccb9a1.tar.gz
nginx-5b201ac31f968d13f1165e7f29967e5826ccb9a1.tar.bz2
Introduced ngx_inet_get_port() and ngx_inet_set_port() functions.
Diffstat (limited to 'src/stream')
-rw-r--r--src/stream/ngx_stream.c26
-rw-r--r--src/stream/ngx_stream_proxy_module.c24
2 files changed, 4 insertions, 46 deletions
diff --git a/src/stream/ngx_stream.c b/src/stream/ngx_stream.c
index 055622dae..5e7abaebe 100644
--- a/src/stream/ngx_stream.c
+++ b/src/stream/ngx_stream.c
@@ -243,35 +243,11 @@ ngx_stream_add_ports(ngx_conf_t *cf, ngx_array_t *ports,
in_port_t p;
ngx_uint_t i;
struct sockaddr *sa;
- struct sockaddr_in *sin;
ngx_stream_conf_port_t *port;
ngx_stream_conf_addr_t *addr;
-#if (NGX_HAVE_INET6)
- struct sockaddr_in6 *sin6;
-#endif
sa = &listen->sockaddr.sockaddr;
-
- switch (sa->sa_family) {
-
-#if (NGX_HAVE_INET6)
- case AF_INET6:
- sin6 = &listen->sockaddr.sockaddr_in6;
- p = sin6->sin6_port;
- break;
-#endif
-
-#if (NGX_HAVE_UNIX_DOMAIN)
- case AF_UNIX:
- p = 0;
- break;
-#endif
-
- default: /* AF_INET */
- sin = &listen->sockaddr.sockaddr_in;
- p = sin->sin_port;
- break;
- }
+ p = ngx_inet_get_port(sa);
port = ports->elts;
for (i = 0; i < ports->nelts; i++) {
diff --git a/src/stream/ngx_stream_proxy_module.c b/src/stream/ngx_stream_proxy_module.c
index 831fdda50..265aba1be 100644
--- a/src/stream/ngx_stream_proxy_module.c
+++ b/src/stream/ngx_stream_proxy_module.c
@@ -446,12 +446,8 @@ static ngx_int_t
ngx_stream_proxy_set_local(ngx_stream_session_t *s, ngx_stream_upstream_t *u,
ngx_stream_upstream_local_t *local)
{
- ngx_addr_t *addr;
- ngx_connection_t *c;
- struct sockaddr_in *sin;
-#if (NGX_HAVE_INET6)
- struct sockaddr_in6 *sin6;
-#endif
+ ngx_addr_t *addr;
+ ngx_connection_t *c;
if (local == NULL) {
u->peer.local = NULL;
@@ -484,21 +480,7 @@ ngx_stream_proxy_set_local(ngx_stream_session_t *s, ngx_stream_upstream_t *u,
}
ngx_memcpy(addr->sockaddr, c->sockaddr, c->socklen);
-
- switch (addr->sockaddr->sa_family) {
-
- case AF_INET:
- sin = (struct sockaddr_in *) addr->sockaddr;
- sin->sin_port = 0;
- break;
-
-#if (NGX_HAVE_INET6)
- case AF_INET6:
- sin6 = (struct sockaddr_in6 *) addr->sockaddr;
- sin6->sin6_port = 0;
- break;
-#endif
- }
+ ngx_inet_set_port(addr->sockaddr, 0);
addr->name = c->addr_text;
u->peer.local = addr;