From 7e90e1524f7e586dac0f98241ace430e5cbeac7f Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Wed, 10 Apr 2013 10:13:52 +0200 Subject: [PATCH] Bug 10019: Fix for userid containing UTF8 chars Decodes userid on two places in checkauth of C4/Auth.pm Test plan: Include some non-Latin characters in your userid (loginname). Arab, Chinese? Login into opac and check user page. Go to staff (no new login), check your login name at various places. Logout, login via staff. Do the same. Go to opac again (no new login), check user page. Optionally: Remove all your sessions from table. Do a login. Check sessions. Signed-off-by: Bernardo Gonzalez Kriegel Comment: Works as described. No errors. This patch fixes this problem, but I wonder if there is a general solution that handle all as utf8. Tested in opac and staff. Signed-off-by: Jared Camins-Esakov --- C4/Auth.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/C4/Auth.pm b/C4/Auth.pm index 811151b628..837ff12a57 100644 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -675,6 +675,7 @@ sub checkauth { $ip = $session->param('ip'); $lasttime = $session->param('lasttime'); $userid = $session->param('id'); + utf8::decode($userid); $sessiontype = $session->param('sessiontype') || ''; } if ( ( ($query->param('koha_login_context')) && ($query->param('userid') ne $session->param('id')) ) @@ -750,6 +751,7 @@ sub checkauth { -HttpOnly => 1 ); $userid = $query->param('userid'); + utf8::decode($userid); if ( ( $cas && $query->param('ticket') ) || $userid || ( my $pki_field = C4::Context->preference('AllowPKIAuth') ) ne -- 2.20.1