diff options
Diffstat (limited to 'rt/html/Elements/SetupSessionCookie')
-rw-r--r-- | rt/html/Elements/SetupSessionCookie | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/rt/html/Elements/SetupSessionCookie b/rt/html/Elements/SetupSessionCookie deleted file mode 100644 index 4d728ce70..000000000 --- a/rt/html/Elements/SetupSessionCookie +++ /dev/null @@ -1,77 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<%init> -my %cookies = CGI::Cookie->fetch(); -my %backends = ( - mysql => 'Apache::Session::MySQL', - Pg => 'Apache::Session::Postgres', - Oracle => 'Apache::Session::Oracle', -) unless $RT::WebSessionClass; -my $session_class = $RT::WebSessionClass || $backends{$RT::DatabaseType} || 'Apache::Session::File'; -my $pm = "$session_class.pm"; $pm =~ s|::|/|g; require $pm; - - eval { - tie %session, $session_class, - $SessionCookie || ( $cookies{'RT_SID'} ? $cookies{'RT_SID'}->value() : undef ), - $backends{$RT::DatabaseType} ? { - Handle => $RT::Handle->dbh, - LockHandle => $RT::Handle->dbh, - } : { - Directory => $RT::MasonSessionDir, - LockDirectory => $RT::MasonSessionDir, - }; - }; - if ($@) { - - # If the session is invalid, create a new session. - if ( $@ =~ /Object does not/i ) { - tie %session, $session_class, undef, - $backends{$RT::DatabaseType} ? { - Handle => $RT::Handle->dbh, - LockHandle => $RT::Handle->dbh, - } : { - Directory => $RT::MasonSessionDir, - LockDirectory => $RT::MasonSessionDir, - }; - undef $cookies{'RT_SID'}; - } - else { - die "RT Couldn't write to session directory '$RT::MasonSessionDir': $@. Check that this dir ectory's permissions are correct."; - } - } - - if ( !$cookies{'RT_SID'} ) { - my $cookie = new CGI::Cookie( - -name => 'RT_SID', - -value => $session{_session_id}, - -path => '/', - ); - $r->header_out('Set-Cookie', $cookie->as_string); - - } - return(); -</%init> -<%args> -$SessionCookie => '' -</%args> |