mirror of
https://github.com/bgp/bgpq4.git
synced 2024-05-11 05:55:05 +00:00
424770be0b
Nagle's algorithm probably serves no purpose with whois queries often being tiny.
371 lines
14 KiB
Plaintext
371 lines
14 KiB
Plaintext
1.14
|
|
- Set TCP_NODELAY on the whois socket
|
|
|
|
1.13 (2024-05-01)
|
|
- Fixed a bug for Mac users by removing sx_maxsockbuf()
|
|
|
|
1.12 (2024-02-12)
|
|
- Fix a bug in the mikrotik printer
|
|
|
|
1.11 (2023-06-20)
|
|
- disallow AS 23456 as origin (can be bypassed via -p)
|
|
|
|
1.10 (2023-06-03)
|
|
- Add support for Nokia SR Linux IP prefix lists / ACL filters
|
|
- Accept -3 as a no-op for bgpq3 compatibility
|
|
|
|
1.9 (2023-03-05)
|
|
- Bugfix for -S problem (bgpq4#83) by James Bensley
|
|
|
|
1.8 (2023-01-20)
|
|
- Downgrade 'key not found' to DEBUG level to reduce noise
|
|
- Re-introduce -p for private ASN support option
|
|
|
|
1.7 (2022-11-03)
|
|
- Support SOURCE:: syntax (contributed by James Bensley)
|
|
|
|
1.6 (2022-09-07)
|
|
- Fix a bug in address prefix range parsing
|
|
|
|
1.5 (2022-07-25)
|
|
- Add support for the new Junos as-path-origins feature
|
|
|
|
1.4 (2021-08-20)
|
|
- Fix BIRD aspath output
|
|
|
|
1.3 (2021-08-20)
|
|
- Change versioning from X.Y.Z to Y.Z
|
|
- The repository file hierachy has been reorganized (compat/ include/)
|
|
- Man page has been extended
|
|
- Large portions of code have been reformatted to adhere to OpenBSD's source
|
|
file style guide to improve readability.
|
|
- Refactor: replace two-dimensional array for ASN storage with Red-Black tree
|
|
- Reduced memory usage
|
|
|
|
0.0.9 (2021-08-18)
|
|
- Fix various memory errors
|
|
|
|
0.0.8 (2021-08-17)
|
|
- Reorganize automake files and includes
|
|
- Normalize code to adhere to KNF
|
|
- Fix all compiler warnings
|
|
|
|
0.0.6 (2020-03-12):
|
|
- Bugfixes - Thanks Chris Caputo!
|
|
|
|
0.0.5 (2020-01-01):
|
|
- Bugfixes
|
|
|
|
0.0.4 (2019-12-31):
|
|
- Remove the '-3' command line option, assume all devices are
|
|
32-bit ASN safe
|
|
|
|
0.0.3 (2019-12-30):
|
|
- Remove the '-2' command line option
|
|
- Significant code reformating
|
|
- Improve performance by using IRRd 4's A query when available
|
|
|
|
0.0.2 (2019-12-14):
|
|
- Add Mikrotik support
|
|
- Remove ASDDOT support
|
|
|
|
0.0.1 (2019-12-14):
|
|
- Fork bgpq3 into bgpq4
|
|
|
|
0.1.36-pre (2019-11-08):
|
|
- minor documentation cleanup: bgpq3 supports much more vendors
|
|
than just Cisco and Juniper. Copyright years updated.
|
|
- Nokia SR OS "classic" actually supports aggregation and
|
|
and more-specific filtering in prefix-lists. Thanks to mfisher128
|
|
for reporting.
|
|
- change log level for prefixes with wrong address family from error
|
|
to debugging: it's perfectly correct to have prefixes of different
|
|
families in route-sets. Thanks to Jay Ford for suggestion.
|
|
|
|
0.1.35 (2018-11-30):
|
|
- initial support for Juniper route-filter-lists (JunOS 16.2+).
|
|
- too large (>124bytes) sources list was not handled correctly.
|
|
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.
|
|
- OpenBGPd change: -E now generates prefix-set instead of prefix-list.
|
|
Based on submission by Denis Fondras
|
|
- new option -w, allowing to 'validate' AS numbers included in as-path
|
|
access-lists: only those AS having registered route-objects are allowed.
|
|
By default checks route[4] presence, to check route6 objects shall be
|
|
used together with -6.
|
|
- cleanup OpenBGPd prefix-sets. Submitted by Claudio Jeker.
|
|
- new flag -t: generate as-sets for OpenBGPD (OpenBSD 6.4+), BIRD and
|
|
JSON formats. Based on submission by Claudio Jeker.
|
|
- new flag -n: support for Nokia SR OS MD-CLI. Based on examples
|
|
provided by Greg Hankins.
|
|
- irrd queries for asn32 changed from asdot to asplain notation.
|
|
Thanks to Troy2914 for heads up.
|
|
|
|
0.1.35-rc2 (2017-06-14)
|
|
- OpenBSD need <sys/select.h>. Reported by Denis Fondras.
|
|
- OpenBGPD output shall not emit 'deny any from any' in case of empty
|
|
prefix-list. New flag -a <asn> introduced to allow peer-as indication.
|
|
When this flag is not specified, empty prefix-list is generated (will
|
|
not be accepted by OpenBGPD).
|
|
Reported by Denis Fondras
|
|
|
|
0.1.35-rc (2017-30-05)
|
|
- Nokia SR OS (formerly Alcatel-Lucent) support. Based on submission by
|
|
Michail Litvak.
|
|
- sync man-page with readme.md
|
|
- socket() EAFNOSUPPORT error handling
|
|
|
|
0.1.33 (2016-10-14)
|
|
- OpenBGPD support (-B). Submitted by Peter Hessler.
|
|
|
|
0.1.32 (2016-08-28)
|
|
- rollback 0.1.32-rc2 (2015-07-01) change: by default all IRRD sources
|
|
are allowed by default. Documentation updated to mark radb,ripe,apnic
|
|
as 'recommended', not as 'preset default'.
|
|
|
|
untagged yet (2016-05-10)
|
|
- fix: was not able to build on Solaris. Thanks to Mansoor Ali Khan.
|
|
- feature: IOS XR mode now supports as-paths (ios-regexs). Thanks
|
|
to Tassos Chatzithomaoglou for examples and proofreading.
|
|
(additions from 2015-09-23)
|
|
- bugfix: stoplist shall be able to catch AS numbers as promised.
|
|
- bugfix: bgpq3 shall not hang at unknown escapes in -M..
|
|
- gotcha: "ANY" object in recursive mode ignored: shut complaints on
|
|
"ERROR:unexpected object 'ANY' in expanded_macro_limit (in response
|
|
to !iAS-SET-SCOPESKY)" (object contains mbrs-by-ref: ANY).
|
|
(additions from 2015-08-30)
|
|
- bugfix: OpenBSD sys/queue.h does not have STAILQ_ interface.
|
|
Thanks to Pedro Caetano for reporting and testing.
|
|
- feature: alternate whois port can be configured with -h host[:port]
|
|
- feature: new format char %N (object name) in formatted output.
|
|
Thanks to Denis Fondras.
|
|
- feature: new format chars %m (prefix mask) and %i (inverse mask) in
|
|
formatted output.
|
|
|
|
0.1.32-rc5 (2015-07-12)
|
|
- feature: -L <depth>: limit recursion depth when expanding as-sets
|
|
(default: not limited). Based on idea by Eugene Demidov.
|
|
- feature: stoplist. Now you can add EXCEPT Object... at the end of
|
|
bgpq3 command line and corresponding as-sets and asns will not be
|
|
expanded (does not works for prefixes and prefix-sets yet).
|
|
- internals: major pipelining rewrite and some code cleanup.
|
|
|
|
0.1.32-rc4 (2015-07-06)
|
|
- change: BIRD can't handle empty lists (NAME = []), so they are not
|
|
generated at all.
|
|
|
|
0.1.32-rc3 (2015-07-01)
|
|
- feature: option -s can be used to generate sequence numbers in IOS
|
|
prefix-lists
|
|
- feature: option -F <fmt> can be used to generate output in user-defined
|
|
format. Only prefix-lists supported for now.
|
|
|
|
0.1.32-rc2 (2015-07-01)
|
|
- bugfix: when no sources provided in command line and via IRRD_SOURCES env,
|
|
no source limitation were sent to IRRd. Thanks to Mikhail A. Grishin.
|
|
|
|
0.1.32-rc (2015-06-28)
|
|
- bugfix: F source(s) unavailable message from IRRD was ignored.
|
|
Please note: this error is caught only when all the specified sources
|
|
are invalid. For example, 'bgpq3 -s nonexistant' will fail, however,
|
|
'bgpq3 -s nonexistant,ripe' will not fail and will use only ripe source.
|
|
Thanks to Mikhail A. Grishin for reporting.
|
|
- RIPE-style queries (-T route6 -i origin asNNN) replaced with IRRd-style
|
|
!6asNNN queries.
|
|
|
|
0.1.31 (2015-06-23)
|
|
- pipelining mode now counts buffered requests and issues dequeue
|
|
when new request can overflow allocated buffer. So, bgpq3 shall no
|
|
more require TCP tuning (it is still recomended, though).
|
|
- tcp tuning parameters decreased in README (sx_maxsockbuf will not
|
|
allow buffer over 2Mb anyway).
|
|
|
|
0.1.30 (2015-06-16)
|
|
- bugfix: private asns with number > 2^31 were printed as negative integers.
|
|
Thanks to Henrik Thostrup Jensen.
|
|
- do not use ASNs reserved for documentation purposes and private use:
|
|
64496-64511 For documentation and sample code; reserved by [RFC5398]
|
|
64512-65534 For private use; reserved by [RFC6996]
|
|
65535 Reserved by [RFC7300]
|
|
65536-65551 For documentation and sample code; reserved by [RFC5398]
|
|
4200000000-4294967294 For private use; reserved by [RFC6996]
|
|
4294967295 Reserved by [RFC7300]
|
|
Please, use new -p flag to include these asn's.
|
|
Suggested by Henrik Thostrup Jensen and Job Snijders.
|
|
- allow as-path generation with BIRD output. Suggested by Jiri Mikulas.
|
|
- merge README.md changes by Job Snijders.
|
|
- bugfix: incorrect asdot representation (as101. without symbols after dot)
|
|
is not allowed anymore.
|
|
|
|
0.1.29 (2015-05-04)
|
|
- do not include routes registered for AS23456 (transition-as) by default.
|
|
Use new option -2 to restore old behaviour.
|
|
|
|
0.1.28 (2015-03-10)
|
|
- minor changes: .spec update, non-silent failure on wrong af,
|
|
more room for masklen...
|
|
|
|
0.1.27 (2015-03-10)
|
|
- bugfix: some ipv6 prefixes were not parsed correctly since 0.1.26.
|
|
Thanks to Job Snijders.
|
|
|
|
0.1.26 (2015-02-19)
|
|
- RPSL <address-prefix-range> support, can be found in rs-esnetcustomers.
|
|
Thanks to Kris O'Connell for reporting.
|
|
|
|
0.1.25 (2014-10-29)
|
|
- JSON support extended to handle "as-paths" too. Well, actually, as
|
|
there are no defined format for as-path in json, bgpq3 just creates
|
|
simple object like following:
|
|
|
|
snar@fri:~/compile/bgpq3>./bgpq3 -j3f 20597 as-eltel
|
|
{"NN": [
|
|
112,5495,6857,8377,20597,34102,35357,43951,
|
|
52007,56764,197759,197888,198610,201499
|
|
]}
|
|
|
|
Based on suggestion by Henrik Thostrup Jensen.
|
|
- -W len option documented.
|
|
|
|
0.1.24 (2014-07-31)
|
|
- empty prefix-lists (Cisco), extended access-lists (Cisco), as-path
|
|
filters (Cisco and Juniper) and route-filters (Juniper) handling:
|
|
explicit 'deny any' entry now generated instead of implicit 'permit-any'.
|
|
Based on suggestion by Tore Anderson.
|
|
|
|
0.1.23 (2014-07-30)
|
|
- bugfix: use of -M option caused major slowdown as it turned off
|
|
request pipelining... Thanks to Tore Anderson.
|
|
|
|
0.1.22 (2014-07-27)
|
|
- bugfix: allow network object with stray spaces after prefix length.
|
|
Found by Tom Eichhorn in 2620:74:14::/48 (VeriSign Route6, RADB).
|
|
- bugfix: networks with leading zeros (02.51.252.0/22, as4787) are not
|
|
parsed correctly in inet_ntop.. Found by Tom Eichhorn.
|
|
|
|
0.1.21 (2014-06-05)
|
|
- new flag -b: generate prefix-filters for BIRD (http://bird.network.cz),
|
|
contributed by Job Snijders.
|
|
|
|
0.1.20-todo2 (2014-05-01)
|
|
- new flag -r <len>, allowing bgpq to generate limited set of more-specific
|
|
routes - only routes with prefix-length >= <len> are accepted.
|
|
Thanks to Pavel Gulchouck for suggesion.
|
|
|
|
0.1.20-todo (2013-10-07)
|
|
- socket close code fixed. Thanks to Martin J. Levy.
|
|
- new flag -4, "force ipv4". Actually does a little more than allowing
|
|
for pedantic checks. Thanks to Martin J. Levy.
|
|
|
|
0.1.19 (2013-05-09)
|
|
- CLANG compilation issues fixed.
|
|
- bgpq3.spec added. Thanks to Arnoud Vermeer.
|
|
|
|
0.1.18 (2013-01-08)
|
|
- JSON output format. Thanks to Job Snijders (Atrato Networks).
|
|
|
|
0.1.17 (2012-10-25)
|
|
- route-sets handling in command-line added. Thanks to Alexandr Turovsky
|
|
for pointing out.
|
|
- bug in aggregation documentation fixed. Thanks to Nikolay Shopik.
|
|
|
|
0.1.16 (2012-01-19)
|
|
- new option -m <len>: maximum length of accepted prefixes.
|
|
Suggested by Eugene Demidov, used to discard 'too long prefixes'
|
|
(like /30-/32) even if they are registered in IRR. By default
|
|
limit is not set and all prefixes accepted.
|
|
- documentation redesigned into text/markdown and text/html (manpage
|
|
supported still).
|
|
|
|
0.1.15 (2011-07-15)
|
|
- prefix-set's for Cisco IOS XR now supported too.
|
|
|
|
0.1.14 (2011-06-18)
|
|
- Fixed bug in sx_maxsockbuf in rare cases of OS maxsockbuf >2M.
|
|
Thanks to Andreas Lundin.
|
|
|
|
0.1.13 (2011-06-14)
|
|
- never publically released.
|
|
|
|
0.1.12 (2010-10-08)
|
|
- Fixed bug preventing AS262144 (that's AS4.0 in asdot) to expand.
|
|
Thanks to Sergey Matveychuk
|
|
|
|
0.1.11 (2010-04-19)
|
|
- Fixed another bug in aggregation (-A) mode, thanks to Dmitry Tejblum.
|
|
|
|
0.1.10 (2009-06-13)
|
|
- Fixed bug in aggregation (-A) mode, thanks to Sergey Gonchar.
|
|
|
|
0.1.9 (2009-03-27)
|
|
- RIPE changed ASN32 notation to asplain. And RADB does not support
|
|
asplain indexing (yet?).... Fixed. Thanks to Pavel Gluchouk.
|
|
|
|
0.1.8 (2008-12-25)
|
|
- new flag -D for Cisco asdot notation. Cisco behaviour is a bit
|
|
strange for me, but, well, that's their decision:
|
|
When the asdot format is enabled as the default, any regular expressions
|
|
to match 4-byte autonomous system numbers must be written using the asdot
|
|
format, or else the regular expression match will fail.
|
|
(c) http://www.cisco.com/en/US/docs/ios/12_0s/release/ntes/120SNEWF.html
|
|
#wp3521658 (note the URL wrap).
|
|
|
|
0.1.7 (2008-12-19):
|
|
- man page. Finally :)
|
|
- option -h now means not help, but now it can be used to point to
|
|
alternate IRRD host, like in old bgpq.
|
|
|
|
0.1.6 (2008-08-08):
|
|
- maxsockbuf call added, that can help with pipelining of really large
|
|
as-sets.
|
|
- new key -M <extra match condition> for juniper route-filters, f.e.:
|
|
bgpq3 -JEM "protocol bgp;\n community no-export" -l PolicyName/TermName
|
|
will generate term with additional match conditions, like:
|
|
|
|
policy-options {
|
|
policy-statement PolicyName {
|
|
term TermName {
|
|
replace:
|
|
from {
|
|
protocol bgp;
|
|
community no-export;
|
|
route-filter 10.0.0.0/24 exact;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
0.1.5 (2008-06-02):
|
|
- route-set's expansion added. Fully functional for IPv4 prefixes, but
|
|
not for IPv6 - only those prefixes explicitely marked as 'member-of: RS..'
|
|
will be expanded. This is due to limitation in IRRd.
|
|
- extended access-lists (Cisco) and route-filters (Juniper) generation
|
|
is supported now with new -E key. For Cisco ipv6 access-lists is not
|
|
yet supported.
|
|
|
|
0.1.4 (2008-05-30):
|
|
- bugfix for juniper as-path group generation. Thanks to Alexander Shikoff.
|
|
|
|
0.1.3 (2008-05-20):
|
|
- aggregation (-A) now supported for Cisco prefix-lists.
|
|
- pipelining now can be enabled for RIPE-style queries too (ipv6).
|
|
- more-specific routes (-R len) feature ported from bgpq
|
|
- pipelining now set by default. -T flag now disables pipelining.
|
|
- strlcpy.c imported into sources. Not found on Linux :)
|
|
|
|
0.1.2 (2008-05-19):
|
|
- final support for asn32, now with correct syntax for Juniper.
|
|
- experimental 'pipelining' mode (flag -T), much faster when
|
|
working with big as-set's.
|
|
- RIPE-style query (-i origin) now requests only route6 objects.
|
|
|
|
0.1.1 (2008-05-16):
|
|
- initial support for asn32 added (flag -3). By default it's off,
|
|
and when bgpq sees 32-bit asn in resolver queue, it either replaces
|
|
it with AS23456 (in as-path generation mode) or queries radb for
|
|
prefixes with that origin.
|
|
Note: for now only JunOS 9.1 can handle asn32, not Cisco IOS..
|
|
|