summaryrefslogtreecommitdiff
path: root/rt/lib/RT/Interface/Web/Session.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2015-07-09 22:32:26 -0700
committerIvan Kohler <ivan@freeside.biz>2015-07-09 22:32:26 -0700
commit026dc7ad72ba972f230b6709e31fa64397d75ad4 (patch)
treec5af1a7ac9154744afc3660e9a9405892f2bb50b /rt/lib/RT/Interface/Web/Session.pm
parent07b4bc84d1078f7390221d766cdb3142513db4b0 (diff)
parent1c538bfabc2cd31f27067505f0c3d1a46cba6ef0 (diff)
merge RT 4.2.11 and Header changes to disable RT javascript, RT#34237
Diffstat (limited to 'rt/lib/RT/Interface/Web/Session.pm')
-rw-r--r--rt/lib/RT/Interface/Web/Session.pm30
1 files changed, 21 insertions, 9 deletions
diff --git a/rt/lib/RT/Interface/Web/Session.pm b/rt/lib/RT/Interface/Web/Session.pm
index d854130b6..c4cc93080 100644
--- a/rt/lib/RT/Interface/Web/Session.pm
+++ b/rt/lib/RT/Interface/Web/Session.pm
@@ -84,8 +84,7 @@ sub Class {
my $class = RT->Config->Get('WebSessionClass')
|| $self->Backends->{RT->Config->Get('DatabaseType')}
|| 'Apache::Session::File';
- eval "require $class";
- die $@ if $@;
+ $class->require or die "Can't load $class: $@";
return $class;
}
@@ -98,8 +97,9 @@ sessions class names as values.
sub Backends {
return {
- mysql => 'Apache::Session::MySQL',
- Pg => 'Apache::Session::Postgres',
+ mysql => 'Apache::Session::MySQL',
+ Pg => 'Apache::Session::Postgres',
+ Oracle => 'Apache::Session::Oracle',
};
}
@@ -112,15 +112,27 @@ new session objects.
sub Attributes {
my $class = $_[0]->Class;
- return !$class->isa('Apache::Session::File') ? {
- Handle => $RT::Handle->dbh,
- LockHandle => $RT::Handle->dbh,
- Transaction => 1,
- } : {
+ my $res;
+ if ( my %props = RT->Config->Get('WebSessionProperties') ) {
+ $res = \%props;
+ }
+ elsif ( $class->isa('Apache::Session::File') ) {
+ $res = {
Directory => $RT::MasonSessionDir,
LockDirectory => $RT::MasonSessionDir,
Transaction => 1,
};
+ }
+ else {
+ $res = {
+ Handle => $RT::Handle->dbh,
+ LockHandle => $RT::Handle->dbh,
+ Transaction => 1,
+ };
+ }
+ $res->{LongReadLen} = RT->Config->Get('MaxAttachmentSize')
+ if $class->isa('Apache::Session::Oracle');
+ return $res;
}
=head3 Ids