1
# -*- Mode: perl; indent-tabs-mode: nil -*-
3
# The contents of this file are subject to the Mozilla Public
4
# License Version 1.1 (the "License"); you may not use this file
5
# except in compliance with the License. You may obtain a copy of
6
# the License at http://www.mozilla.org/MPL/
8
# Software distributed under the License is distributed on an "AS
9
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
10
# implied. See the License for the specific language governing
11
# rights and limitations under the License.
13
# The Original Code is the Bugzilla Bug Tracking System.
15
# The Initial Developer of the Original Code is Netscape Communications
16
# Corporation. Portions created by Netscape are
17
# Copyright (C) 1998 Netscape Communications Corporation. All
20
# Contributor(s): Terry Weissman <terry@mozilla.org>
21
# Dan Mosedale <dmose@mozilla.org>
22
# Joe Robins <jmrobins@tgix.com>
23
# Dave Miller <justdave@syndicomm.com>
24
# Christopher Aillon <christopher@aillon.com>
25
# Gervase Markham <gerv@gerv.net>
26
# Christian Reis <kiko@async.com.br>
27
# Bradley Baetz <bbaetz@acm.org>
28
# Erik Stambaugh <erik@dasbistro.com>
29
# Max Kanat-Alexander <mkanat@bugzilla.org>
31
package Bugzilla::Auth::Login::CGI;
33
use base qw(Bugzilla::Auth::Login);
34
use constant user_can_create_account => 1;
36
use Bugzilla::Constants;
37
use Bugzilla::WebService::Constants;
43
my $cgi = Bugzilla->cgi;
45
my $username = trim($cgi->param("Bugzilla_login"));
46
my $password = $cgi->param("Bugzilla_password");
48
$cgi->delete('Bugzilla_login', 'Bugzilla_password');
50
if (!defined $username || !defined $password) {
51
return { failure => AUTH_NODATA };
54
return { username => $username, password => $password };
59
my $cgi = Bugzilla->cgi;
60
my $template = Bugzilla->template;
62
if (Bugzilla->error_mode == Bugzilla::Constants::ERROR_MODE_DIE_SOAP_FAULT) {
64
->faultcode(ERROR_AUTH_NODATA)
65
->faultstring('Login Required');
68
# Redirect to SSL if required
69
if (Bugzilla->params->{'sslbase'} ne ''
70
and Bugzilla->params->{'ssl'} ne 'never')
72
$cgi->require_https(Bugzilla->params->{'sslbase'});
75
$template->process("account/auth/login.html.tmpl",
76
{ 'target' => $cgi->url(-relative=>1) })
77
|| ThrowTemplateError($template->error());