| Lines 157-162
          sub get_template_and_user {
      
      
        Link Here | 
        
          | 157 |     my ( $user, $cookie, $sessionID, $flags ); | 157 |     my ( $user, $cookie, $sessionID, $flags ); | 
        
          | 158 |     $cookie = []; | 158 |     $cookie = []; | 
        
          | 159 |  | 159 |  | 
            
              |  |  | 160 |     my $cookie_mgr = Koha::CookieManager->new; | 
            
              | 161 |  | 
        
          | 160 |     # Get shibboleth login attribute | 162 |     # Get shibboleth login attribute | 
        
          | 161 |     my $shib = C4::Context->config('useshibboleth') && shib_ok(); | 163 |     my $shib = C4::Context->config('useshibboleth') && shib_ok(); | 
        
          | 162 |     my $shib_login = $shib ? get_login_shib() : undef; | 164 |     my $shib_login = $shib ? get_login_shib() : undef; | 
  
    | Lines 245-257
          sub get_template_and_user {
      
      
        Link Here | 
        
          | 245 |         if ($kick_out) { | 247 |         if ($kick_out) { | 
        
          | 246 |             $template = C4::Templates::gettemplate( 'opac-auth.tt', 'opac', | 248 |             $template = C4::Templates::gettemplate( 'opac-auth.tt', 'opac', | 
        
          | 247 |                 $in->{query} ); | 249 |                 $in->{query} ); | 
          
            
              | 248 |             push @$cookie, $in->{query}->cookie( | 250 |             $cookie = $cookie_mgr->replace_in_list( $cookie, $in->{query}->cookie( | 
        
          | 249 |                 -name     => 'CGISESSID', | 251 |                 -name     => 'CGISESSID', | 
        
          | 250 |                 -value    => '', | 252 |                 -value    => '', | 
            
              | 251 |                 -expires  => '', |  |  | 
        
          | 252 |                 -HttpOnly => 1, | 253 |                 -HttpOnly => 1, | 
        
          | 253 |                 -secure => ( C4::Context->https_enabled() ? 1 : 0 ), | 254 |                 -secure => ( C4::Context->https_enabled() ? 1 : 0 ), | 
          
            
              | 254 |             ); | 255 |             )); | 
        
          | 255 |  | 256 |  | 
        
          | 256 |             $template->param( | 257 |             $template->param( | 
        
          | 257 |                 loginprompt => 1, | 258 |                 loginprompt => 1, | 
  
    | Lines 658-664
          sub get_template_and_user {
      
      
        Link Here | 
        
          | 658 |         # what to do | 659 |         # what to do | 
        
          | 659 |         my $language = C4::Languages::getlanguage( $in->{'query'} ); | 660 |         my $language = C4::Languages::getlanguage( $in->{'query'} ); | 
        
          | 660 |         my $languagecookie = C4::Templates::getlanguagecookie( $in->{'query'}, $language ); | 661 |         my $languagecookie = C4::Templates::getlanguagecookie( $in->{'query'}, $language ); | 
          
            
              | 661 |         push @{$cookie}, $languagecookie; | 662 |         $cookie = $cookie_mgr->replace_in_list( $cookie, $languagecookie ); | 
        
          | 662 |     } | 663 |     } | 
        
          | 663 |  | 664 |  | 
        
          | 664 |     return ( $template, $borrowernumber, $cookie, $flags ); | 665 |     return ( $template, $borrowernumber, $cookie, $flags ); | 
  
    | Lines 870-882
          sub checkauth {
      
      
        Link Here | 
        
          | 870 |     if ( !$shib and defined( $ENV{'REMOTE_USER'} ) and $ENV{'REMOTE_USER'} ne '' and $userid = $ENV{'REMOTE_USER'} ) { | 871 |     if ( !$shib and defined( $ENV{'REMOTE_USER'} ) and $ENV{'REMOTE_USER'} ne '' and $userid = $ENV{'REMOTE_USER'} ) { | 
        
          | 871 |  | 872 |  | 
        
          | 872 |         # Using Basic Authentication, no cookies required | 873 |         # Using Basic Authentication, no cookies required | 
          
            
              | 873 |         push @$cookie, $query->cookie( | 874 |         $cookie = $cookie_mgr->replace_in_list( $cookie, $query->cookie( | 
        
          | 874 |             -name     => 'CGISESSID', | 875 |             -name     => 'CGISESSID', | 
        
          | 875 |             -value    => '', | 876 |             -value    => '', | 
            
              | 876 |             -expires  => '', |  |  | 
        
          | 877 |             -HttpOnly => 1, | 877 |             -HttpOnly => 1, | 
        
          | 878 |             -secure => ( C4::Context->https_enabled() ? 1 : 0 ), | 878 |             -secure => ( C4::Context->https_enabled() ? 1 : 0 ), | 
          
            
              | 879 |         ); | 879 |         )); | 
        
          | 880 |         $loggedin = 1; | 880 |         $loggedin = 1; | 
        
          | 881 |     } | 881 |     } | 
        
          | 882 |     elsif ( $emailaddress) { | 882 |     elsif ( $emailaddress) { | 
  
    | Lines 929-940
          sub checkauth {
      
      
        Link Here | 
        
          | 929 |                 } | 929 |                 } | 
        
          | 930 |             } else { | 930 |             } else { | 
        
          | 931 |  | 931 |  | 
          
            
              | 932 |                 push @$cookie, $query->cookie( | 932 |                 $cookie = $cookie_mgr->replace_in_list( $cookie, $query->cookie( | 
        
          | 933 |                     -name     => 'CGISESSID', | 933 |                     -name     => 'CGISESSID', | 
        
          | 934 |                     -value    => $session->id, | 934 |                     -value    => $session->id, | 
        
          | 935 |                     -HttpOnly => 1, | 935 |                     -HttpOnly => 1, | 
        
          | 936 |                     -secure => ( C4::Context->https_enabled() ? 1 : 0 ), | 936 |                     -secure => ( C4::Context->https_enabled() ? 1 : 0 ), | 
          
            
              | 937 |                 ); | 937 |                 )); | 
        
          | 938 |  | 938 |  | 
        
          | 939 |                 $flags = haspermission( $userid, $flagsrequired ); | 939 |                 $flags = haspermission( $userid, $flagsrequired ); | 
        
          | 940 |                 if ($flags) { | 940 |                 if ($flags) { | 
  
    | Lines 973-984
          sub checkauth {
      
      
        Link Here | 
        
          | 973 |  | 973 |  | 
        
          | 974 |         $sessionID = $session->id; | 974 |         $sessionID = $session->id; | 
        
          | 975 |         C4::Context->_new_userenv($sessionID); | 975 |         C4::Context->_new_userenv($sessionID); | 
          
            
              | 976 |         push @$cookie, $query->cookie( | 976 |         $cookie = $cookie_mgr->replace_in_list( $cookie, $query->cookie( | 
        
          | 977 |             -name     => 'CGISESSID', | 977 |             -name     => 'CGISESSID', | 
        
          | 978 |             -value    => $sessionID, | 978 |             -value    => $sessionID, | 
        
          | 979 |             -HttpOnly => 1, | 979 |             -HttpOnly => 1, | 
        
          | 980 |             -secure => ( C4::Context->https_enabled() ? 1 : 0 ), | 980 |             -secure => ( C4::Context->https_enabled() ? 1 : 0 ), | 
          
            
              | 981 |         ); | 981 |         )); | 
        
          | 982 |         my $pki_field = C4::Context->preference('AllowPKIAuth'); | 982 |         my $pki_field = C4::Context->preference('AllowPKIAuth'); | 
        
          | 983 |         if ( !defined($pki_field) ) { | 983 |         if ( !defined($pki_field) ) { | 
        
          | 984 |             print STDERR "ERROR: Missing system preference AllowPKIAuth.\n"; | 984 |             print STDERR "ERROR: Missing system preference AllowPKIAuth.\n"; | 
  
    | Lines 1173-1184
          sub checkauth {
      
      
        Link Here | 
        
          | 1173 |                         $domain =~ s|\.\*||g; | 1173 |                         $domain =~ s|\.\*||g; | 
        
          | 1174 |                         if ( $ip !~ /^$domain/ ) { | 1174 |                         if ( $ip !~ /^$domain/ ) { | 
        
          | 1175 |                             $loggedin = 0; | 1175 |                             $loggedin = 0; | 
          
            
              | 1176 |                             push @$cookie, $query->cookie( | 1176 |                             $cookie = $cookie_mgr->replace_in_list( $cookie, $query->cookie( | 
        
          | 1177 |                                 -name     => 'CGISESSID', | 1177 |                                 -name     => 'CGISESSID', | 
        
          | 1178 |                                 -value    => '', | 1178 |                                 -value    => '', | 
        
          | 1179 |                                 -HttpOnly => 1, | 1179 |                                 -HttpOnly => 1, | 
        
          | 1180 |                                 -secure => ( C4::Context->https_enabled() ? 1 : 0 ), | 1180 |                                 -secure => ( C4::Context->https_enabled() ? 1 : 0 ), | 
          
            
              | 1181 |                             ); | 1181 |                             )); | 
        
          | 1182 |                             $info{'wrongip'} = 1; | 1182 |                             $info{'wrongip'} = 1; | 
        
          | 1183 |                         } | 1183 |                         } | 
        
          | 1184 |                     } | 1184 |                     } | 
  
    | Lines 1262-1273
          sub checkauth {
      
      
        Link Here | 
        
          | 1262 |     { | 1262 |     { | 
        
          | 1263 |         # successful login | 1263 |         # successful login | 
        
          | 1264 |         unless (@$cookie) { | 1264 |         unless (@$cookie) { | 
          
            
              | 1265 |             push @$cookie, $query->cookie( | 1265 |             $cookie = $cookie_mgr->replace_in_list( $cookie, $query->cookie( | 
        
          | 1266 |                 -name     => 'CGISESSID', | 1266 |                 -name     => 'CGISESSID', | 
        
          | 1267 |                 -value    => '', | 1267 |                 -value    => '', | 
        
          | 1268 |                 -HttpOnly => 1, | 1268 |                 -HttpOnly => 1, | 
        
          | 1269 |                 -secure => ( C4::Context->https_enabled() ? 1 : 0 ), | 1269 |                 -secure => ( C4::Context->https_enabled() ? 1 : 0 ), | 
          
            
              | 1270 |             ); | 1270 |             )); | 
        
          | 1271 |         } | 1271 |         } | 
        
          | 1272 |  | 1272 |  | 
        
          | 1273 |         track_login_daily( $userid ); | 1273 |         track_login_daily( $userid ); | 
            
              | 1274 | -  |  |  |