1
0
mirror of https://github.com/NLnetLabs/routinator.git synced 2024-05-19 06:50:04 +00:00

2101 Commits

Author SHA1 Message Date
22de300fa8 Restructure TAL configuration and remove init command. (#796)
This commit restructures the TAL configuration in response to the dropped
requirement to opt into the ARIN TAL.

Routinator will now use the bundled RIR TALs directly unless told otherwise
by the new --no-rir-tals command line and config option. The additional
bundled TALs can be added via the new --tal command line and config option.
Additionally, the TAL directory can still be used via the --extra-tals-dir
option. The tal-dir option has been removed but will still be accepted – and
ignored – in the config file only.

The init command has been removed.

Co-authored-by: Alex Band <alex@nlnetlabs.nl>
Co-authored-by: ximon18 <3304436+ximon18@users.noreply.github.com>
Co-authored-by: Luuk Hendriks <mail@luukhendriks.eu>
2022-11-02 11:44:16 +01:00
20739c369d Remove inapplicable wrongly copy-pasted comment. 2022-10-26 15:47:10 +02:00
4808a089a2 Update changelog. 2022-10-21 12:04:57 +02:00
374af50c41 Fix RTR client metrics. (#811)
This commit fixes two issues with RTR client metrics: For one, we
accidentally used the local address to identify the client instead of the
peer address. And second, the collapsing of multiple client metrics objects
was broken.
2022-10-21 12:03:59 +02:00
c6e8db7478 Custom docs 404 page 2022-10-19 16:19:20 +02:00
5c011d4198 Update changelog. 2022-10-19 11:07:28 +02:00
c8a09ce72a Allow limiting the prefix length of included VRPs. (#810)
This commit adds two new command line and config file options, limit-v4-len
and limit-v6-len, that allow limiting the prefix length of IPv4 or IPv6
prefixes, respectively, for which VRPs are to be included in the output data
set. By default, all valid VRPs are included.
2022-10-19 11:01:37 +02:00
719c2e4f92 Update changelog. 2022-10-18 10:43:27 +02:00
593a58abce Add additional RTR client metrics. (#800)
This commit adds three new values to the RTR client metrics:

  o  last_reset contains the time of the last cache reset by the client,
  o  reset_queries contains the number of reset queries by the client, and
  o  serial_queries contains the number of serial queries by the client.

These values are available both in the status and metrics endpoints.

Co-authored-by: Alex Band <alex@nlnetlabs.nl>
Co-authored-by: Luuk Hendriks <mail@luukhendriks.eu>
2022-10-18 10:39:35 +02:00
df34041bdb Set TCP keepalive for the RRDP HTTP client. (#801)
This commit enables TCP keepalives for RRDP connections. The duration can be
set via the new rrdp-tcp-keepalive command line and config file option.
Setting this value to 0 disables
2022-10-18 10:36:50 +02:00
812aa6c9ee Don’t print error on EPIPE in vrps to stdout. (#807)
This commit suppresses the error message when the vrps command is outputting
the data set to stdout and receives a broken pipe error.
2022-10-18 10:34:36 +02:00
7e74832acc Update changelog. 2022-10-17 16:00:13 +02:00
fdf6559be4 Only use RRDP responses if the status code is 200. (#802)
This commit fixes an issue in the RRDP collector which was processing all
kinds of HTTP responses as valid. It now rejects everything that isn’t a
200 OK.
2022-10-17 15:58:08 +02:00
39ef576b45 Log 'falling back to rsync' only once per repository. (#804) 2022-10-17 15:57:18 +02:00
eea7e425e7 Deal more graciously with broken files in the store. (#803)
This commit changes the behavior of Routinator when files are encountered in
the store that cannot be parsed (as opposed to reading failing for other
reasons). Now Routinator will just assume that the publication point stored
in that file doesn’t exist in the store and continue.
2022-10-17 15:55:22 +02:00
27296316bd Update changelog. 2022-10-13 11:17:12 +02:00
52430346b1 Add an rrdp-fallback option to configure fallback to rsync. (#799)
This commit introduces a new command line and config option "rrdp-fallback"
that decides when to fall back to rsync for a failed RRDP update. The
available policies are "never" for never, "stale" for fallback after a
certain time of falling the RRDP update, and "new" for fallback when RRDP has
never succeeded. The default is "stale" which reflects the current behavior.

Co-authored-by: Alex Band <alex@nlnetlabs.nl>
Co-authored-by: Luuk Hendriks <mail@luukhendriks.eu>
2022-10-13 11:13:50 +02:00
fd430b6d8f Include the log level in logged messages. (#797)
This commit adds the log level of a message to the output printed to files,
stderr, and the /log endpoint.
2022-10-13 10:59:26 +02:00
6eedb3fbca Setting rsync-timeout to 0 disables the timeout. (#798)
This commit adjust the rsync-timeout command line and config option to
disable the rsync timeout completely if set to 0. This way it behaves the
same way as rrdp-timeout.
2022-10-13 10:57:31 +02:00
f5ca39212b Convert command line parsing to clap’s derive API. (#795) 2022-10-10 10:20:59 +02:00
a6cba1416f Mention inodes on fatal ENOSPC errors. (#793)
This commit modifies the utils::fatal module to replace the standard ‘No
space left on device’ error message for ENOSPC errors on Unix to ‘No space
or inodes left on device‘.
2022-10-05 10:13:15 +02:00
280daa91cd Update clap to version 4. (#791) 2022-10-04 14:08:27 +02:00
25b7a93bbc Describe unsafe VRPs in detail (#757) 2022-10-04 10:28:17 +02:00
614946bda1 Update changelog 2022-10-03 16:05:17 +02:00
cc39bec822 Increase minimal Rust version to 1.60.0. (#792) 2022-10-03 16:04:14 +02:00
7bf18c0a80 Update changelog. 2022-10-03 13:39:46 +02:00
06ff543ef2 Change the default and logging behaviour for unsafe-vrps (#761)
This commit changes the default configuration option for unsafe-vrps to accept
and removes all logging or mentioning of unsafe VRPs in this case. It also
adds a pointer to the manual page for unsafe VRPs if any are logged.
2022-10-03 13:37:59 +02:00
9b74ddf7d8 Update manual to inlucde tal member in jsonext. (#768)
This PR updates the manual -- both the actual manual and the manual page --
to describe the changes made in #765.
2022-10-03 13:30:01 +02:00
1053cfe3e9 Update changelog. 2022-10-03 13:16:59 +02:00
c356087016 Do not exit on malformed RRDP Base 64 data. (#784)
This commit fixes an oversight in error handling in the RRDP collector that
cause Routinator to exit if it encountered malformed Base 64 in RRDP
snapshot and delta files.

It does this by re-appropriating the existing exception in MaxSizeRead to
not exit when data was too large and extending it to all other read errors
happening. This is fine because the encoded data is currently collected into
a vec before any of this happens, so reading cannot fail other than from
malformed Base 64 data.

This PR can be tested by using the TAL currently available at
https://routinator.do.nlnetlabs.nl/test/rrdp/ta.tal.

This is the same PR as #781 accept applied to the main branch. It fixes
CVE-2022-3029.
2022-10-03 13:11:36 +02:00
db0e5d3cf9 Update shield links 2022-10-01 12:42:40 +02:00
208f5f0cc4 Fix Docker shield 2022-10-01 12:33:58 +02:00
b53ea227f9 Document inode usage requirements (#786) 2022-09-15 15:24:35 +02:00
b834decd9d Update changelog. 2022-09-15 13:25:44 +02:00
2d221146dc Migrate to NLnetLabs reusable packaging workflow (#780)
This commit replaces the current Packaging pkg.yml and Packaging Docker pkg-docker.yml workflows with a much simpler Packaging pkg.yml workflow that outsources the behaviour to a new equivalent reusable workflow defined in the NLnet Labs organisation wide https://github.com/NLnetLabs/.github repository.

This commit also adds Docker ARMv6, ARMv7 and ARM64 multi-arch support, ARMv6 DEB support, fixes a couple of RPM issues (postuninst script fails to run, user already exists on re-install), and resolves an unattended-upgrade TAR error.

Resolves #763, #773, #774, and #783.
2022-09-15 13:01:17 +02:00
82d3067f5c Update changelog. 2022-08-23 10:20:59 +02:00
15eaf2bbf0 Remove rrdp-disable-gzip option. (#769) 2022-08-23 10:19:51 +02:00
de49e0e10d Introduce WriteOrPanic trait for write!-ing without unwrap. (#771)
This commit introduces a new utility trait WriteOrPanic which provides the
method write_fmt that is used by write! macro and friends. But because it
doesn’t return a result, it allows using the macro without unwrap or
question mark.

The trait is implemented for String and Vec<u8> and used where needed.

Much like the trait’s name suggests, these implementations panic if
formatting fails. That’s fine, as we only use with data that can be
formatted and with types where writing itself can never fail (which I think
is the actual reason for returning a result). Also, we’ve been unwrapping
for quite some time so, clearly, this is working.
2022-08-19 14:04:42 +02:00
b8c1bcb34d Use new cargo generate metadata overwrite feature (#759)
Upgrade cargo-generate-rpm and remove no longer needed workaround.
2022-08-17 15:30:13 +02:00
1ec204ff0c Remove cargo deb version hold (#767)
Cargo-deb was held back due to https://github.com/kornelski/cargo-deb/issues/43 which is now fixed.
2022-08-17 15:14:38 +02:00
5304939a5f Update changelog. 2022-08-17 14:28:05 +02:00
e64f6ecc47 List TAL in jsonext format. Improve JSON string formatting in jsonext format. (#765)
This commit adds a new member "tal" to the source information for data
derived from RPKI objects in the extended JSON output format.

While at it, it also improves the formatting of user-provided strings in
this format by properly escaping them.
2022-08-17 14:24:40 +02:00
245e1b282a Correct a typo in Cargo.toml (#766) 2022-08-15 14:57:17 +02:00
fec3db89ed Clippy-suggested code improvement. 2022-08-15 12:35:19 +02:00
ac9ee115b9 Fix tal-labels spelling in man page. 2022-08-15 12:02:43 +02:00
fef0ef0dbc Remove (and clarify reasons for) unused code. 2022-08-09 15:56:09 +02:00
bef9f60519 Fix typos. 2022-08-09 15:55:16 +02:00
b9c84b14ec Update Changelog. 2022-08-09 15:54:36 +02:00
540421de97 Adjust error handling to rpki-rs 0.15. (#755) 2022-08-09 15:47:09 +02:00
d8481b3639 Switch to Rust edition 2021. (#760) 2022-08-08 16:56:22 +02:00