Skip to content

Releases: NLnetLabs/routinator

0.9.0-rc3

0.9.0-rc3 Pre-release
Pre-release

Choose a tag to compare

@partim partim released this 31 May 14:23
b98b13b

Breaking Changes

  • The minimal supported Rust version is now 1.47.0. (#568)

Bug Fixes

  • Formatting fix for the man page (#569)

Other Changes

  • Support for building RPM packages for Centos 7 and 8. (#566)

0.9.0-rc2

0.9.0-rc2 Pre-release
Pre-release

Choose a tag to compare

@partim partim released this 25 May 10:14
0950530

Bug Fixes

  • In server mode, the database is now only opened after detaching from the console if requested. This fixes Routinator hanging if the --detach option is used due to invoking multi-threading before forking. (#557)
  • Fixed a panic when trying to load a broken repository state object from the database. (#558)
  • Accept the filter-asn query parameter in the VRP set HTTP endpoints again which was accidentally rejected. (#559)

Other Changes

  • Rearranged the Prometheus metrics to be more canonical. (#562)

0.9.0-rc1

0.9.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@partim partim released this 17 May 12:59
3c4f18f

Breaking Changes

  • Routinator now keeps the last valid data from a publication point and falls back to using that if an update to the publication point does not have a valid manifest or the data does not match the manifest. This data is stored in a [sled] key-value database rather than directly in the file system. (#456)
  • RRDP data is now collected into the same key-value database. The new command dump allows copying the data from the database to the file system. (#473, #480, #484)
  • If an RRDP repository is unavailable for a certain time, Routinator will now fall back to rsync. The time since last successful update before this fallback happens is configurable via the rrdp-fallback-time option and defaults to one hour. (#473, #482)
  • The rsync-timeout now describes a hard timeout on the rsync process for updating a repository. ([#528)]
  • The size of downloaded RPKI objects is now limited by the max-object-size options which defaults to a limit of 20 MBytes. This limit applies to both RRDP and rsync. (#531)
  • Routinator now includes additional TALs for various commonly used RPKI testbeds. The init command has been restructured to make it possible to select the TALs for installation. The default is still to install the five production RIR TALs. (#500)
  • Deprecated configuration items have been removed: unknown-objects cannot be spelled with a underscore anymore and string values are not accepted anymore for rtr-tcp-keepalive. (#496)
  • The minimal supported Rust version is now 1.45.0. (#444, #498)

New

  • The new option --fresh causes Routinator to delete all cached data before starting. This can be used when data corruption is reported. (#470)
  • The new HTTP server endpoint /json-delta provides an option to retrieve updates to a previously received data set via deltas. (#537)
  • Status information is now available in JSON format at /api/v1/status. (#437)
  • The metrics of RRDP repositories now also include the serial number of the last update. The JSON status information also includes the session ID and whether the last update was via a delta and if it wasn’t why a snapshot had to be used. It also separately provides the status codes for the request of the notification file and the snapshot or last requested delta file. (#487, #489)
  • Prometheus metrics and JSON status have been greatly extended with more detailed counters for individual valid and invalid object types. They are also now available on a per-repository basis in addition to the already existing per-TAL basis. (#493, #539)
  • Prometheus metrics and JSON status can now optionally include per-client RTR metrics. This is disabled by default to avoid accidentally leaking information about the local network topology. (#519)
  • The RRDP client now supports the gzip transfer encoding for HTTPs. (#463, contributed by @bjpbakker)
  • The exception config file value now also accepts a single string with a path name instead of an array of strings. (#471)
  • The new rrdp-keep-responses option allows optionally storing the XML content of all received RRDP responses in the file system. (#490)
  • The HTTP endpoints that supply the current VRP set now support conditional request handling. They include Etag and Last-Modified headers in their response and process If-None-Match and If-Modified-Since headers in requests. (#474, contributed by @reschke, #488)
  • The validate command now accepts input from and can write its output to files. Both are available in simple plain text and JSON formatting. (#514)

Bug Fixes

  • The csvcompat output format that was introduced in 0.7.0 is now actually accepted by the --format command line option.
  • The /validity HTTP endpoint now accepts percent-encoded characters in the query parameters. (#505)

Other Changes

  • Updated the bundled APNIC and LACNIC TALs. When upgrading, please re-install the TALs in your system via routinator init. (#510, #543)
  • Upgrade rpki-rs to 0.11 and drop now unnecessary separate dependency to rpki-rtr. (#443)
  • Upgrade Tokio-related dependencies to new version based on Tokio 1.0. (#444)
  • Upgrade the bundled UI to version 0.2.0 reflecting the changed metrics. (#550)

0.8.3 ‘Like and Subscribe’

Choose a tag to compare

@partim partim released this 02 Feb 11:39
2e610c3

New

  • Status information is now available in JSON format at /api/v1/status (#449).
  • Includes version 0.1.0 of routinator-ui, a UI for Route Origin Validation and Routinator status (#449).

0.8.3-rc1

0.8.3-rc1 Pre-release
Pre-release

Choose a tag to compare

@partim partim released this 28 Jan 11:42
7346854

New

  • Status information is now available in JSON format at /api/v1/status (#449).
  • Includes version 0.1.0 of routinator-ui, a UI for Route Origin Validation and Routinator status (#449).

0.8.2 ‘Once More, with Feeling’

Choose a tag to compare

@partim partim released this 09 Dec 11:25
39c659a

All users of Routinator 0.8.0 and 0.8.1 are encouraged to upgrade to this release.

Changes

  • As the rules proposed by draft-ietf-sidrops-6486bis turned out to be too strict, validation has been relaxed again. A CA is now only rejected and all its objects ignored if the manifest or CRL are invalid or if any of the objects listed on the manifest are either missing or have a different hash. Previously, a CA was rejected entirely if objects themselves where invalid for any reason, including cases such as expired child certificates. (#438)

Bug Fixes

  • Switch logging to the configured target for the update command. (#433)

Other Changes

  • Update minor dependencies in Cargo.lock. (#439)

0.8.2-rc1

0.8.2-rc1 Pre-release
Pre-release

Choose a tag to compare

@partim partim released this 04 Dec 12:08
89a61d0

Changes

  • As the rules proposed by draft-ietf-sidrops-6486bis turned out to be too strict, validation has been relaxed again. A CA is now only rejected and all its objects ignored if the manifest or CRL are invalid or if any of the objects listed on the manifest are either missing or have a different hash. (#438)

Bug Fixes

  • Switch logging to the configured target for the update command. (#433)

Other Changes

  • Update minor dependencies in Cargo.lock. (#439)

0.8.1 ‘Pure as New York Snow’

Choose a tag to compare

@partim partim released this 30 Nov 10:08
a5677e0

Bug Fixes

  • VRPs filtered via local exceptions are dropped again. In 0.8.0, they were only added to the metrics but not actually dropped. (#424, discovered by @cwiech)
  • The prefix validation option incorrectly matched VRPs for host prefixes to prefixes with an identical bit pattern of any length. (Found by [@vamseedhar-reddyvari] and fixed in #415 by @morrowc and @aaronw112358)
  • The config file option for the policy on dealing with objects on unknown types is now correctly spelled unknown-objects (with a dash rather than an underscore). The old spelling will be also be accepted in 0.8 releases. (Found and fixed by @johannesmoos, #413, #416.)
  • The config file option rtr-tcp-keepalive now accepts an integer value as it should have from the beginning (and the config command even created). For the time being, both integers and strings will be accepted. String values will be rejected starting with 0.9.0. ([#427], discovered by @johannesmoos)

New

  • The log output of the HTTP /log endpoint now states the start date of the validation run it represents. (#426)

0.8.1-rc1

0.8.1-rc1 Pre-release
Pre-release

Choose a tag to compare

@partim partim released this 20 Nov 08:05
755fb7e

Bug Fixes

  • VRPs filtered via local exceptions are dropped again. In 0.8.0, they were only added to the metrics but not actually dropped. (#424,
    discovered by @cwiech)
  • The prefix validation option incorrectly matched VRPs for host prefixes to prefixes with an identical bit pattern of any length. (Found by [@vamseedhar-reddyvari] and fixed in #415 by @morrowc and @aaronw112358)
  • The config file option for the policy on dealing with objects on unknown types is now correctly spelled unknown-objects (with a dash rather than an underscore). The old spelling will be also be accepted in 0.8 releases. (Found and fixed by @johannesmoos, #413, #416.)
  • The config file option rtr-tcp-keepalive now accepts an integer value as it should have from the beginning (and the config command even created). For the time being, both integers and strings will be accepted. String values will be rejected starting with 0.9.0. ([#427], discovered by @johannesmoos)

New

  • The log output of the HTTP /log endpoint now states the start date of the validation run it represents. (#426)

0.8.0 ‘Strikes and Gutters, Ups and Downs’

Choose a tag to compare

@partim partim released this 19 Oct 11:24
f566242

Breaking Changes

  • Validation now follows the rules suggested by draft-ietf-sidrops-6486bis: Any invalid object mentioned on the manifest will lead to the issuing CA and all its objects being rejected. However, unlike suggested by the draft, Routinator currently will not fall back to cached older versions of the CA’s objects that may still be valid. In addition, unknown RPKI object types are currently accepted with a warning logged. This behaviour can be changed via the unknown-types policy option. (#371, #401)
  • Similarly, CRL handling has been tightened significantly. Each CA must now have exactly one CRL which must be the one stated in the manifest’s EE certificate. Any violation will lead to the whole CA being rejected with the same consequences as above. (#397)
  • The default for dealing with stale objects has been changed to reject in accordance with the same draft. (#387)
  • Parsing of local exception files is now more strict in accordance with RFC 8416. Any additional member in the JSON objects will lead to an error. However, error reporting has been greatly improved and now the line and column of an error will be indicated. (#372)
  • The alias --allow-dubios-hosts for the correctly spelled option has been removed. (#384)
  • The minimal supported Rust version is now 1.42.0.

New

  • All VRPs overlapping with resources from rejected CAs – dubbed ‘unsafe VRPs’ can filtered via the new unsafe-vrps option. Doing so will avoid situations were routes become RPKI invalid if their VRPs are split over multiple CAs or there are less specific ROAs. By default, unsafe VRPs are only warned about. (#377, #400)
  • New metrics for the VRPs produced and filtered on the various TALs. (#377)
  • The logging output of the latest validation run is now available via the HTTP service’s /log endpoint. (#396)
  • TCP keep-alive is now supported and enabled by default on RTR connections as suggested by RFC 8210. It can be disabled and its idle time changed from the default 60 seconds via the new rtr-tcp-keepalive command line and config file option. (#390)
  • The pid-file, working-dir, chroot, user, and group config file and server command options now also work without the --detach command line option. (#392)
  • The init command will now change ownership of the cache directory if the user and group options are set via config file or command line options. (#392)
  • Irrelevant log messages from libraries are now also filtered when using syslog logging. (#385)
  • Release builds will now abort on panic, i.e., when an unexpected internal condition is detected. This ensures that there won’t be a
    Routinator in a coma. (#394)
  • The feature rta enables the new command rta for validating Resource Tagged Assertions as described in draft-michaelson-rpki-rta. This feature is not enabled by default and needs to be activated by adding the option --features rta to the Cargo build command.

Bug Fixes

  • Update start and end times will not change between consecutive metrics reports any more. (#389)
  • Local exceptions will now be loaded before starting a validation run both in vrps and server mode instead of discarding the run after it finished when loading fails. In server mode, we now wait 10 seconds after loading local exceptions fails and try again instead of repeatedly starting validation runs and discarding them. (594186c)
  • EE certificates encountered in the repository are now validated as router certificates rather than regular RPKI EE certificates. (#398)

Other Changes

  • Logging has been cleaned up. The meaning of the four log levels is now better defined – see the man page – and all log output has been reassigned accordingly. (#396)