From 7691b3146f0ccb17fda52e2b8dde88baa927eb9e 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 --- 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 422a59a45b..8195c99d6a 100644 --- a/C4/Auth_with_ldap.pm +++ b/C4/Auth_with_ldap.pm @@ -206,7 +206,7 @@ sub checkpw_ldap { 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.30.2