The primary focus of the 0.5.4 release is to address loose ends and wrap up the planned fixes and improvements.
I decided to commit this early and as such does not reach the objectives of wrapping up the current planned fixes and improvements.
This brings in new functionality:
- Newer FLL parameter processing via fll_program_parameter_process_empty().
- Redesigned FSS processing logic to better allow larger buffers.
- Utilize redesign FLL paramter processing to provide better interrupt and memory allocation related support.
- Add additional standard status codes, such as F_success and F_success_not.
- Add support for determining columns in FSS read programs.
- The install.sh should helper script should allow more granular installations.
- Support Unicode format "-U/--unicode" in byte_dump to display Unicode code values, such as U+1234.
- Allow controller program to run as a non-init (and then do so by default).
- Provide new functionality for identifying an FSS file (includes adding the program fss_identify).
- Redesign linkage functionality from Featureless Make and the bootstrap.sh adding nano version, version prefixes, version_target, and version_file properties.
Notable Fixes and Improvements:
- Fix regressions with recent signed and unsigned changes, reverting the behavior.
- Fix several bugs in the FSS read functions and their respective programs.
- Fix security concern where FSS Read functions should check range before buffer.
- Refactor use of 'data' to 'main' in programs to avoid potential naming conflicts.
- Refactor macro naming approach to have 'macro' as a prefix more consistently ('fake_main_macro_delete' becomes 'macro_fake_main_delete").
- Add some defines to the build settings to disable warnings in newer GCC and possibly Clang compilers.
- Fix invalid macro negations due to bad order of operations logic.
- Fix bug where some UTF-8 characters are not being fully printed.
- Improve portability.
- Fix problems with install.sh where "-w" is not being allowed to be used when destination_prefix is invalid.
- Fix regression where "fake skeleton" no longer works due to "file not found".
- The Featureless Make no longer needs to verify format of the -d/--define.
- Redesign Featureless Make's -d/--define to append instead of overwrite.
Remaining planned changes for preparing 0.5.x branch for 0.6.x:
- Finish writing UTF-8 support for existing functionality.
- Finish the "controller" program, which is another part of the non-systemd init design.
- Write the "control" program, which is intended to interact with the "controller" program.
- Review FSS and IKI standards for consistency in both specification and implementation.
- Bring "firewall" up to date.
- Cleanup existing code, getting the style back in sync for a stable release.
- Review and fix some inconsistencies in the design that would influence the API.
- Update Featureless Make to fully handle creating parent paths.
- Update Featureless Make to support overriding settings using program parameters.
- Update documentation.
The status of programs (level_3):
- byte_dump: working.
- control: in progress.
- controller: in progress.
- fake: working.
- firewall: outdated and broken.
- fss_basic_list_read: working.
- fss_basic_list_write: working.
- fss_basic_read: working.
- fss_basic_write: working.
- fss_embedded_list_read: appears to be working, not well tested.
- fss_embedded_list_write: appears to be working, not well tested.
- fss_extended_list_read: working.
- fss_extended_list_write: working.
- fss_extended_read: working.
- fss_extended_write: working.
- fss_identify: working.
- fss_status_code: working.
- iki_read: working.
- iki_write: working.
- status_code: working.
-----BEGIN PGP SIGNATURE-----