Deleted
Added
nxt_http_route_addr.c (1343:8cc299d14325) | nxt_http_route_addr.c (1935:ba08638c3259) |
---|---|
1 2/* 3 * Copyright (C) Axel Duch 4 * Copyright (C) NGINX, Inc. 5 */ 6 7#include <nxt_main.h> 8#include <nxt_http_route_addr.h> 9 10 | 1 2/* 3 * Copyright (C) Axel Duch 4 * Copyright (C) NGINX, Inc. 5 */ 6 7#include <nxt_main.h> 8#include <nxt_http_route_addr.h> 9 10 |
11static nxt_bool_t nxt_str_looks_like_ipv6(const nxt_str_t *str); | |
12#if (NXT_INET6) 13static nxt_bool_t nxt_valid_ipv6_blocks(u_char *c, size_t len); 14#endif 15 16 17nxt_int_t 18nxt_http_route_addr_pattern_parse(nxt_mp_t *mp, 19 nxt_http_route_addr_pattern_t *pattern, nxt_conf_value_t *cv) --- 32 unchanged lines hidden (view full) --- 52 port.start = addr.start + 2; 53 port.length = addr.length - 2; 54 base->addr_family = AF_UNSPEC; 55 base->match_type = NXT_HTTP_ROUTE_ADDR_ANY; 56 57 goto parse_port; 58 } 59 | 11#if (NXT_INET6) 12static nxt_bool_t nxt_valid_ipv6_blocks(u_char *c, size_t len); 13#endif 14 15 16nxt_int_t 17nxt_http_route_addr_pattern_parse(nxt_mp_t *mp, 18 nxt_http_route_addr_pattern_t *pattern, nxt_conf_value_t *cv) --- 32 unchanged lines hidden (view full) --- 51 port.start = addr.start + 2; 52 port.length = addr.length - 2; 53 base->addr_family = AF_UNSPEC; 54 base->match_type = NXT_HTTP_ROUTE_ADDR_ANY; 55 56 goto parse_port; 57 } 58 |
60 if (nxt_str_looks_like_ipv6(&addr)) { | 59 if (nxt_inet6_probe(&addr)) { |
61#if (NXT_INET6) 62 u_char *end; 63 uint8_t i; 64 nxt_int_t len; 65 nxt_http_route_in6_addr_range_t *inet6; 66 67 base->addr_family = AF_INET6; 68 --- 230 unchanged lines hidden (view full) --- 299 base->port.start = ret; 300 base->port.end = ret; 301 } 302 303 return NXT_OK; 304} 305 306 | 60#if (NXT_INET6) 61 u_char *end; 62 uint8_t i; 63 nxt_int_t len; 64 nxt_http_route_in6_addr_range_t *inet6; 65 66 base->addr_family = AF_INET6; 67 --- 230 unchanged lines hidden (view full) --- 298 base->port.start = ret; 299 base->port.end = ret; 300 } 301 302 return NXT_OK; 303} 304 305 |
307static nxt_bool_t 308nxt_str_looks_like_ipv6(const nxt_str_t *str) 309{ 310 u_char *colon, *end; 311 312 colon = nxt_memchr(str->start, ':', str->length); 313 314 if (colon != NULL) { 315 end = str->start + str->length; 316 colon = nxt_memchr(colon + 1, ':', end - (colon + 1)); 317 } 318 319 return (colon != NULL); 320} 321 322 | |
323#if (NXT_INET6) 324 325static nxt_bool_t 326nxt_valid_ipv6_blocks(u_char *c, size_t len) 327{ 328 u_char *end; 329 nxt_uint_t colon_gap; 330 --- 23 unchanged lines hidden --- | 306#if (NXT_INET6) 307 308static nxt_bool_t 309nxt_valid_ipv6_blocks(u_char *c, size_t len) 310{ 311 u_char *end; 312 nxt_uint_t colon_gap; 313 --- 23 unchanged lines hidden --- |