From 1ff8566b75b0f85138547311bb1b8d425f8c9faf 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. --- C4/Auth.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/C4/Auth.pm b/C4/Auth.pm index ca061b5..c96c765 100644 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -674,6 +674,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')) ) @@ -749,6 +750,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 -- 1.7.9.5