The progress bar now takes into account the time it takes to generate
the results HTML. The first half of the progress bar is for the actual
file scanning, and the second half is reserved for generating the
results HTML.
The progress bar now counts upwards for all existing files rather than
the files known to be core.
Also fixed `error_log` name presented in
file_inspector::renderFileName()
* Temporary file for progress bar is placed in the temporary folder
* Progress bar now counts each existing core file
Also prevented path traversal vulnerability in the progress bar page
Bugs fixed:
* Security failure status is now prioritized in
file_inspector::getStatusForValidationCode()
* File Inspector list view now supports filters
Bugfixes related to this change:
* e_file_inspector: During validation, the checksum is now calculated,
even if the file is old.
* e_file_inspector_json: Strip the "v" from the beginning of version
numbers in the database to make them proper PHP-standardized versions.
e_file_inspector_json_phar is an extended implementation of
e_file_inspector_json that encapsulates a JSON core image into a
gzip-compressed phar.
This results in space savings of over 60% compared to plain JSON.
- MOD: e_file_inspector::validate() will no longer bother with
checksumming a file if the database hash is not present for the
requested version.
- MOD: Better check for e_file_inspector::VALIDATED_DETERMINABLE
- MOD: e_file_inspector::VALIDATED_UPTODATE will now pass if there is no
checksum in the database and no calculable checksum in the real
file.
- FIX: Better documentation for
e_file_inspector_interface::VALIDATED_DETERMINABLE
- FIX: Use the same bit for e_file_inspector::VALIDATED for a full
validation check in e_file_inspector::validate()
Now uses bit flags, as the previous approach of "overriding" the
validation code may hide information. Previously,
e_file_inspector::VALIDATION_FAIL could be overridden by
e_file_inspector::VALIDATION_OLD. Now, e_file_inspector::VALIDATED_HASH
and e_file_inspector::VALIDATED_UPTODATE provides information about
both.
This has two benefits:
1. Protects the SQLite database from being accessed on the Internet by
having the e107_INIT constant check.
2. Compresses the SQLite database, saving over ⅔ of the space!
Format is different and currently incompatible. The checksum has been
replaced with an associated array where the keys are the e107 version
and the values are the checksum from that e107 version.