Mercurial > hg > nginx
comparison src/core/ngx_proxy_protocol.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 | 28c76d9d75b7 |
children | 416953ef0428 |
comparison
equal
deleted
inserted
replaced
6592:2c7b488a61fb | 6593:b3b7e33083ac |
---|---|
139 | 139 |
140 switch (c->sockaddr->sa_family) { | 140 switch (c->sockaddr->sa_family) { |
141 | 141 |
142 case AF_INET: | 142 case AF_INET: |
143 buf = ngx_cpymem(buf, "PROXY TCP4 ", sizeof("PROXY TCP4 ") - 1); | 143 buf = ngx_cpymem(buf, "PROXY TCP4 ", sizeof("PROXY TCP4 ") - 1); |
144 | |
145 port = ntohs(((struct sockaddr_in *) c->sockaddr)->sin_port); | |
146 lport = ntohs(((struct sockaddr_in *) c->local_sockaddr)->sin_port); | |
147 | |
148 break; | 144 break; |
149 | 145 |
150 #if (NGX_HAVE_INET6) | 146 #if (NGX_HAVE_INET6) |
151 case AF_INET6: | 147 case AF_INET6: |
152 buf = ngx_cpymem(buf, "PROXY TCP6 ", sizeof("PROXY TCP6 ") - 1); | 148 buf = ngx_cpymem(buf, "PROXY TCP6 ", sizeof("PROXY TCP6 ") - 1); |
153 | |
154 port = ntohs(((struct sockaddr_in6 *) c->sockaddr)->sin6_port); | |
155 lport = ntohs(((struct sockaddr_in6 *) c->local_sockaddr)->sin6_port); | |
156 | |
157 break; | 149 break; |
158 #endif | 150 #endif |
159 | 151 |
160 default: | 152 default: |
161 return ngx_cpymem(buf, "PROXY UNKNOWN" CRLF, | 153 return ngx_cpymem(buf, "PROXY UNKNOWN" CRLF, |
167 *buf++ = ' '; | 159 *buf++ = ' '; |
168 | 160 |
169 buf += ngx_sock_ntop(c->local_sockaddr, c->local_socklen, buf, last - buf, | 161 buf += ngx_sock_ntop(c->local_sockaddr, c->local_socklen, buf, last - buf, |
170 0); | 162 0); |
171 | 163 |
164 port = ngx_inet_get_port(c->sockaddr); | |
165 lport = ngx_inet_get_port(c->local_sockaddr); | |
166 | |
172 return ngx_slprintf(buf, last, " %ui %ui" CRLF, port, lport); | 167 return ngx_slprintf(buf, last, " %ui %ui" CRLF, port, lport); |
173 } | 168 } |