Bugzilla import
Added:
trunk/web/reactos.org/htdocs/
Added:
trunk/web/reactos.org/htdocs/bugzilla/
Added:
trunk/web/reactos.org/htdocs/bugzilla/.htaccess
Added:
trunk/web/reactos.org/htdocs/bugzilla/Bugzilla/.htaccess
Added:
trunk/web/reactos.org/htdocs/bugzilla/Bugzilla/Auth/ROSCMS.pm
Modified:
trunk/web/reactos.org/htdocs/bugzilla/Bugzilla/Config.pm
Modified:
trunk/web/reactos.org/htdocs/bugzilla/Bugzilla.pm
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/.htaccess
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/duplicates/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/mail
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/mimedump-tmp/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/mining/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/nomail
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/params
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
account/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
account/auth/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
account/email/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
account/password/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
account/prefs/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
admin/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
admin/flag-type/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
admin/groups/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
admin/keywords/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
admin/products/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
admin/products/groupcontrol/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
attachment/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
bug/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
bug/activity/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
bug/create/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
bug/process/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
bug/votes/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
flag/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
global/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
list/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
pages/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
reports/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
request/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/template/template/en/default/
search/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/webdot/
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/webdot/.htaccess
Modified:
trunk/web/reactos.org/htdocs/bugzilla/defparams.pl
Added:
trunk/web/reactos.org/htdocs/bugzilla/graphs/
Added:
trunk/web/reactos.org/htdocs/bugzilla/template/.htaccess
Modified:
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/account/prefs/
account.html.tmpl
Modified:
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/account/prefs/
prefs.html.tmpl
Modified:
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/global/banner.
html.tmpl
Modified:
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/global/footer.
html.tmpl
Modified:
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/global/header.
html.tmpl
Modified:
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/global/useful-
links.html.tmpl
Modified:
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/index.html.tmp
l
Modified:
trunk/web/reactos.org/htdocs/bugzilla/userprefs.cgi
_____
Copied:
trunk/web/reactos.org/htdocs/bugzilla (from rev 18769,
vendor/bugzilla/current)
_____
Added:
trunk/web/reactos.org/htdocs/bugzilla/.htaccess
--- vendor/bugzilla/current/.htaccess 2005-10-25 15:06:23 UTC (rev
18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/.htaccess 2005-10-25
15:29:42 UTC (rev 18771)
@@ -0,0 +1,7 @@
+# don't allow people to retrieve non-cgi executable files or our
private data
+<FilesMatch ^(.*\.pl|.*localconfig.*|runtests.sh)$>
+ deny from all
+</FilesMatch>
+<FilesMatch ^(localconfig.js|localconfig.rdf)$>
+ allow from all
+</FilesMatch>
Property changes on:
trunk/web/reactos.org/htdocs/bugzilla/.htaccess
___________________________________________________________________
Name: svn:eol-style
+ native
_____
Added:
trunk/web/reactos.org/htdocs/bugzilla/Bugzilla/.htaccess
--- vendor/bugzilla/current/Bugzilla/.htaccess 2005-10-25 15:06:23 UTC
(rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/Bugzilla/.htaccess
2005-10-25 15:29:42 UTC (rev 18771)
@@ -0,0 +1,3 @@
+# nothing in this directory is retrievable unless overriden by an
.htaccess
+# in a subdirectory
+deny from all
Property changes on:
trunk/web/reactos.org/htdocs/bugzilla/Bugzilla/.htaccess
___________________________________________________________________
Name: svn:eol-style
+ native
_____
Added:
trunk/web/reactos.org/htdocs/bugzilla/Bugzilla/Auth/ROSCMS.pm
--- vendor/bugzilla/current/Bugzilla/Auth/ROSCMS.pm 2005-10-25
15:06:23 UTC (rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/Bugzilla/Auth/ROSCMS.pm
2005-10-25 15:29:42 UTC (rev 18771)
@@ -0,0 +1,215 @@
+# -*- 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.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry(a)mozilla.org>
+# Dan Mosedale <dmose(a)mozilla.org>
+# Joe Robins <jmrobins(a)tgix.com>
+# Dave Miller <justdave(a)syndicomm.com>
+# Christopher Aillon <christopher(a)aillon.com>
+# Gervase Markham <gerv(a)gerv.net>
+# Christian Reis <kiko(a)async.com.br>
+# Bradley Baetz <bbaetz(a)acm.org>
+
+package Bugzilla::Auth::ROSCMS;
+
+use strict;
+
+use URI;
+use URI::Escape;
+
+use Bugzilla::Config;
+use Bugzilla::Constants;
+use Bugzilla::Error;
+use Bugzilla::Util;
+
+my $session_cookie_name = "roscmsusrkey";
+my $roscms_db_name = "roscms";
+my $roscms_login_page = "/roscms/?page=login&target=";
+
+sub authenticate {
+ my ($class, $username, $passwd) = @_;
+
+ return (AUTH_NODATA) unless defined $username && defined $passwd;
+
+ # We're just testing against the db: any value is ok
+ trick_taint($username);
+
+ my $userid = $class->get_id_from_username($username);
+ return (AUTH_LOGINFAILED) unless defined $userid;
+
+ return (AUTH_LOGINFAILED, $userid)
+ unless $class->check_password($userid, $passwd);
+
+ # The user's credentials are okay, so delete any outstanding
+ # password tokens they may have generated.
+ require Bugzilla::Token;
+ Bugzilla::Token::DeletePasswordTokens($userid, "user_logged_in");
+
+ # Account may have been disabled
+ my $disabledtext = $class->get_disabled($userid);
+ return (AUTH_DISABLED, $userid, $disabledtext)
+ if $disabledtext ne '';
+
+ return (AUTH_OK, $userid);
+}
+
+sub can_edit { return 1; }
+
+sub get_id_from_username {
+ my ($class, $username) = @_;
+ my $dbh = Bugzilla->dbh;
+ my $sth = $dbh->prepare_cached("SELECT userid FROM profiles " .
+ "WHERE login_name=?");
+ my ($userid) = $dbh->selectrow_array($sth, undef, $username);
+ return $userid;
+}
+
+sub get_disabled {
+ my ($class, $userid) = @_;
+ my $dbh = Bugzilla->dbh;
+ my $sth = $dbh->prepare_cached("SELECT disabledtext FROM profiles "
.
+ "WHERE userid=?");
+ my ($text) = $dbh->selectrow_array($sth, undef, $userid);
+ return $text;
+}
+
+sub check_password {
+ my ($class, $userid, $passwd) = @_;
+ my $dbh = Bugzilla->dbh;
+ my $sth = $dbh->prepare_cached("SELECT cryptpassword FROM profiles
" .
+ "WHERE userid=?");
+ my ($realcryptpwd) = $dbh->selectrow_array($sth, undef, $userid);
+
+ # Get the salt from the user's crypted password.
+ my $salt = $realcryptpwd;
+
+ # Using the salt, crypt the password the user entered.
+ my $enteredCryptedPassword = crypt($passwd, $salt);
+
+ return $enteredCryptedPassword eq $realcryptpwd;
+}
+
+sub change_password {
+ my ($class, $userid, $password) = @_;
+ my $dbh = Bugzilla->dbh;
+ my $cryptpassword = Crypt($password);
+ $dbh->do("UPDATE profiles SET cryptpassword = ? WHERE userid = ?",
+ undef, $cryptpassword, $userid);
+}
+
+sub login {
+ my ($class, $type) = @_;
+
+ # 'NORMAL' logins depend on the 'requirelogin' param
+ if ($type == LOGIN_NORMAL) {
+ $type = Param('requirelogin') ? LOGIN_REQUIRED :
LOGIN_OPTIONAL;
+ }
+
+ my $cgi = Bugzilla->cgi;
+
+ my $authres;
+ my $userid;
+ my $session_id = $cgi->cookie($session_cookie_name);
+ if (! defined($session_id)) {
+ $authres = AUTH_NODATA;
+ } else {
+ my $session_id_clean = $session_id;
+ trick_taint($session_id_clean);
+ my $remote_addr_clean;
+ if ($ENV{'REMOTE_ADDR'} =~
m/^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/) {
+ $remote_addr_clean = $1;
+ } else {
+ $remote_addr_clean = 'invalid';
+ }
+ my $browser_agent_clean = $ENV{'HTTP_USER_AGENT'};
+ trick_taint($browser_agent_clean);
+ my $query = "SELECT m.map_subsys_userid " .
+ " FROM $roscms_db_name.user_sessions s, " .
+ " $roscms_db_name.users u, " .
+ " $roscms_db_name.subsys_mappings m " .
+ " WHERE s.usersession_id = ? " .
+ " AND (s.usersession_expires IS NULL OR " .
+ " NOW() <= s.usersession_expires) " .
+ " AND u.user_id = s.usersession_user_id " .
+ " AND (u.user_setting_ipaddress = 'false' OR " .
+ " s.usersession_ipaddress = ?) " .
+ " AND (u.user_setting_browseragent = 'false' OR
"
.
+ " s.usersession_browseragent = ?) " .
+ " AND m.map_roscms_userid = s.usersession_user_id
" .
+ " AND m.map_subsys_name = 'bugzilla'";
+ my @params = ($session_id_clean, $remote_addr_clean,
+ $browser_agent_clean);
+ my $dbh = Bugzilla->dbh;
+ ($userid) = $dbh->selectrow_array($query, undef, @params);
+ if ($userid) {
+ $authres = AUTH_OK;
+
+ # Update time of last session use
+ $query = "UPDATE $roscms_db_name.user_sessions " .
+ " SET usersession_expires = DATE_ADD(NOW(),
INTERVAL 30 MINUTE) " .
+ " WHERE usersession_id = ? " .
+ " AND usersession_expires IS NOT NULL";
+ @params = ($session_id_clean);
+ $dbh->do($query, undef, @params);
+ } else {
+ $authres = AUTH_NODATA;
+ }
+ }
+
+ # We can load the page if the login was ok, or there was no data
+ # but a login wasn't required
+ if ($authres == AUTH_OK ||
+ ($authres == AUTH_NODATA && $type == LOGIN_OPTIONAL)) {
+
+ # login succeded, so we're done
+ return $userid;
+ }
+
+ # No login details were given, but we require a login if the
+ # page does
+ if ($authres == AUTH_NODATA && $type == LOGIN_REQUIRED) {
+ # Throw up the login page
+
+ my $this_uri = uri_escape($cgi->url(-absolute=>1,
-path_info=>1,
+ -query=>1));
+ print $cgi->redirect($roscms_login_page . $this_uri);
+ exit 0;
+ }
+
+ # If we get here, then we've run out of options, which shouldn't
happen
+ ThrowCodeError("authres_unhandled", { authres => $authres,
+ type => $type, });
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Bugzilla::Auth::ROSCMS - ROSCMS authentication for Bugzilla
+
+=head1 SUMMARY
+
+This is an L<authentication module|Bugzilla::Auth/"AUTHENTICATION"> for
+Bugzilla, which logs the user in using the ROSCMS login system.
+
+=head1 SEE ALSO
+
+L<Bugzilla::Auth>
Property changes on:
trunk/web/reactos.org/htdocs/bugzilla/Bugzilla/Auth/ROSCMS.pm
___________________________________________________________________
Name: svn:eol-style
+ native
_____
Modified:
trunk/web/reactos.org/htdocs/bugzilla/Bugzilla/Config.pm
--- vendor/bugzilla/current/Bugzilla/Config.pm 2005-10-25 15:06:23 UTC
(rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/Bugzilla/Config.pm
2005-10-25 15:29:42 UTC (rev 18771)
@@ -52,7 +52,8 @@
# some point.
our $libpath = '.';
-our $localconfig = "$libpath/localconfig";
+#our $localconfig = "$libpath/localconfig";
+our $localconfig = "/web/reactos.org/config/bugzilla-config";
our $datadir = "$libpath/data";
our $templatedir = "$libpath/template";
our $webdotdir = "$datadir/webdot";
_____
Modified:
trunk/web/reactos.org/htdocs/bugzilla/Bugzilla.pm
--- vendor/bugzilla/current/Bugzilla.pm 2005-10-25 15:06:23 UTC (rev
18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/Bugzilla.pm 2005-10-25
15:29:42 UTC (rev 18771)
@@ -70,8 +70,8 @@
# One day, we'll be able to log in via apache auth, an email
message's
# PGP signature, and so on
- use Bugzilla::Auth::CGI;
- my $userid = Bugzilla::Auth::CGI->login($type);
+ use Bugzilla::Auth::ROSCMS;
+ my $userid = Bugzilla::Auth::ROSCMS->login($type);
if ($userid) {
$_user = new Bugzilla::User($userid);
@@ -97,10 +97,10 @@
}
$option = LOGOUT_CURRENT unless defined $option;
- use Bugzilla::Auth::CGI;
- Bugzilla::Auth::CGI->logout($_user, $option);
+ use Bugzilla::Auth::ROSCMS;
+ Bugzilla::Auth::ROSCMS->logout($_user, $option);
if ($option != LOGOUT_KEEP_CURRENT) {
- Bugzilla::Auth::CGI->clear_browser_cookies();
+ Bugzilla::Auth::ROSCMS->clear_browser_cookies();
logout_request();
}
}
@@ -109,8 +109,8 @@
my ($class, $user) = @_;
# When we're logging out another user we leave cookies alone, and
# therefore avoid calling logout() directly.
- use Bugzilla::Auth::CGI;
- Bugzilla::Auth::CGI->logout($user, LOGOUT_ALL);
+ use Bugzilla::Auth::ROSCMS;
+ Bugzilla::Auth::ROSCMS->logout($user, LOGOUT_ALL);
}
# just a compatibility front-end to logout_user that gets a user by id
@@ -127,7 +127,7 @@
# XXX clean these up eventually
delete $::COOKIE{"Bugzilla_login"};
# NB - Can't delete from $cgi->cookie, so the logincookie data will
- # remain there; it's only used in Bugzilla::Auth::CGI->logout
anyway
+ # remain there; it's only used in Bugzilla::Auth::ROSCMS->logout
anyway
# People shouldn't rely on the cookie param for the username
# - use Bugzilla->user instead!
}
_____
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/.htaccess
--- vendor/bugzilla/current/data/.htaccess 2005-10-25 15:06:23 UTC
(rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/data/.htaccess
2005-10-25 15:29:42 UTC (rev 18771)
@@ -0,0 +1,7 @@
+# nothing in this directory is retrievable unless overriden by an
.htaccess
+# in a subdirectory; the only exception is duplicates.rdf, which is
used by
+# duplicates.xul and must be loadable over the web
+deny from all
+<Files duplicates.rdf>
+ allow from all
+</Files>
Property changes on:
trunk/web/reactos.org/htdocs/bugzilla/data/.htaccess
___________________________________________________________________
Name: svn:eol-style
+ native
_____
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/mail
Property changes on:
trunk/web/reactos.org/htdocs/bugzilla/data/mail
___________________________________________________________________
Name: svn:eol-style
+ native
_____
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/nomail
Property changes on:
trunk/web/reactos.org/htdocs/bugzilla/data/nomail
___________________________________________________________________
Name: svn:eol-style
+ native
_____
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/params
--- vendor/bugzilla/current/data/params 2005-10-25 15:06:23 UTC (rev
18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/data/params 2005-10-25
15:29:42 UTC (rev 18771)
@@ -0,0 +1,160 @@
+%param = (
+ 'LDAPBaseDN' => '',
+ 'LDAPbinddn' => '',
+ 'LDAPfilter' => '',
+ 'LDAPmailattribute' => 'mail',
+ 'LDAPserver' => '',
+ 'LDAPuidattribute' => 'uid',
+ 'allowbugdeletion' => 0,
+ 'allowemailchange' => 0,
+ 'allowuserdeletion' => 0,
+ 'bonsai_url' => '',
+ 'browserbugmessage' => 'this may indicate a bug in your
browser.',
+ 'chartgroup' => 'editbugs',
+ 'commentonaccept' => 0,
+ 'commentonclearresolution' => 0,
+ 'commentonclose' => 1,
+ 'commentonconfirm' => 0,
+ 'commentoncreate' => 0,
+ 'commentonduplicate' => 0,
+ 'commentonreassign' => 0,
+ 'commentonreassignbycomponent' => 0,
+ 'commentonreopen' => 1,
+ 'commentonresolve' => 1,
+ 'commentonverify' => 0,
+ 'confirmuniqueusermatch' => 1,
+ 'cookiepath' => '/',
+ 'createemailregexp' => '.*',
+ 'cvsroot' => '',
+ 'cvsroot_get' => '',
+ 'defaultlanguage' => 'en',
+ 'defaultpriority' => 'P3',
+ 'defaultquery' =>
'bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to
1=1&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailqa_contact2=1&o
rder=Importance&long_desc_type=substring',
+ 'emailregexp' =>
'^[\\w\\.\\+\\-=]+(a)[\\w\\.\\-]+\\.[\\w\\-]+$']+$',
+ 'emailregexpdesc' => 'A legal address must contain exactly
one \'@\', and at least one \'.\' after the @.',
+ 'emailsuffix' => '',
+ 'enablequips' => 'on',
+ 'insidergroup' => '',
+ 'languages' => 'en',
+ 'letsubmitterchoosepriority' => 0,
+ 'loginmethod' => 'ROSCMS',
+ 'loginnetmask' => '32',
+ 'lxr_root' => '',
+ 'lxr_url' => '',
+ 'maintainer' => 'gvg(a)reactos.org'org',
+ 'makeproductgroups' => 0,
+ 'maxattachmentsize' => '1000',
+ 'maxpatchsize' => '1000',
+ 'maxusermatches' => '1000',
+ 'mostfreqthreshold' => '2',
+ 'move-button-text' => 'Move To Bugscape',
+ 'move-enabled' => 0,
+ 'move-to-address' => 'bugzilla-import',
+ 'move-to-url' => '',
+ 'moved-default-component' => '',
+ 'moved-default-product' => '',
+ 'moved-from-address' => 'bugzilla-admin',
+ 'movers' => '',
+ 'musthavemilestoneonaccept' => 0,
+ 'mybugstemplate' =>
'buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPE
NED&email1=%userid%&emailtype1=exact&emailassigned_to1=1&
;emailreporter1=1',
+ 'newchangedmail' => 'From: ReactOS Bugzilla
+To: %to%
+Subject: [Bug %bugid%] %neworchanged%%summary%
+X-Bugzilla-Reason: %reasonsheader%
+
+%urlbase%show_bug.cgi?id=%bugid%
+
+%diffs%
+
+--%space%
+Configure bugmail: %urlbase%userprefs.cgi?tab=email
+%reasonsbody%',
+ 'noresolveonopenblockers' => 0,
+ 'passwordmail' => 'From: ReactOS Bugzilla
+To: %mailaddress%
+Subject: Your Bugzilla password.
+
+To use the wonders of Bugzilla, you can use the following:
+
+ E-mail address: %login%
+ Password: %password%
+
+ To change your password, go to:
+ %urlbase%userprefs.cgi
+',
+ 'rememberlogin' => 'defaulton',
+ 'requirelogin' => '0',
+ 'sendmailnow' => 1,
+ 'shadowdb' => '',
+ 'shadowdbhost' => '',
+ 'shadowdbport' => '3306',
+ 'shadowdbsock' => '',
+ 'shutdownhtml' => '',
+ 'supportwatchers' => 0,
+ 'timetrackinggroup' => '',
+ 'timezone' => 'CET',
+ 'urlbase' => 'http://www.reactos.org/bugzilla/',
+ 'usebrowserinfo' => '0',
+ 'usebugaliases' => 0,
+ 'useentrygroupdefault' => 0,
+ 'useqacontact' => 1,
+ 'usermatchmode' => 'off',
+ 'usestatuswhiteboard' => 0,
+ 'usetargetmilestone' => '1',
+ 'usevotes' => '0',
+ 'voteremovedmail' => 'From: ReactOS Bugzilla
+To: %to%
+Subject: [Bug %bugid%] Some or all of your votes have been removed.
+
+Some or all of your votes have been removed from bug %bugid%.
+
+%votesoldtext%
+
+%votesnewtext%
+
+Reason: %reason%
+
+%urlbase%show_bug.cgi?id=%bugid%
+',
+ 'webdotbase' =>
'http://www.research.att.com/~north/cgi-bin/webdot.cgi/%urlbase%',
+ 'whinedays' => 7,
+ 'whinemail' => 'From: %maintainer%
+To: %email%
+Subject: Your Bugzilla buglist needs attention.
+
+[This e-mail has been automatically generated.]
+
+You have one or more bugs assigned to you in the Bugzilla
+bugsystem (%urlbase%) that require
+attention.
+
+All of these bugs are in the NEW or REOPENED state, and have not
+been touched in %whinedays% days or more. You need to take a look
+at them, and decide on an initial action.
+
+Generally, this means one of three things:
+
+(1) You decide this bug is really quick to deal with (like, it\'s
INVALID),
+ and so you get rid of it immediately.
+(2) You decide the bug doesn\'t belong to you, and you reassign it to
someone
+ else. (Hint: if you don\'t know who to reassign it to, make sure
that
+ the Component field seems reasonable, and then use the "Reassign
bug to
+ owner of selected component" option.)
+(3) You decide the bug belongs to you, but you can\'t solve it this
moment.
+ Just use the "Accept bug" command.
+
+To get a list of all NEW/REOPENED bugs, you can use this URL (bookmark
+it if you like!):
+
+
%urlbase%buglist.cgi?bug_status=NEW&bug_status=REOPENED&assigned_to=%use
rid%
+
+Or, you can use the general query page, at
+%urlbase%query.cgi.
+
+Appended below are the individual URLs to get to all of your NEW bugs
that
+haven\'t been touched for a week or more.
+
+You will get this message once a day until you\'ve dealt with these
bugs!
+
+'
+ );
Property changes on:
trunk/web/reactos.org/htdocs/bugzilla/data/params
___________________________________________________________________
Name: svn:eol-style
+ native
_____
Added:
trunk/web/reactos.org/htdocs/bugzilla/data/webdot/.htaccess
--- vendor/bugzilla/current/data/webdot/.htaccess 2005-10-25
15:06:23 UTC (rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/data/webdot/.htaccess
2005-10-25 15:29:42 UTC (rev 18771)
@@ -0,0 +1,15 @@
+# Restrict access to .dot files to the public webdot server at
research.att.com
+# if
research.att.com ever changed their IP, or if you use a different
+# webdot server, you'll need to edit this
+<FilesMatch \.dot$>
+ Allow from 192.20.225.10
+ Deny from all
+</FilesMatch>
+
+# Allow access to .png files created by a local copy of 'dot'
+<FilesMatch \.png$>
+ Allow from all
+</FilesMatch>
+
+# And no directory listings, either.
+Deny from all
Property changes on:
trunk/web/reactos.org/htdocs/bugzilla/data/webdot/.htaccess
___________________________________________________________________
Name: svn:eol-style
+ native
_____
Modified:
trunk/web/reactos.org/htdocs/bugzilla/defparams.pl
--- vendor/bugzilla/current/defparams.pl 2005-10-25 15:06:23 UTC
(rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/defparams.pl 2005-10-25
15:29:42 UTC (rev 18771)
@@ -146,6 +146,8 @@
return "Error requiring Net::LDAP: '$@'" if $@;
return "LDAP servername is missing" unless
Param("LDAPserver");
return "LDAPBaseDN is empty" unless Param("LDAPBaseDN");
+ } elsif ($method eq 'ROSCMS') {
+ # No params
} else {
return "Unknown loginmethod '$method' in check_loginmethod";
}
@@ -448,9 +450,13 @@
information. Using this method requires additional
parameters
to be set above.
</dd>
+ <dt>ROSCMS</dt>
+ <dd>
+ Use the ROSCMS login system.
+ </dd>
</dl>',
type => 's',
- choices => [ 'DB', 'LDAP' ],
+ choices => [ 'DB', 'LDAP', 'ROSCMS' ],
default => 'DB',
checker => \&check_loginmethod
},
_____
Added:
trunk/web/reactos.org/htdocs/bugzilla/template/.htaccess
--- vendor/bugzilla/current/template/.htaccess 2005-10-25 15:06:23 UTC
(rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/template/.htaccess
2005-10-25 15:29:42 UTC (rev 18771)
@@ -0,0 +1,3 @@
+# nothing in this directory is retrievable unless overriden by an
.htaccess
+# in a subdirectory
+deny from all
Property changes on:
trunk/web/reactos.org/htdocs/bugzilla/template/.htaccess
___________________________________________________________________
Name: svn:eol-style
+ native
_____
Modified:
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/account/prefs/
account.html.tmpl
---
vendor/bugzilla/current/template/en/default/account/prefs/account.html.t
mpl 2005-10-25 15:06:23 UTC (rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/account/prefs/
account.html.tmpl 2005-10-25 15:29:42 UTC (rev 18771)
@@ -25,74 +25,10 @@
# new_login_name: string. The user's new Bugzilla login whilst not
confirmed. (optional)
#%]
-<table>
- <tr>
- <td colspan="3">
- Please enter your existing password to confirm account changes.
- </td>
- </tr>
- <tr>
- <th align="right">Password:</th>
- <td>
- <input type="hidden" name="Bugzilla_login"
- value="[% user.login FILTER html %]">
- <input type="password" name="Bugzilla_password">
- </td>
- </tr>
- <tr>
- <td colspan="2"><hr></td>
- </tr>
-
- <tr>
- <th align="right">New password:</th>
- <td>
- <input type="password" name="new_password1">
- </td>
- </tr>
-
- <tr>
- <th align="right">Re-enter new password:</th>
- <td>
- <input type="password" name="new_password2">
- </td>
- </tr>
-
- <tr>
- <th align="right">Your real name (optional, but
encouraged):</th>
- <td>
- <input size="35" name="realname" value="[% realname
FILTER html
%]">
- </td>
- </tr>
-
- [% IF Param('allowemailchange') %]
- [% IF login_change_date %]
- [% IF new_login_name %]
- <tr>
- <th align="right">Pending email address:</th>
- <td>[% new_login_name FILTER html %]</td>
- </tr>
- <tr>
- <th align="right">Change request expires:</th>
- <td>[% login_change_date FILTER time %]</td>
- </tr>
- [% ELSE %]
- <tr>
- <th align="right">Confirmed email address:</th>
- <td>[% user.login FILTER html %]</td>
- </tr>
- <tr>
- <th align="right">Completion date:</th>
- <td>[% login_change_date FILTER time %]</td>
- </tr>
- [% END %]
- [% ELSE %]
- <tr>
- <th align="right">New email address:</th>
- <td>
- <input size="35" name="new_login_name">
- </td>
- </tr>
- [% END %]
- [% END %]
-
-</table>
+You can change your account settings (password, email address etc.)
+<a href="/roscms/?page=user">in myReactOS</a><br>
+<br>
+<br>
+<br>
+<br>
+<br>
_____
Modified:
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/account/prefs/
prefs.html.tmpl
---
vendor/bugzilla/current/template/en/default/account/prefs/prefs.html.tmp
l 2005-10-25 15:06:23 UTC (rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/account/prefs/
prefs.html.tmpl 2005-10-25 15:29:42 UTC (rev 18771)
@@ -34,7 +34,7 @@
# message if required (which Perl still evaluates as
True).
#%]
-[% filtered_login = user.login FILTER html %]
+[% filtered_login = user.name FILTER html %]
[% PROCESS global/header.html.tmpl
title = "User Preferences"
h2 = filtered_login
@@ -49,7 +49,7 @@
%]
[% tabs = [ { name => "account", description => "Account
settings",
- saveable => "1" },
+ saveable => "0" },
{ name => "email", description => "Email settings",
saveable => "1" },
{ name => "saved-searches", description => "Saved
searches",
_____
Modified:
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/global/banner.
html.tmpl
--- vendor/bugzilla/current/template/en/default/global/banner.html.tmpl
2005-10-25 15:06:23 UTC (rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/global/banner.
html.tmpl 2005-10-25 15:29:42 UTC (rev 18771)
@@ -1,5 +1,8 @@
[%# 1.0(a)bugzilla.org %]
-[%# The contents of this file are subject to the Mozilla Public
+[%# Based on
mozilla.org template/en/default/global/footer.html.tmpl
+ # Adjusted for roscms by Ge van Geldorp <gvg(a)reactos.org>
+ #
+ # 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/
@@ -24,15 +27,3 @@
[%# Migration note: this file corresponds to the old Param 'bannerhtml'
%]
[% PROCESS global/variables.none.tmpl %]
-
- <div id="banner">
- <div class="intro"></div>
- <p id="banner-name">
- <span>This is [% terms.Bugzilla %]</span>
- </p>
- <p id="banner-version">
- <a
href="http://www.bugzilla.org/"><span>Bugzilla</span&…
- <span>Version [% VERSION %]</span>
- </p>
- <div class="outro"></div>
- </div>
_____
Modified:
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/global/footer.
html.tmpl
--- vendor/bugzilla/current/template/en/default/global/footer.html.tmpl
2005-10-25 15:06:23 UTC (rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/global/footer.
html.tmpl 2005-10-25 15:29:42 UTC (rev 18771)
@@ -1,5 +1,8 @@
[%# 1.0(a)bugzilla.org %]
-[%# The contents of this file are subject to the Mozilla Public
+[%# Based on
mozilla.org template/en/default/global/footer.html.tmpl
+ # Adjusted for roscms by Ge van Geldorp <gvg(a)reactos.org>
+ #
+ # 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/
@@ -43,5 +46,21 @@
<div class="outro"></div>
</div>
+</div>
+</td>
+</tr>
+</table>
+
+<!--
+ links/lynx/etc.. dont handle css (atleast not external
+ files by default) so dont overly depend on it.
+ -->
+<hr size="1">
+
+<address>
+ <p align="center">
+ ReactOS is a trademark of ReactOS Foundation in the United States and
other countries.
+ </p>
+</address>
</body>
-</html>
+</html>
_____
Modified:
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/global/header.
html.tmpl
--- vendor/bugzilla/current/template/en/default/global/header.html.tmpl
2005-10-25 15:06:23 UTC (rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/global/header.
html.tmpl 2005-10-25 15:29:42 UTC (rev 18771)
@@ -1,5 +1,8 @@
[%# 1.0(a)bugzilla.org %]
-[%# The contents of this file are subject to the Mozilla Public
+[%# Based on
mozilla.org template/en/default/global/footer.html.tmpl
+ # Adjusted for roscms by Ge van Geldorp <gvg(a)reactos.org>
+ #
+ # 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/
@@ -59,9 +62,9 @@
[% IF !h1.defined %][% h1 = title %][% END %]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
+<html lang="en">
<head>
- <title>[% title FILTER html %]</title>
+ <title>ReactOS Homepage - [% title FILTER html %]</title>
[%# Migration note: contents of the old Param 'headerhtml' would go
here %]
@@ -81,7 +84,8 @@
[%+ INCLUDE "global/help-header.html.tmpl" %]
- <link href="css/global.css" rel="stylesheet"
type="text/css">
+ <meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
+ <link href="/style.css" type="text/css"
rel="stylesheet">
[% IF style %]
<style type="text/css">
@@ -102,12 +106,100 @@
#%]
<body bgcolor="[% bgcolor %]" onload="[% onload %]"
- class="[%
Param('urlbase').replace('^https?://','').replace('/$','').replace('[-~@
:/.]+','-') %]
- [% FOREACH class = bodyclasses %]
- [% ' ' %][% class FILTER css_class_quote %]
- [% END %]"
- [% bodyattrs %]>
+ [% IF bodyclasses %]
+ class="
+ [% FOREACH class = bodyclasses %]
+ [% ' ' %][% class FILTER css_class_quote %]
+ [% END %]"
+ [% END %]
+ [% bodyattrs %]>
+<div id="top">
+ <div id="topMenu">
+ <!--
+ Use <p> to align things for links/lynx, then in the css make it
+ margin: 0; and use text-align: left/right/etc;.
+ -->
+ <p align="center">
+ <a href="/?page=index">Home</a> <font
color="#ffffff">|</font>
+ <a href="/?page=community">Community</a> <font
color="#ffffff">|</font>
+ <a href="/?page=support">Support</a> <font
color="#ffffff">|</font>
+ <a href="/?page=dev">Development</a> <font
color="#ffffff">|</font>
+ <a href="/roscms/?page=user">myReactOS</a> </p>
+ </div>
+ </div>
+
+<table border="0" width="100%" cellpadding="0"
cellspacing="0">
+ <tr valign="top">
+ <td width="147" id="leftNav">
+ <div class="navTitle">Navigation</div>
+ <ol>
+ <li><a href="/?page=index">Home</a></li>
+ <li><a
href="/?page=community">Community</a></li>
+ <li><a href="/?page=support">Support</a></li>
+ <li><a href="/?page=dev">Development</a></li>
+ <li><a href="/roscms/?page=user">myReactOS</a></li>
+ </ol>
+ <p></p>
+
+<div class="navTitle">Bugzilla</div>
+ <ol>
+ <li><a href="/bugzilla">Main Page</a></li>
+ <li><a
href="/bugzilla/enter_bug.cgi">New</a></li>
+ <li><a
href="/bugzilla/query.cgi">Search</a></li>
+ <li><a
href="/bugzilla/report.cgi">Reports</a></li>
+ <li><a
href="/bugzilla/request.cgi">Requests</a></li>
+ </ol>
+ <p></p>
+
+[%# TODO we don't support switching languages yet
+<div class="navTitle">Language</div>
+ <ol>
+ <li>
+ <div align="center">
+ <select id="select" size="1" name="select"
class="selectbox"
onchange="window.open(this.options[this.selectedIndex].value,'_main')">
+ <optgroup label="current language">
+ <option value="#"
selected="selected">English</option>
+ </optgroup>
+ <optgroup label="most popular">
+ <option
value="http://www.reactos.org/./[#inc_path_lang]../en/developer.htm&qu…
lish</option>
+ <option
value="http://www.reactos.org/./[#inc_path_lang]../de/developer.htm&qu…
tsch</option>
+ <option
value="http://www.reactos.org/./[#inc_path_lang]../fr/developer.htm&qu…
n?ºais</option>
+ </optgroup>
+ <optgroup label="other languages">
+ <option
value="#"><placeholder></option>
+ </optgroup>
+ </select>
+ </div>
+ </li>
+ </ol>
+ <p></p>
+%]
+
+<div class="navTitle">Account</div>
+ <ol>
+ [% IF user %]
+ <li><a href="/roscms/?page=logout">Logout [% user.name
%]</a></li>
+ [% ELSE %]
+ <li><a
href="/roscms/?page=login&target=%2Fbugzilla">Login</a></li>
+ [% END %]
+ <li><a
href="/roscms/?page=register&target=%2Fbugzilla">Register</a></li>
+ </ol>
+ <p></p>
+
+[%# TODO Haven't found a way to get the latest update info
+<div class="navTitle">Latest Update</div>
+ <ol>
+ <li><div align="center">2005-08-21 15:16<br>$ test:
rev.1
$</div></li>
+ </ol>
+ <p> </p>
+%]
+ </td>
+
+<td id="bugzillaContent">
+<div class="contentSmall">
+<span class="contentSmallTitle">ReactOS bug tracking and
reporting</span>
+
[%# Migration note: the following file corresponds to the old Param
# 'bannerhtml'
#%]
_____
Modified:
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/global/useful-
links.html.tmpl
---
vendor/bugzilla/current/template/en/default/global/useful-links.html.tmp
l 2005-10-25 15:06:23 UTC (rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/global/useful-
links.html.tmpl 2005-10-25 15:29:42 UTC (rev 18771)
@@ -53,13 +53,11 @@
[% IF user.login %]
[% ' | <a
href="sanitycheck.cgi">Sanity check</a>'
IF
user.groups.tweakparams %]
- | <a href="relogin.cgi">Log out</a>
- [% user.login FILTER html %]
[% ELSE %]
[% IF Param('createemailregexp') %]
- | <a
href="createaccount.cgi">New Account</a>
+ | <a
href="/roscms/?page=register&target=%2Fbugzilla">Register Accou
nt</a>
[% END %]
- | <a
href="query.cgi?GoAheadAndLogIn=1">Log In</a>
+ | <a
href="/roscms/?page=login&target=%2Fbugzilla">Log In</a>
[% END %]
</div>
</div>
_____
Modified:
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/index.html.tmp
l
--- vendor/bugzilla/current/template/en/default/index.html.tmpl
2005-10-25 15:06:23 UTC (rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/template/en/default/index.html.tmp
l 2005-10-25 15:29:42 UTC (rev 18771)
@@ -1,6 +1,9 @@
[%# 1.0(a)bugzilla.org %]
[%# -*- mode: html -*- %]
-[%# The contents of this file are subject to the Mozilla Public
+[%# Based on
mozilla.org template/en/default/index.html.tmpl
+ # Adjusted for roscms by Ge van Geldorp <gvg(a)reactos.org>
+ #
+ # 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/
@@ -33,27 +36,6 @@
[% PROCESS global/header.html.tmpl %]
-<script type="text/javascript" language="JavaScript">
-<!--
-function addSidebar() {
- if ((typeof window.sidebar == "object") && (typeof
window.sidebar.addPanel == "function"))
- {
- var sidebarname=window.location.host;
- if (!/bug/i.test(sidebarname))
- sidebarname="[% terms.Bugzilla %] "+sidebarname;
- window.sidebar.addPanel (sidebarname, "[% Param('urlbase')
%]sidebar.cgi", "");
- }
- else
- {
- var rv = window.confirm ("Your browser does not support the sidebar
extension. " + "Would you like to upgrade now?");
- if (rv)
- document.location.href = "http://www.mozilla.org/binaries.html";
- }
-}
-//-->
-</script>
-
-
<table width="100%"><tr>
<td>
<p>This is where we put in lots of nifty words explaining all about
[% terms.Bugzilla %].</p>
@@ -64,17 +46,10 @@
<a href="enter_bug.cgi">Enter a new [% terms.bug %]
report</a><br>
<a href="report.cgi">Summary reports and charts</a><br>
</p><p>
-[% IF user.id %]
- <a href="userprefs.cgi">Change password or user
preferences</a><br>
- <a href="relogin.cgi">Logout [% user.login FILTER html
%]</a><br>
-[% ELSE %]
- <a href="query.cgi?GoAheadAndLogIn=1">Log in to an existing
account</a><br>
- [% IF Param('createemailregexp') %]
- <a href="createaccount.cgi">Open a new [% terms.Bugzilla %]
account</a><br>
- [% END %]
+[% IF NOT user.id %]
+ <a href="/roscms/?page=login&target=%2Fbugzilla">Log in to an
existing account</a><br>
+ <a href="/roscms/?page=register&target=%2Fbugzilla">Register a
new account</a><br>
[% END %]
- </p><p>
- <a href="javascript:addSidebar()">Add to Sidebar</a> (Requires
Mozilla or Netscape 6)<br>
</p>
<form name="f" action="show_bug.cgi" method="get"
onsubmit="QuickSearch(f.id.value); return false;">
_____
Modified:
trunk/web/reactos.org/htdocs/bugzilla/userprefs.cgi
--- vendor/bugzilla/current/userprefs.cgi 2005-10-25 15:06:23 UTC
(rev 18769)
+++
trunk/web/reactos.org/htdocs/bugzilla/userprefs.cgi 2005-10-25
15:29:42 UTC (rev 18771)
@@ -68,75 +68,7 @@
}
}
-sub SaveAccount {
- my $cgi = Bugzilla->cgi;
- my $pwd1 = $cgi->param('new_password1');
- my $pwd2 = $cgi->param('new_password2');
-
- if ($cgi->param('Bugzilla_password') ne "" ||
- $pwd1 ne "" || $pwd2 ne "")
- {
- my $old = SqlQuote($cgi->param('Bugzilla_password'));
- SendSQL("SELECT cryptpassword FROM profiles WHERE userid =
$userid");
- my $oldcryptedpwd = FetchOneColumn();
- $oldcryptedpwd ||
ThrowCodeError("unable_to_retrieve_password");
-
[truncated at 1000 lines; 66 more skipped]