The Featureless Linux Library stable version 0.6.9 is released.

This release address newly discovered bugs and problems that have been exposed by unit tests from the 0.7 development branch and some real world use cases.

This brings in some security related problems and upgrading is recommended.

A significant amount of development in the 0.7 development code base has yielded a number of changes worth back porting into this 0.6 stable code base.

This brings in a new feature for the test scripts to make testing for integrity and security bugs easier. This change does not break API.

The specification documentation is updated to use the word "grave" in place of "backtick" to be more consistent with the more commonly accepted terminology for that character.

The firewall program has seen some considerable review and bug fixes.

The man pages have been refreshed. The process is partially automated and then manually cleaned up.

The Open Standard License 1.0 has been formalized (OSLv1). This project is updated to ensure that this is in use. The project has already been using this standard for some time but during that time the standard was considered a draft.

The following are changes since the 0.6.8 stable release.

Exploit Fixes:

  • None.

Security Fixes:

  • FLL: Conversion is not handling NULL case when base unit is an unsupported type.
  • FLL: The fl_print_format_convert() is missing the check on the pointer and update the related documentation comments.

Features:

  • FLL: Add -a/--analyze to test.sh script.

Bug Fixes:

  • FLL: Functions private_fl_fss_basic_read() and private_fl_fss_basic_write() are missing "const".
  • FLL: Incorrect stop position is calculated when FSS content ends at the start position on FSS read operations.
  • FLL: FSS Extended read fails to handle non-terminated quote as per specification.
  • FLL: FSS Basic List and FSS Extended List print comment at the start of the Content.
  • FLL: If the first character has a width greater than one then F_utf_fragment is incorrectly returned when using quotes.
  • Featureless Make: Incorrect mode display when featureless make is building settings.
  • Firewall: Error message is saying "lock" when it should say "stop".
  • Firewall: Firewall program is not printing error when fll_fss_extended_read() fails.
  • Firewall: Firewall program if condition is setting an error flag rather than checking the value.
  • Firewall: Firewall length check from range is not calculating 0 correctly.
  • Firewall: The debug mode is not working in firewall.
  • Firewall: De-allocation call is missing in firewall program when "firewall stop" is used.
  • FSS Extended Write: Is improperly associating Content with its respective Object.

Refactors:

  • FLL: The backtick into the grave, for the specifications.

Regressions:

  • None.

Updates:

  • FLL: The FSS-000E specification needs to say "one required object" and not "two required objects".
  • FLL: Optimize bitwise logic regarding removing bits.
  • FLL: Make the -m thread option in the example bootstrap script more easily customizable.
  • FLL: Add hopefully more secure compiler flags by default.
  • FLL: Make sure stand alone builds have consistent buid mode settings.
  • FLL: Backport improved return code failure reporting to firewall from 0.7 development.
  • FLL: Backport fixes for bootstrap-example.sh, package.sh, and test.sh scripts.
  • FLL: Back port settings configurations, such as GCC and flags.
  • FLL: Back port the ability to explicitly skip a program in the bootstrap example script.
  • FLL: Documentation man pages.
  • FLL: Make the Open Standard License 1.0 formal.
  • FLL: Disable -fstrict-flex-arrays=3 flag because it doesn't work on GCC 11.
  • FLL: Add missing snippet from the OSLv1 license.

Check out the project on the FLL release page.

The project is built like a tool chest. Individuals who are unfamiliar with the project should have an easier time trying out the pre-packaged monolithic sources. These programs, by default, are designed to build against a library built using the monolithic source tree.

The stand alone sources for the several programs can be found pre-packaged at Sourceforge.

Kevin Day