We see this consistently in the logs: Use of uninitialized value $args[0] in sprintf at /kohadevbox/koha/C4/SIP/Sip.pm line 314 Use of uninitialized value $args[1] in sprintf at /kohadevbox/koha/C4/SIP/Sip.pm line 314
Created attachment 183631 [details] [review] Bug 40270: Fix uninitialized value warnings in SIP logging The SIP server generates warnings when logging account information for failed logins: Use of uninitialized value $args[0] in sprintf at /kohadevbox/koha/C4/SIP/Sip.pm line 314 Use of uninitialized value $args[1] in sprintf at /kohadevbox/koha/C4/SIP/Sip.pm line 314 This occurs when $self->{account}->{id} or $self->{account}->{institution} are undefined during failed authentication attempts. This patch fixes the issue by: 1. Adding a safer sprintf implementation in siplog that handles undefined values 2. Providing default values for undefined account information in logging calls To test: 1. Start SIP server 2. Attempt to connect with invalid credentials using sip_cli_emulator.pl: ./misc/sip_cli_emulator.pl -a 127.0.0.1 -p 6001 -su invaliduser -sp wrongpass -l kohalibrary2 --patron koha -m patron_information 3. Check /var/log/koha/kohadev/sip-output.log => FAIL: 'Use of uninitialized value...' warns 4. Apply this patch 5. Repeat 2 => SUCCESS: No "Use of uninitialized value" warnings appear => SUCCESS: Logging shows 'undef/undef' for failed logins instead of empty strings 6. Try a valid login => SUCCESS: Still works correctly for valid logins 7. Sign off :-D
Created attachment 183633 [details] [review] Bug 40270: Fix uninitialized value warnings in SIP logging The SIP server generates warnings when logging account information for failed logins: Use of uninitialized value $args[0] in sprintf at /kohadevbox/koha/C4/SIP/Sip.pm line 314 Use of uninitialized value $args[1] in sprintf at /kohadevbox/koha/C4/SIP/Sip.pm line 314 This occurs when $self->{account}->{id} or $self->{account}->{institution} are undefined during failed authentication attempts. This patch fixes the issue by: 1. Adding a safer sprintf implementation in siplog that handles undefined values 2. Providing default values for undefined account information in logging calls To test: 1. Start SIP server 2. Attempt to connect with invalid credentials using sip_cli_emulator.pl: ./misc/sip_cli_emulator.pl -a 127.0.0.1 -p 6001 -su invaliduser -sp wrongpass -l kohalibrary2 --patron koha -m patron_information 3. Check /var/log/koha/kohadev/sip-output.log => FAIL: 'Use of uninitialized value...' warns 4. Apply this patch 5. Repeat 2 => SUCCESS: No "Use of uninitialized value" warnings appear => SUCCESS: Logging shows 'undef/undef' for failed logins instead of empty strings 6. Try a valid login => SUCCESS: Still works correctly for valid logins 7. Sign off :-D Signed-off-by: David Nind <david@davidnind.com>