From: cvs2git Date: Fri, 16 Feb 2007 22:06:35 +0000 (+0000) Subject: This commit was manufactured by cvs2svn to create branch X-Git-Tag: freeside_1_7_2~1 X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=df8e6bb99987a0010af8b84cf08fb4ee63420749;p=freeside.git This commit was manufactured by cvs2svn to create branch 'FREESIDE_1_7_BRANCH'. --- df8e6bb99987a0010af8b84cf08fb4ee63420749 diff --cc rt/bin/webmux.pl index 96e7ebf8d,21cb83f5e,21cb83f5e,96e7ebf8d..000000000 deleted file mode 100755,100755,100755,100755 --- a/rt/bin/webmux.pl +++ /dev/null @@@@@ -1,148 -1,125 -1,125 -1,148 +1,0 @@@@@ ----#!/usr/bin/perl ----# BEGIN LICENSE BLOCK ----# ----# Copyright (c) 1996-2003 Jesse Vincent ----# ----# (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 ---- ----use strict; ---- ----BEGIN { ---- $ENV{'PATH'} = '/bin:/usr/bin'; # or whatever you need ---- $ENV{'CDPATH'} = '' if defined $ENV{'CDPATH'}; ---- $ENV{'SHELL'} = '/bin/sh' if defined $ENV{'SHELL'}; ---- $ENV{'ENV'} = '' if defined $ENV{'ENV'}; ---- $ENV{'IFS'} = '' if defined $ENV{'IFS'}; - - ----} ---- ----use lib ("/opt/rt3/local/lib", "/opt/rt3/lib"); ----use RT; ---- ----package RT::Mason; ---- ----use CGI qw(-private_tempfiles); #bring this in before mason, to make sure we ---- #set private_tempfiles ---- ----BEGIN { - - if ($mod_perl::VERSION >= 1.9908) { - - require Apache::RequestUtil; - - no warnings 'redefine'; - - my $sub = *Apache::request{CODE}; - - *Apache::request = sub { - - my $r; - - eval { $r = $sub->('Apache'); }; - - # warn $@ if $@; - - return $r; - - }; - - } ---- if ($CGI::MOD_PERL) { ---- require HTML::Mason::ApacheHandler; ---- } ---- else { ---- require HTML::Mason::CGIHandler; ---- } ----} ---- ----use HTML::Mason; # brings in subpackages: Parser, Interp, etc. ---- ----use vars qw($Nobody $SystemUser $r); ---- ----#This drags in RT's config.pm ----RT::LoadConfig(); ---- ----use Carp; ---- ----{ ---- package HTML::Mason::Commands; ---- use vars qw(%session); ---- ---- use RT::Tickets; ---- use RT::Transactions; ---- use RT::Users; ---- use RT::CurrentUser; ---- use RT::Templates; ---- use RT::Queues; ---- use RT::ScripActions; ---- use RT::ScripConditions; ---- use RT::Scrips; ---- use RT::Groups; ---- use RT::GroupMembers; ---- use RT::CustomFields; ---- use RT::CustomFieldValues; ---- use RT::TicketCustomFieldValues; ---- ---- use RT::Interface::Web; ---- use MIME::Entity; ---- use Text::Wrapper; ---- use CGI::Cookie; ---- use Time::ParseDate; ---- use HTML::Entities; ----} ---- ---- ----# Activate the following if running httpd as root (the normal case). ----# Resets ownership of all files created by Mason at startup. ----# Note that mysql uses DB for sessions, so there's no need to do this. ----unless ($RT::DatabaseType =~ /(mysql|Pg)/) { ---- # Clean up our umask to protect session files ---- umask(0077); ---- ----if ( $CGI::MOD_PERL) { ---- chown( Apache->server->uid, Apache->server->gid, [$RT::MasonSessionDir] ) ---- if Apache->server->can('uid'); ---- } ---- # Die if WebSessionDir doesn't exist or we can't write to it ---- stat($RT::MasonSessionDir); ---- die "Can't read and write $RT::MasonSessionDir" ---- unless ( ( -d _ ) and ( -r _ ) and ( -w _ ) ); ----} ---- - -my $ah = &RT::Interface::Web::NewApacheHandler(@RT::MasonParameters) if $CGI::MOD_PERL; -- my $ah = &RT::Interface::Web::NewApacheHandler() if $CGI::MOD_PERL; ---- ----sub handler { ---- ($r) = @_; - - - - local $SIG{__WARN__}; - - local $SIG{__DIE__}; ---- ---- RT::Init(); ---- ---- # We don't need to handle non-text items ---- return -1 if defined( $r->content_type ) && $r->content_type !~ m|^text/|io; ---- ---- my %session; - - my $status; - - eval { $status = $ah->handle_request($r) }; - - if ($@) { - - $RT::Logger->crit($@); - - } - - -- my $status = $ah->handle_request($r); ---- undef (%session); ---- - - if ($RT::Handle->TransactionDepth) { - - $RT::Handle->ForceRollback; - - $RT::Logger->crit("Transaction not committed. Usually indicates a software fault. Data loss may have occurred") ; - - } -- $RT::Logger->crit("Transaction not committed. Usually indicates a software fault. Data loss may have occurred") if $RT::Handle->TransactionDepth; ---- return $status; ----} ---- ----1;