From cee38ad705168078638221840d57eca473674ed1 Mon Sep 17 00:00:00 2001 From: "mkanat%bugzilla.org" <> Date: Fri, 18 Aug 2006 03:39:58 +0000 Subject: Bug 345376: Startup Script for mod_perl Patch By Max Kanat-Alexander r=justdave, a=myk --- mod_perl.pl | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 mod_perl.pl (limited to 'mod_perl.pl') diff --git a/mod_perl.pl b/mod_perl.pl new file mode 100644 index 000000000..f36b219b6 --- /dev/null +++ b/mod_perl.pl @@ -0,0 +1,53 @@ +#!/usr/bin/perl -wT +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the Bugzilla Bug Tracking System. +# +# Contributor(s): Max Kanat-Alexander + +use strict; + +# If you have an Apache2::Status handler in your Apache configuration, +# you need to load Apache2::Status *here*, so that Apache::DBI can +# report information to Apache2::Status. +#use Apache2::Status (); + +# We don't want to import anything into the global scope during +# startup, so we always specify () after using any module in this +# file. + +use Apache::DBI (); +use Bugzilla (); +use Bugzilla::Constants (); +use Bugzilla::CGI (); +use Bugzilla::Mailer (); +use Bugzilla::Template (); +use Bugzilla::Util (); +use CGI (); +CGI->compile(qw(:cgi -no_xhtml -oldstyle_urls :private_tempfiles + :unique_headers SERVER_PUSH :push)); +use Template::Config (); +Template::Config->preload(); + +# ModPerl::RegistryLoader can pre-compile all CGI scripts. +use ModPerl::RegistryLoader (); +my $rl = new ModPerl::RegistryLoader(); +# Note that $cgi_path will be wrong if somebody puts the libraries +# in a different place than the CGIs. +my $cgi_path = Bugzilla::Constants::bz_locations()->{'libpath'}; +foreach my $file (glob "$cgi_path/*.cgi") { + Bugzilla::Util::trick_taint($file); + $rl->handler($file, $file); +} + +1; -- cgit v1.2.3-24-g4f1b