]> git.ipfire.org Git - thirdparty/FORT-validator.git/tag
1.6.0
object 559b4f2e0bf15838554443ad678756d2712d2077
authorAlberto Leiva Popper <ydahhrk@gmail.com>
Fri, 1 Dec 2023 03:06:18 +0000 (21:06 -0600)
We are happy to announce the most significant upgrade in a while.
Version 1.6.0 is an internal overhaul that improves overall stability
and will allow us to implement new features more quickly.

This version is a big step in the new direction that we want to take the
project, one where we aim for a high standard of quality and security.
Version 1.6.0 fixes several bugs, including some of high severity, so we
recommend updating.

Finally, we have redoubled our efforts with the FORT project, so we plan
to release more frequently and implement the features that the community
needs.

Bug fixes:

- #40: Induce crash on memory allocation failures, to prevent Fort from
  accidentally advertising incomplete information.
- #71: Implement HTTP redirects.
- #76: Reset `FILE` handle during retries, to prevent HTTP code from
  dumping unparseable garbage into the local cache.
- #77: Treat HTTP response 304 as download success.
- #78: Provide a dedicated namespace for each RRDP notification, to
  prevent malicious RRDP sources from overriding each other's files.
- #79: Stop caching RRDP sessions and serials on RAM; extract them from
  actual cached notification files. (This prevents all RRDP from being
  considered outdated during startup.)
- #80: Deprecate and no-op `rsync.strategy`. (Only `root`
  synchronizations are supported now.)
- #94: Merge `ASID.h` and `ASId.h` into a single module. (Likely used to
  cause issues cloning the code into case-insensitive filesystems.)
- #98: Reduce severity of some RTR disconnection error messages.
- #100: Overhaul of default rsync command argument list.
- Remove ARIN's RPA confirmation from `--init-tals`, since it's no
  longer required.
- Purge old deprecated configuration options:
- `init-locations`
- `sync-strategy`
- `rrdp.enabled`
- `rrdp.priority`
- `rrdp.retry.count`
- `rrdp.retry.interval`
- `http.idle-timeout`
- Deprecate (and no-op) several configuration options:
- `shuffle-uris` (It was a seemingly pointless function.)
- `stale-repository-period` (The relevant warning no longer
  exists.)
- `rsync.strategy` (See #80 above.)
- `rsync.arguments-flat` (Flat rsyncs are no longer employed.)
- `thread-pool.validation.max` (It's best if Fort computes this
  value on its own.)
- Remove deprecated `fort_setup.sh` script.
- 2b2f7c3cea147796ed92cc25aade90701221c210: Remove `SO_REUSEPORT` (a
  portability liability) from the RTR socket bind.
- 6d8081c992da9d677e3bd9cdf21bb63e604f0b4d: Change RRDP serials from
  `long`s to `BIGNUM`s.
  (The RFCs define these as "unbounded," which made Fort's old
  implementation incorrect.)
- Rudimentary startup for automatic cache cleanup.
- 63e71946db91119417b94bd09ea6829d8f11f84a: Allow some `null`s in the
  configuration JSON.

In case you're parsing Fort's output, please be aware that several
logging messages changed. In particular, the functionality that used to
print the following message in the operation logs was removed:

> The following repositories URIs couldn't be fetched (it can be a local
> issue or a server issue), please review previous log messages related
> to such URIs/servers:

Please complain if this affects you.

In addition to all this, the review revealed several instances of unsafe
code that yielded undefined behavior that might have caused some of the
crashes people have observed over the years. (#46, #65, #83, #89, #99.)

The directory layout of Fort 1.6.0's cache is incompatible with the one
from previous versions. To save some disk space, you might want to empty
your existing cache during the upgrade.
-----BEGIN PGP SIGNATURE-----

iQJGBAABCgAwFiEEj5q8fvO6Vl+d8VeMchYP1XskKWcFAmVpTkQSHHlkYWhocmtA
Z21haWwuY29tAAoJEHIWD9V7JClnvRYP/ilWHgcSjz3ICtfT665Xo/A+wyeXefxc
2znTPWMliEpls4VUJOXIhyHuiDJ3wRAuhRYsuVxZNGU0+GUh6RVU78wBPl5+a6ux
G1cIf989E+CteozQn5ZHOFlFfASj/GNEYF2bj9Gpw0WLCjJJEVqVZnrXpnvDYC6n
eg7CdFza4Vh/NgAGmWw8oUzK4GqD/PfunIERs9HoX6P8Eb1UxMJS8j33NlMMVXjD
qfhR9WD0o5fkwzdfT/j5mF9OPuPnU8ikT3ZEKP0zXEh1PGH/zOhRqBPebbbm/8T0
pNuk3P/PpXfDVh5lprem3sLjbVdqitOGANrUeHe8yFNTy3wq58ggW75hTnnvULRn
5vVOw8GYa0WsCA/XqHs7YVfj5LnF2q1jlIFw2RXfS2ohyCY+Z6QwSX/dI6xSVMES
IqUyTctUiiltrhAT0T4ARz6dIbTZ0by5ArJXJ8n66JeiWWXpkgy3YljRExELEa+H
1xqk2HnSJVuxx25zdR9Z/lQvOPv1ShpmgAbUPLDKzfgV1osSUyBG3wrNtUfF1BLJ
zwBrRZZtbYCweOFRgSy1MYEOLxfVW6ntLP8biO9C5NDp0BbzqFlgzCnpP5+z5Yg2
mOn41k7D3ZK/ST/CbJjTandKYoOsBViiswitVqRMn4F4G/UV5KY9IYPk3qqHnIxu
dmXKtPZwGZty
=gjN0
-----END PGP SIGNATURE-----