mirror of
https://github.com/bgp/bgpq4.git
synced 2024-05-11 05:55:05 +00:00
fix ipv6 prefix-ranges.
This commit is contained in:
1
CHANGES
1
CHANGES
@@ -4,6 +4,7 @@ untagged yet (2018-08-10)
|
||||
Reported by Pier Carlo Chiodi.
|
||||
- initial support for Huawei format (prefix-lists and as-path filters)
|
||||
New flag -U. Requested by Alexander Wagberg.
|
||||
- fix ipv6 prefix-ranges. Reported by Jay Ford.
|
||||
|
||||
0.1.35-rc2 (2017-06-14)
|
||||
- OpenBSD need <sys/select.h>. Reported by Denis Fondras.
|
||||
|
@@ -305,7 +305,11 @@ int
|
||||
bgpq_expanded_v6prefix(char* prefix, struct bgpq_expander* ex,
|
||||
struct bgpq_request* req)
|
||||
{
|
||||
bgpq_expander_add_prefix(ex,prefix);
|
||||
char* d = strchr(prefix, '^');
|
||||
if (!d)
|
||||
bgpq_expander_add_prefix(ex,prefix);
|
||||
else
|
||||
bgpq_expander_add_prefix_range(ex,prefix);
|
||||
return 1;
|
||||
};
|
||||
|
||||
|
13
sx_prefix.c
13
sx_prefix.c
@@ -242,10 +242,19 @@ sx_prefix_range_parse(struct sx_radix_tree* tree, int af, int maxlen,
|
||||
text, min, p.masklen);
|
||||
return 0;
|
||||
};
|
||||
SX_DEBUG(debug_expander, "parsed prefix-range %s as %lu-%lu\n",
|
||||
text, min, max);
|
||||
if (af == AF_INET && max > 32) {
|
||||
sx_report(SX_ERROR, "Invalid prefix-range %s: max %lu > 32\n",
|
||||
text, max);
|
||||
return 0;
|
||||
} else if (af == AF_INET6 && max > 128) {
|
||||
sx_report(SX_ERROR, "Invalid ipv6 prefix-range %s: max %lu > 128\n",
|
||||
text, max);
|
||||
return 0;
|
||||
};
|
||||
if (max > maxlen)
|
||||
max = maxlen;
|
||||
SX_DEBUG(debug_expander, "parsed prefix-range %s as %lu-%lu (maxlen: %u)\n",
|
||||
text, min, max, maxlen);
|
||||
sx_radix_tree_insert_specifics(tree, p, min, max);
|
||||
return 1;
|
||||
};
|
||||
|
Reference in New Issue
Block a user