Skip to content

v0.8.5.3

Choose a tag to compare

@friendly-bits friendly-bits released this 04 Oct 16:23
· 447 commits to main since this release

This is a fairly big release mostly focusing on reliability features.

The main changes are in the *fetch script which can now process multiple country codes at once, which allows for much more straightforward error handling logic, implemented all in the same script (previously it was split between the *fetch and the *run scripts). All fetch-related sanity checks and error handling logic have been mostly rewritten, streamlined and enhanced.
Also there is a small but nice new feature: displaying a progress bar while fetching a file.

In detail:

*fetch:

  • implemented support for processing multiple country codes
  • implemented more sanity checks at each processing stage (download, parsing, validation and saving) and better handling of various possible errors, including re-trying fetching in case a "soft" error occurs.
  • safeguard from API changes or data corruption on the side of RIPE by comparing the count of subnets in the newly-fetched list vs the existing one. If that count falls by more than 10%, reject the new list.
  • communicate fetch results to the *run script via a status file
  • more streamlined processing logic, better console messages, more descriptive variable names, improved usage() function output
  • display a progress bar while downloading a list with either wget or curl

*run:

  • adjusted the code dealing with fetch to the new *fetch api, removed most of the fetch-related error-handling logic (which is now handled internally by *fetch)
  • get fetch results from the status file
  • only die on critical errors or if all fetch attempts failed
  • improved error message when invalid action is specified
  • improved other console and logger messages

*common:

  • merge_lists(): allow for any number of arguments
  • echolog(): implemented -noecho option used to only write to log without console output
  • setconfig(): trim extra whitespaces
  • setconfig(): renamed some variables
  • setconfig(): improved handling of custom target files
  • getstatus(): implemented new function to read from a status file
  • setstatus(): implemented new function to write to a status file

*manage:

  • when restoring from config, merge lists more cleanly before sending them to *run
  • improved console output on the "status" action
  • improved error message when invalid action is specified

*apply:

  • improved error message when invalid action is specified
  • improved a couple of other console messages

*install:

  • avoid calling *manage to set up cron jobs if both persistence and autoupdates are disabled by the user
  • improved error message when invalid action is specified

multiple scripts:

  • avoid writing some errors to syslog when running in manual mode

Full Changelog: v0.8.5.2...v0.8.5.3