From: Marcel de Rooy Date: Wed, 10 Apr 2013 08:13:52 +0000 (+0200) Subject: Bug 10019: Fix for userid containing UTF8 chars X-Git-Url: http://git.rot13.org/?a=commitdiff_plain;ds=sidebyside;h=7e90e1524f7e586dac0f98241ace430e5cbeac7f;p=koha.git 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 --- 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