Browse Source

Bug 15553: [QA Follow-up] Replace hardcoded tmp and add instance to dirname

If you use multiple instances on one server, you could have the situation
that instance A creates the cgisess subfolder and instance B could have a
permission problem. This patch resolves that by allowing each instance to
have its own cgisess subfolder.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
new_12478_elasticsearch
Marcel de Rooy 9 years ago
committed by Brendan A Gallagher
parent
commit
c4934b2dab
  1. 5
      C4/Auth.pm

5
C4/Auth.pm

@ -20,6 +20,7 @@ package C4::Auth;
use strict;
use warnings;
use Digest::MD5 qw(md5_base64);
use File::Spec;
use JSON qw/encode_json/;
use URI::Escape;
use CGI::Session;
@ -1713,7 +1714,9 @@ sub get_session {
}
else {
# catch all defaults to tmp should work on all systems
$session = new CGI::Session( "driver:File;serializer:yaml;id:md5", $sessionID, { Directory => '/tmp/cgisess' } );
my $dir = File::Spec->tmpdir;
my $instance = C4::Context->config( 'database' ); #actually for packages not exactly the instance name, but generally safer to leave it as it is
$session = new CGI::Session( "driver:File;serializer:yaml;id:md5", $sessionID, { Directory => "$dir/cgisess_$instance" } );
}
return $session;
}

Loading…
Cancel
Save