summaryrefslogtreecommitdiffhomepage
path: root/src/http
diff options
context:
space:
mode:
Diffstat (limited to 'src/http')
-rw-r--r--src/http/modules/ngx_http_realip_module.c39
-rw-r--r--src/http/ngx_http.c26
-rw-r--r--src/http/ngx_http_header_filter_module.c23
-rw-r--r--src/http/ngx_http_upstream_round_robin.c11
-rw-r--r--src/http/ngx_http_variables.c54
-rw-r--r--src/http/v2/ngx_http_v2_filter_module.c23
6 files changed, 10 insertions, 166 deletions
diff --git a/src/http/modules/ngx_http_realip_module.c b/src/http/modules/ngx_http_realip_module.c
index fca81eb26..490a53d0e 100644
--- a/src/http/modules/ngx_http_realip_module.c
+++ b/src/http/modules/ngx_http_realip_module.c
@@ -138,10 +138,6 @@ ngx_http_realip_handler(ngx_http_request_t *r)
ngx_list_part_t *part;
ngx_table_elt_t *header;
ngx_connection_t *c;
- struct sockaddr_in *sin;
-#if (NGX_HAVE_INET6)
- struct sockaddr_in6 *sin6;
-#endif
ngx_http_realip_ctx_t *ctx;
ngx_http_realip_loc_conf_t *rlcf;
@@ -242,21 +238,7 @@ found:
!= NGX_DECLINED)
{
if (rlcf->type == NGX_HTTP_REALIP_PROXY) {
-
- switch (addr.sockaddr->sa_family) {
-
-#if (NGX_HAVE_INET6)
- case AF_INET6:
- sin6 = (struct sockaddr_in6 *) addr.sockaddr;
- sin6->sin6_port = htons(c->proxy_protocol_port);
- break;
-#endif
-
- default: /* AF_INET */
- sin = (struct sockaddr_in *) addr.sockaddr;
- sin->sin_port = htons(c->proxy_protocol_port);
- break;
- }
+ ngx_inet_set_port(addr.sockaddr, c->proxy_protocol_port);
}
return ngx_http_realip_set_addr(r, &addr);
@@ -578,24 +560,7 @@ ngx_http_realip_remote_port_variable(ngx_http_request_t *r,
return NGX_ERROR;
}
- switch (sa->sa_family) {
-
-#if (NGX_HAVE_INET6)
- case AF_INET6:
- port = ntohs(((struct sockaddr_in6 *) sa)->sin6_port);
- break;
-#endif
-
-#if (NGX_HAVE_UNIX_DOMAIN)
- case AF_UNIX:
- port = 0;
- break;
-#endif
-
- default: /* AF_INET */
- port = ntohs(((struct sockaddr_in *) sa)->sin_port);
- break;
- }
+ port = ngx_inet_get_port(sa);
if (port > 0 && port < 65536) {
v->len = ngx_sprintf(v->data, "%ui", port) - v->data;
diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c
index 13d497c8d..7a46b3ecb 100644
--- a/src/http/ngx_http.c
+++ b/src/http/ngx_http.c
@@ -1144,12 +1144,8 @@ ngx_http_add_listen(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf,
in_port_t p;
ngx_uint_t i;
struct sockaddr *sa;
- struct sockaddr_in *sin;
ngx_http_conf_port_t *port;
ngx_http_core_main_conf_t *cmcf;
-#if (NGX_HAVE_INET6)
- struct sockaddr_in6 *sin6;
-#endif
cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module);
@@ -1162,27 +1158,7 @@ ngx_http_add_listen(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf,
}
sa = &lsopt->sockaddr.sockaddr;
-
- switch (sa->sa_family) {
-
-#if (NGX_HAVE_INET6)
- case AF_INET6:
- sin6 = &lsopt->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 = &lsopt->sockaddr.sockaddr_in;
- p = sin->sin_port;
- break;
- }
+ p = ngx_inet_get_port(sa);
port = cmcf->ports->elts;
for (i = 0; i < cmcf->ports->nelts; i++) {
diff --git a/src/http/ngx_http_header_filter_module.c b/src/http/ngx_http_header_filter_module.c
index 2cf1205f9..f000b2e49 100644
--- a/src/http/ngx_http_header_filter_module.c
+++ b/src/http/ngx_http_header_filter_module.c
@@ -161,10 +161,6 @@ ngx_http_header_filter(ngx_http_request_t *r)
ngx_connection_t *c;
ngx_http_core_loc_conf_t *clcf;
ngx_http_core_srv_conf_t *cscf;
- struct sockaddr_in *sin;
-#if (NGX_HAVE_INET6)
- struct sockaddr_in6 *sin6;
-#endif
u_char addr[NGX_SOCKADDR_STRLEN];
if (r->header_sent) {
@@ -333,24 +329,7 @@ ngx_http_header_filter(ngx_http_request_t *r)
}
}
- switch (c->local_sockaddr->sa_family) {
-
-#if (NGX_HAVE_INET6)
- case AF_INET6:
- sin6 = (struct sockaddr_in6 *) c->local_sockaddr;
- port = ntohs(sin6->sin6_port);
- break;
-#endif
-#if (NGX_HAVE_UNIX_DOMAIN)
- case AF_UNIX:
- port = 0;
- break;
-#endif
- default: /* AF_INET */
- sin = (struct sockaddr_in *) c->local_sockaddr;
- port = ntohs(sin->sin_port);
- break;
- }
+ port = ngx_inet_get_port(c->local_sockaddr);
len += sizeof("Location: https://") - 1
+ host.len
diff --git a/src/http/ngx_http_upstream_round_robin.c b/src/http/ngx_http_upstream_round_robin.c
index 8342dc8ed..8479c427d 100644
--- a/src/http/ngx_http_upstream_round_robin.c
+++ b/src/http/ngx_http_upstream_round_robin.c
@@ -354,16 +354,7 @@ ngx_http_upstream_create_round_robin_peer(ngx_http_request_t *r,
}
ngx_memcpy(sockaddr, ur->addrs[i].sockaddr, socklen);
-
- switch (sockaddr->sa_family) {
-#if (NGX_HAVE_INET6)
- case AF_INET6:
- ((struct sockaddr_in6 *) sockaddr)->sin6_port = htons(ur->port);
- break;
-#endif
- default: /* AF_INET */
- ((struct sockaddr_in *) sockaddr)->sin_port = htons(ur->port);
- }
+ ngx_inet_set_port(sockaddr, ur->port);
p = ngx_pnalloc(r->pool, NGX_SOCKADDR_STRLEN);
if (p == NULL) {
diff --git a/src/http/ngx_http_variables.c b/src/http/ngx_http_variables.c
index d310d3203..7e65b2e50 100644
--- a/src/http/ngx_http_variables.c
+++ b/src/http/ngx_http_variables.c
@@ -1201,11 +1201,7 @@ static ngx_int_t
ngx_http_variable_remote_port(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data)
{
- ngx_uint_t port;
- struct sockaddr_in *sin;
-#if (NGX_HAVE_INET6)
- struct sockaddr_in6 *sin6;
-#endif
+ ngx_uint_t port;
v->len = 0;
v->valid = 1;
@@ -1217,26 +1213,7 @@ ngx_http_variable_remote_port(ngx_http_request_t *r,
return NGX_ERROR;
}
- switch (r->connection->sockaddr->sa_family) {
-
-#if (NGX_HAVE_INET6)
- case AF_INET6:
- sin6 = (struct sockaddr_in6 *) r->connection->sockaddr;
- port = ntohs(sin6->sin6_port);
- break;
-#endif
-
-#if (NGX_HAVE_UNIX_DOMAIN)
- case AF_UNIX:
- port = 0;
- break;
-#endif
-
- default: /* AF_INET */
- sin = (struct sockaddr_in *) r->connection->sockaddr;
- port = ntohs(sin->sin_port);
- break;
- }
+ port = ngx_inet_get_port(r->connection->sockaddr);
if (port > 0 && port < 65536) {
v->len = ngx_sprintf(v->data, "%ui", port) - v->data;
@@ -1321,11 +1298,7 @@ static ngx_int_t
ngx_http_variable_server_port(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data)
{
- ngx_uint_t port;
- struct sockaddr_in *sin;
-#if (NGX_HAVE_INET6)
- struct sockaddr_in6 *sin6;
-#endif
+ ngx_uint_t port;
v->len = 0;
v->valid = 1;
@@ -1341,26 +1314,7 @@ ngx_http_variable_server_port(ngx_http_request_t *r,
return NGX_ERROR;
}
- switch (r->connection->local_sockaddr->sa_family) {
-
-#if (NGX_HAVE_INET6)
- case AF_INET6:
- sin6 = (struct sockaddr_in6 *) r->connection->local_sockaddr;
- port = ntohs(sin6->sin6_port);
- break;
-#endif
-
-#if (NGX_HAVE_UNIX_DOMAIN)
- case AF_UNIX:
- port = 0;
- break;
-#endif
-
- default: /* AF_INET */
- sin = (struct sockaddr_in *) r->connection->local_sockaddr;
- port = ntohs(sin->sin_port);
- break;
- }
+ port = ngx_inet_get_port(r->connection->local_sockaddr);
if (port > 0 && port < 65536) {
v->len = ngx_sprintf(v->data, "%ui", port) - v->data;
diff --git a/src/http/v2/ngx_http_v2_filter_module.c b/src/http/v2/ngx_http_v2_filter_module.c
index caa835dec..acd049613 100644
--- a/src/http/v2/ngx_http_v2_filter_module.c
+++ b/src/http/v2/ngx_http_v2_filter_module.c
@@ -137,10 +137,6 @@ ngx_http_v2_header_filter(ngx_http_request_t *r)
ngx_http_v2_out_frame_t *frame;
ngx_http_core_loc_conf_t *clcf;
ngx_http_core_srv_conf_t *cscf;
- struct sockaddr_in *sin;
-#if (NGX_HAVE_INET6)
- struct sockaddr_in6 *sin6;
-#endif
u_char addr[NGX_SOCKADDR_STRLEN];
static const u_char nginx[5] = "\x84\xaa\x63\x55\xe7";
@@ -280,24 +276,7 @@ ngx_http_v2_header_filter(ngx_http_request_t *r)
}
}
- switch (fc->local_sockaddr->sa_family) {
-
-#if (NGX_HAVE_INET6)
- case AF_INET6:
- sin6 = (struct sockaddr_in6 *) fc->local_sockaddr;
- port = ntohs(sin6->sin6_port);
- break;
-#endif
-#if (NGX_HAVE_UNIX_DOMAIN)
- case AF_UNIX:
- port = 0;
- break;
-#endif
- default: /* AF_INET */
- sin = (struct sockaddr_in *) fc->local_sockaddr;
- port = ntohs(sin->sin_port);
- break;
- }
+ port = ngx_inet_get_port(fc->local_sockaddr);
location.len = sizeof("https://") - 1 + host.len
+ r->headers_out.location->value.len;