From ceb7ea52a8fc155e0f1f6c73247ecd21c36c3b40 Mon Sep 17 00:00:00 2001 From: Mark Tompsett Date: Fri, 1 Nov 2013 09:51:28 -0400 Subject: [PATCH] Bug 11077 - Correct silent warnings in C4/Auth.pm This patch corrects a noisy ne condition. $userid = $retuserid if ( $retuserid ne ''); became $userid = $retuserid if ( $retuserid ); It also integrates Srdjan Jankovic's patch with Petter Goksoyrsen's patch, while correcting the problems found. This includes: my $q_userid = $query->param('userid') // ''; along with: my $s_userid = ''; and: my $s_userid = $session->param('id') // ''; Indentation does not reflect actual scoping. --- C4/Auth.pm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/C4/Auth.pm b/C4/Auth.pm index 9d0b623..71d381a 100644 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -650,7 +650,7 @@ sub checkauth { # This parameter is the name of the CAS server we want to authenticate against, # when using authentication against multiple CAS servers, as configured in Auth_cas_servers.yaml my $casparam = $query->param('cas'); - my $q_userid = $query->param('userid'); + my $q_userid = $query->param('userid') // ''; if ( $userid = $ENV{'REMOTE_USER'} ) { # Using Basic Authentication, no cookies required @@ -670,9 +670,9 @@ sub checkauth { my $session = get_session($sessionID); C4::Context->_new_userenv($sessionID); my ($ip, $lasttime, $sessiontype); - my $s_userid; + my $s_userid = ''; if ($session){ - $s_userid = $session->param('id'); + $s_userid = $session->param('id') // ''; C4::Context::set_userenv( $session->param('number'), $s_userid, $session->param('cardnumber'), $session->param('firstname'), @@ -690,7 +690,7 @@ sub checkauth { $userid = $s_userid; $sessiontype = $session->param('sessiontype') || ''; } - if ( ( $query->param('koha_login_context') && ($q_userid && $s_userid && $q_userid ne $s_userid) ) + if ( ( $query->param('koha_login_context') && ($q_userid ne $s_userid) ) || ( $cas && $query->param('ticket') ) ) { #if a user enters an id ne to the id in the current session, we need to log them in... #first we need to clear the anonymous session... @@ -714,7 +714,7 @@ sub checkauth { logout_cas($query); } } - elsif ( $lasttime && ($lasttime < time() - $timeout) ) { + elsif ( !$lasttime || ($lasttime < time() - $timeout) ) { # timed logout $info{'timed_out'} = 1; $session->delete() if $session; @@ -838,7 +838,7 @@ sub checkauth { my $retuserid; ( $return, $cardnumber, $retuserid ) = checkpw( $dbh, $userid, $password, $query ); - $userid = $retuserid if ( $retuserid ne '' ); + $userid = $retuserid if ( $retuserid ); } if ($return) { #_session_log(sprintf "%20s from %16s logged in at %30s.\n", $userid,$ENV{'REMOTE_ADDR'},(strftime '%c', localtime)); -- 1.7.9.5