From 884e3d5fe026c254ed1d2467f536e385ec2e7bf4 Mon Sep 17 00:00:00 2001 From: Janik Hilser Date: Sun, 20 Feb 2022 18:14:31 +0100 Subject: [PATCH] Bug 29930: Cardnumber incorrectly set to userid on LDAP auth if cardnumber not mapped In the sub the userId was given, but the cardnumber was expected, therefore at every login the cardnumber changed to the userId. To test: 1. Login to the OPAC with an LDAP account that has a cardnumber which is different to the userId 2. Check the patron record's cardnumber. 3. The cardnumber should equal to the userId 4. Apply the patch. 5. Login to the OPAC with an LDAP account that has a cardnumber which is different to the userId 6. Check the patron record's cardnumber. 7. The cardnumber should be the same as before Signed-off-by: Alexander Wagner Signed-off-by: Tomas Cohen Arazi Extra test plan: 1. Apply the regression tests 2. Run: $ ktd --shell k$ prove t/db_dependent/Auth_with_ldap.t => FAIL: Tests fail! 'cardnumber' incorrectly overwritten 3. Apply this patch 4. Repeat 2 => SUCCESS: Tests now pass! 5. Sign off :-D Signed-off-by: Alexander Wagner Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer (cherry picked from commit 6341d520ac0a09baa5b005abb3d8d81273a6e310) Signed-off-by: Fridolin Somers --- C4/Auth_with_ldap.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Auth_with_ldap.pm b/C4/Auth_with_ldap.pm index ab43f0cbf6..9b8b5d2e57 100644 --- a/C4/Auth_with_ldap.pm +++ b/C4/Auth_with_ldap.pm @@ -207,7 +207,7 @@ sub checkpw_ldap { my $patron; if (( $borrowernumber and $config{update} ) or (!$borrowernumber and $config{replicate}) ) { - %borrower = ldap_entry_2_hash($userldapentry,$userid); + %borrower = ldap_entry_2_hash($userldapentry,$cardnumber); #warn "checkpw_ldap received \%borrower w/ " . keys(%borrower), " keys: ", join(' ', keys %borrower), "\n"; } -- 2.20.1