Bug 41359

Summary: There is no warning when Bcrypt settings are invalid
Product: Koha Reporter: Nick Clemens (kidclamp) <nick>
Component: System AdministrationAssignee: Nick Clemens (kidclamp) <nick>
Status: Failed QA --- QA Contact: Marcel de Rooy <m.de.rooy>
Severity: normal    
Priority: P5 - low CC: david, gmcharlt, m.de.rooy, michael.adamyk
Version: Main   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28911
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41238
GIT URL: Initiative type: ---
Sponsorship status: --- Comma delimited list of Sponsors:
Crowdfunding goal: 0 Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
This adds a warning to the system information section in the about Koha pages when the Bcrypt settings are invalid (More > About Koha > System information, Bcrypt is a setting used in the Koha instance's koha-conf.xml file when the Pseudonymization system preference is enabled).
Version(s) released in:
Circulation function:
Attachments: Bug 41359: Add a test/warning for Bcrypt settings to the about page
Bug 41359: Add a test/warning for Bcrypt settings to the about page

Description Nick Clemens (kidclamp) 2025-12-02 16:45:43 UTC
To recreate:
1 - Add a line to koha-conf, or replace existing entry:
    <bcrypt_settings>FALSE</bcrypt_settings>
2 - Enable system preferences for Pseudonymization:
    Pseudonimization: Enable
    PseudonymizationPatronFields: All selected
    PseudonymizationTransactionFields: All selected
3 - Checkout an item to a patron
4 - Check Administration->Jobs->Manage Jobs
5 - Note failed job for Pseudonymization
6 - Check the worker log:
    /var/log/koha/kohadev/worker-output.log
    [2025/12/02 16:25:23] [WARN] Uncaught exception processing job id=12: bad base64 encoding at /kohadevbox/koha/Koha/PseudonymizedTransaction.pm line 175.
Comment 1 Nick Clemens (kidclamp) 2025-12-02 16:50:24 UTC
Created attachment 190086 [details] [review]
Bug 41359: Add a test/warning for Bcrypt settings to the about page

This patch adds a simple test of the bcrypt settings to ensure that
pseudonymization will work

To recreate:
1 - Add a line to koha-conf, or replace existing entry:
    <bcrypt_settings>FALSE</bcrypt_settings>
2 - Enable system preferences for Pseudonymization:
    Pseudonimization: Enable
    PseudonymizationPatronFields: All selected
    PseudonymizationTransactionFields: All selected
3 - Checkout an item to a patron
4 - Check Administration->Jobs->Manage Jobs
5 - Note failed job for Pseudonymization
6 - Check the worker log:
    /var/log/koha/kohadev/worker-output.log
    [2025/12/02 16:25:23] [WARN] Uncaught exception processing job id=12: bad base64 encoding at /kohadevbox/koha/Koha/PseudonymizedTransaction.pm line 175.
7 - Check about page - no warning
8 - Apply patch, restart all
9 - Check about page, now there is a warn!
10 - Add a valid entry, you can generate using the code on bug 28911:
    htpasswd -bnBC 10 "" password | tr -d ':\n' | sed 's/$2y/$2a/'
11 - Restart all
12 - Confirm the warning is gone!
Comment 2 David Nind 2025-12-03 21:45:16 UTC
Created attachment 190134 [details] [review]
Bug 41359: Add a test/warning for Bcrypt settings to the about page

This patch adds a simple test of the bcrypt settings to ensure that
pseudonymization will work

To recreate:
1 - Add a line to koha-conf, or replace existing entry:
    <bcrypt_settings>FALSE</bcrypt_settings>
2 - Enable system preferences for Pseudonymization:
    Pseudonimization: Enable
    PseudonymizationPatronFields: All selected
    PseudonymizationTransactionFields: All selected
3 - Checkout an item to a patron
4 - Check Administration->Jobs->Manage Jobs
5 - Note failed job for Pseudonymization
6 - Check the worker log:
    /var/log/koha/kohadev/worker-output.log
    [2025/12/02 16:25:23] [WARN] Uncaught exception processing job id=12: bad base64 encoding at /kohadevbox/koha/Koha/PseudonymizedTransaction.pm line 175.
7 - Check about page - no warning
8 - Apply patch, restart all
9 - Check about page, now there is a warn!
10 - Add a valid entry, you can generate using the code on bug 28911:
    htpasswd -bnBC 10 "" password | tr -d ':\n' | sed 's/$2y/$2a/'
11 - Restart all
12 - Confirm the warning is gone!

Signed-off-by: David Nind <david@davidnind.com>
Comment 3 David Nind 2025-12-03 21:51:47 UTC
After the patch, I did notice on the jobs page that even though the job is finished, the progress is shown as 0/1.
Comment 4 David Nind 2025-12-05 14:04:18 UTC
(In reply to David Nind from comment #3)
> After the patch, I did notice on the jobs page that even though the job is
> finished, the progress is shown as 0/1.

Resolved by bug 41238.
Comment 5 Marcel de Rooy 2026-02-06 10:49:03 UTC
                        <tr
                            ><th scope="row"><strong>Warning</strong> </th><td>System preference 'Pseudonymization' is set, but bcrypt_settings entry in the configuration is not valid.</td></tr
                        >

Is this the new style we really want?
I am seeing it more in that template. But thats just a nightmare imo.
Comment 6 Marcel de Rooy 2026-02-06 10:53:30 UTC
This seems to be a duplicate development:
We already have

                    [% IF config_bcrypt_settings_no_set %]
                        <tr>
                            <th scope="row"><strong>Warning</strong> </th>
                            <td> System preference 'Pseudonymization' is set, but there is not 'bcrypt_settings' entry defined in the $KOHA_CONF file. </td>
                        </tr>
                    [% END %]

Since it is not entirely the same, we should merge them here.