Deleted
Added
nxt_http_route_addr.c (1324:73562b05bf48) | nxt_http_route_addr.c (1343:8cc299d14325) |
---|---|
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> --- 4 unchanged lines hidden (view full) --- 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) 20{ | 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> --- 4 unchanged lines hidden (view full) --- 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) 20{ |
21 u_char *delim, *end; | 21 u_char *delim; |
22 nxt_int_t ret, cidr_prefix; 23 nxt_str_t addr, port; 24 nxt_http_route_addr_base_t *base; 25 nxt_http_route_addr_range_t *inet; 26 27 if (nxt_conf_type(cv) != NXT_CONF_STRING) { 28 return NXT_ADDR_PATTERN_CV_TYPE_ERROR; 29 } --- 24 unchanged lines hidden (view full) --- 54 base->addr_family = AF_UNSPEC; 55 base->match_type = NXT_HTTP_ROUTE_ADDR_ANY; 56 57 goto parse_port; 58 } 59 60 if (nxt_str_looks_like_ipv6(&addr)) { 61#if (NXT_INET6) | 22 nxt_int_t ret, cidr_prefix; 23 nxt_str_t addr, port; 24 nxt_http_route_addr_base_t *base; 25 nxt_http_route_addr_range_t *inet; 26 27 if (nxt_conf_type(cv) != NXT_CONF_STRING) { 28 return NXT_ADDR_PATTERN_CV_TYPE_ERROR; 29 } --- 24 unchanged lines hidden (view full) --- 54 base->addr_family = AF_UNSPEC; 55 base->match_type = NXT_HTTP_ROUTE_ADDR_ANY; 56 57 goto parse_port; 58 } 59 60 if (nxt_str_looks_like_ipv6(&addr)) { 61#if (NXT_INET6) |
62 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 68 if (addr.start[0] == '[') { 69 addr.start++; --- 104 unchanged lines hidden (view full) --- 174 } 175 176 base->match_type = NXT_HTTP_ROUTE_ADDR_EXACT; 177 178 if (nxt_slow_path(!nxt_valid_ipv6_blocks(addr.start, addr.length))) { 179 return NXT_ADDR_PATTERN_FORMAT_ERROR; 180 } 181 | 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 69 if (addr.start[0] == '[') { 70 addr.start++; --- 104 unchanged lines hidden (view full) --- 175 } 176 177 base->match_type = NXT_HTTP_ROUTE_ADDR_EXACT; 178 179 if (nxt_slow_path(!nxt_valid_ipv6_blocks(addr.start, addr.length))) { 180 return NXT_ADDR_PATTERN_FORMAT_ERROR; 181 } 182 |
182 nxt_inet6_addr(&inet6->start, addr.start, addr.length); | 183 ret = nxt_inet6_addr(&inet6->start, addr.start, addr.length); 184 if (nxt_slow_path(ret != NXT_OK)) { 185 return NXT_ADDR_PATTERN_FORMAT_ERROR; 186 } |
183 184 goto parse_port; 185#endif 186 return NXT_ADDR_PATTERN_NO_IPv6_ERROR; 187 } 188 189 base->addr_family = AF_INET; 190 --- 159 unchanged lines hidden --- | 187 188 goto parse_port; 189#endif 190 return NXT_ADDR_PATTERN_NO_IPv6_ERROR; 191 } 192 193 base->addr_family = AF_INET; 194 --- 159 unchanged lines hidden --- |