Core: fixed build, broken by 63e91f263a49.
Both Solaris and Windows define "s_addr" as a macro.
Vladimir Homutov
4 years ago
24 | 24 | |
25 | 25 | |
26 | 26 | typedef struct { |
27 | u_char s_addr[4]; | |
28 | u_char d_addr[4]; | |
29 | u_char s_port[2]; | |
30 | u_char d_port[2]; | |
27 | u_char src_addr[4]; | |
28 | u_char dst_addr[4]; | |
29 | u_char src_port[2]; | |
30 | u_char dst_port[2]; | |
31 | 31 | } ngx_proxy_protocol_inet_addrs_t; |
32 | 32 | |
33 | 33 | |
34 | 34 | typedef struct { |
35 | u_char s_addr[16]; | |
36 | u_char d_addr[16]; | |
37 | u_char s_port[2]; | |
38 | u_char d_port[2]; | |
35 | u_char src_addr[16]; | |
36 | u_char dst_addr[16]; | |
37 | u_char src_port[2]; | |
38 | u_char dst_port[2]; | |
39 | 39 | } ngx_proxy_protocol_inet6_addrs_t; |
40 | 40 | |
41 | 41 | |
220 | 220 | ngx_uint_t version, command, family, transport; |
221 | 221 | ngx_sockaddr_t sockaddr; |
222 | 222 | ngx_proxy_protocol_header_t *header; |
223 | ngx_proxy_protocol_inet_addrs_t *inet; | |
223 | ngx_proxy_protocol_inet_addrs_t *in; | |
224 | 224 | #if (NGX_HAVE_INET6) |
225 | ngx_proxy_protocol_inet6_addrs_t *inet6; | |
225 | ngx_proxy_protocol_inet6_addrs_t *in6; | |
226 | 226 | #endif |
227 | 227 | |
228 | 228 | header = (ngx_proxy_protocol_header_t *) buf; |
275 | 275 | return NULL; |
276 | 276 | } |
277 | 277 | |
278 | inet = (ngx_proxy_protocol_inet_addrs_t *) buf; | |
278 | in = (ngx_proxy_protocol_inet_addrs_t *) buf; | |
279 | 279 | |
280 | 280 | sockaddr.sockaddr_in.sin_family = AF_INET; |
281 | 281 | sockaddr.sockaddr_in.sin_port = 0; |
282 | memcpy(&sockaddr.sockaddr_in.sin_addr, inet->s_addr, 4); | |
283 | ||
284 | c->proxy_protocol_port = ngx_proxy_protocol_parse_uint16(inet->s_port); | |
282 | memcpy(&sockaddr.sockaddr_in.sin_addr, in->src_addr, 4); | |
283 | ||
284 | c->proxy_protocol_port = ngx_proxy_protocol_parse_uint16(in->src_port); | |
285 | 285 | |
286 | 286 | socklen = sizeof(struct sockaddr_in); |
287 | 287 | |
297 | 297 | return NULL; |
298 | 298 | } |
299 | 299 | |
300 | inet6 = (ngx_proxy_protocol_inet6_addrs_t *) buf; | |
300 | in6 = (ngx_proxy_protocol_inet6_addrs_t *) buf; | |
301 | 301 | |
302 | 302 | sockaddr.sockaddr_in6.sin6_family = AF_INET6; |
303 | 303 | sockaddr.sockaddr_in6.sin6_port = 0; |
304 | memcpy(&sockaddr.sockaddr_in6.sin6_addr, inet6->s_addr, 16); | |
305 | ||
306 | c->proxy_protocol_port = ngx_proxy_protocol_parse_uint16(inet6->s_port); | |
304 | memcpy(&sockaddr.sockaddr_in6.sin6_addr, in6->src_addr, 16); | |
305 | ||
306 | c->proxy_protocol_port = ngx_proxy_protocol_parse_uint16(in6->src_port); | |
307 | 307 | |
308 | 308 | socklen = sizeof(struct sockaddr_in6); |
309 | 309 |