diff options
Diffstat (limited to 'rt/html/Elements/SetupSessionCookie')
-rw-r--r-- | rt/html/Elements/SetupSessionCookie | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/rt/html/Elements/SetupSessionCookie b/rt/html/Elements/SetupSessionCookie deleted file mode 100644 index 7a2ad9ff5..000000000 --- a/rt/html/Elements/SetupSessionCookie +++ /dev/null @@ -1,85 +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> -return if $m->is_subrequest; # avoid reentrancy, as suggested by masonbook - -my %cookies = CGI::Cookie->fetch(); -my $cookiename = "RT_SID_".$RT::rtname.".".$ENV{'SERVER_PORT'}; -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; - - # morning bug avoidance attempt -- pdh 20030815 - unless ($RT::Handle->dbh && $RT::Handle->dbh->ping) { - $RT::Handle->Connect(); - } - eval { - tie %session, $session_class, - $SessionCookie || ( $cookies{$cookiename} ? $cookies{$cookiename}->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{$cookiename}; - } - else { - die "RT Couldn't write to session directory '$RT::MasonSessionDir': $@. Check that this dir ectory's permissions are correct."; - } - } - - if ( !$cookies{$cookiename} ) { - my $cookie = new CGI::Cookie( - -name => $cookiename, - -value => $session{_session_id}, - -path => '/', - ); - $r->header_out('Set-Cookie', $cookie->as_string); - - } - - return(); -</%init> -<%args> -$SessionCookie => '' -</%args> |