Compare commits
34 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ef87a5b124 | ||
|
|
74dae0d782 | ||
|
|
45c89c1f4f | ||
|
|
07633bdbb9 | ||
|
|
a722fd3b7f | ||
|
|
857841a7a8 | ||
|
|
c035055ffb | ||
|
|
cd5c397143 | ||
|
|
b2d95bf273 | ||
|
|
940cb6c8cd | ||
|
|
00a7a1a5f7 | ||
|
|
d4013216c9 | ||
|
|
ff7d9518a5 | ||
|
|
d506ca7d7c | ||
|
|
ab6e29b000 | ||
|
|
4093a8fe9a | ||
|
|
b24ae48be5 | ||
|
|
f485b84ee2 | ||
|
|
7fb753a659 | ||
|
|
83ec92e90f | ||
|
|
26197cf216 | ||
|
|
e5f7d8c762 | ||
|
|
7a896f9757 | ||
|
|
a0eaaced03 | ||
|
|
66b9d9adef | ||
|
|
554e3a1779 | ||
|
|
8a5e12cd19 | ||
|
|
e3d53f025d | ||
|
|
3981eab63b | ||
|
|
c38ef129c4 | ||
|
|
784361957a | ||
|
|
c2f02ce1e7 | ||
|
|
ef40fef949 | ||
|
|
fa7cb727ef |
19 changed files with 874 additions and 36 deletions
|
|
@ -1 +0,0 @@
|
||||||
bugzilla-3.2.3.tar.gz
|
|
||||||
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
bugzilla-3.2.6.tar.gz
|
||||||
|
/bugzilla-3.2.10.tar.gz
|
||||||
21
Makefile
21
Makefile
|
|
@ -1,21 +0,0 @@
|
||||||
# Makefile for source rpm: bugzilla
|
|
||||||
# $Id$
|
|
||||||
NAME := bugzilla
|
|
||||||
SPECFILE = $(firstword $(wildcard *.spec))
|
|
||||||
|
|
||||||
define find-makefile-common
|
|
||||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
|
||||||
endef
|
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
|
||||||
|
|
||||||
ifeq ($(MAKEFILE_COMMON),)
|
|
||||||
# attept a checkout
|
|
||||||
define checkout-makefile-common
|
|
||||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
|
||||||
endef
|
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
|
||||||
endif
|
|
||||||
|
|
||||||
include $(MAKEFILE_COMMON)
|
|
||||||
|
|
@ -20,6 +20,6 @@ put in place after configuration is done. The first is a daily cron job for
|
||||||
statistics collection. This is in the file "cron.daily" and can be enabled by
|
statistics collection. This is in the file "cron.daily" and can be enabled by
|
||||||
simply copying this file to /etc/cron.daily/bugzilla (or any other file name
|
simply copying this file to /etc/cron.daily/bugzilla (or any other file name
|
||||||
in the /etc/cron.daily/ directory). The second is the "whine" cron job,
|
in the /etc/cron.daily/ directory). The second is the "whine" cron job,
|
||||||
designed to run every 15 minutes. To enable this job, simply coopy the
|
designed to run every 15 minutes. To enable this job, simply copy the
|
||||||
cron.whine file to /etc/cron.d/bugzilla (or any othe filename within the
|
cron.whine file to /etc/cron.d/bugzilla (or any othe filename within the
|
||||||
/etc/cron.d/ directory).
|
/etc/cron.d/ directory).
|
||||||
|
|
|
||||||
240
bugzilla-3.2.10-CVE-2011-2379.patch
Normal file
240
bugzilla-3.2.10-CVE-2011-2379.patch
Normal file
|
|
@ -0,0 +1,240 @@
|
||||||
|
=== modified file 'Bugzilla/Attachment/PatchReader.pm'
|
||||||
|
--- Bugzilla/Attachment/PatchReader.pm 2008-06-29 22:35:28 +0000
|
||||||
|
+++ Bugzilla/Attachment/PatchReader.pm 2011-07-07 06:04:15 +0000
|
||||||
|
@@ -37,6 +37,7 @@
|
||||||
|
$last_reader->sends_data_to(new PatchReader::DiffPrinter::raw());
|
||||||
|
# Actually print out the patch.
|
||||||
|
print $cgi->header(-type => 'text/plain',
|
||||||
|
+ -x_content_type_options => "nosniff",
|
||||||
|
-expires => '+3M');
|
||||||
|
disable_utf8();
|
||||||
|
$reader->iterate_string('Attachment ' . $attachment->id, $attachment->data);
|
||||||
|
@@ -118,6 +119,7 @@
|
||||||
|
$last_reader->sends_data_to(new PatchReader::DiffPrinter::raw());
|
||||||
|
# Actually print out the patch.
|
||||||
|
print $cgi->header(-type => 'text/plain',
|
||||||
|
+ -x_content_type_options => "nosniff",
|
||||||
|
-expires => '+3M');
|
||||||
|
disable_utf8();
|
||||||
|
}
|
||||||
|
|
||||||
|
=== modified file 'attachment.cgi'
|
||||||
|
--- attachment.cgi 2009-09-30 08:53:25 +0000
|
||||||
|
+++ attachment.cgi 2011-07-21 06:21:26 +0000
|
||||||
|
@@ -71,10 +71,13 @@
|
||||||
|
|
||||||
|
# Determine whether to use the action specified by the user or the default.
|
||||||
|
my $action = $cgi->param('action') || 'view';
|
||||||
|
+my $format = $cgi->param('format') || '';
|
||||||
|
|
||||||
|
# You must use the appropriate urlbase/sslbase param when doing anything
|
||||||
|
-# but viewing an attachment.
|
||||||
|
-if ($action ne 'view') {
|
||||||
|
+# but viewing an attachment, or a raw diff.
|
||||||
|
+if ($action ne 'view'
|
||||||
|
+ && (($action !~ /^(?:interdiff|diff)$/) || $format ne 'raw'))
|
||||||
|
+{
|
||||||
|
my $urlbase = Bugzilla->params->{'urlbase'};
|
||||||
|
my $sslbase = Bugzilla->params->{'sslbase'};
|
||||||
|
my $path_regexp = $sslbase ? qr/^(\Q$urlbase\E|\Q$sslbase\E)/ : qr/^\Q$urlbase\E/;
|
||||||
|
@@ -172,7 +175,8 @@
|
||||||
|
# non-natural, so use the original value from $cgi in our exception
|
||||||
|
# message here.
|
||||||
|
detaint_natural($attach_id)
|
||||||
|
- || ThrowUserError("invalid_attach_id", { attach_id => $cgi->param($param) });
|
||||||
|
+ || ThrowUserError("invalid_attach_id",
|
||||||
|
+ { attach_id => scalar $cgi->param($param) });
|
||||||
|
|
||||||
|
# Make sure the attachment exists in the database.
|
||||||
|
my $attachment = Bugzilla::Attachment->get($attach_id)
|
||||||
|
@@ -249,53 +253,71 @@
|
||||||
|
{ bug_id => $bugid });
|
||||||
|
}
|
||||||
|
|
||||||
|
-################################################################################
|
||||||
|
-# Functions
|
||||||
|
-################################################################################
|
||||||
|
+# Gets the attachment object(s) generated by validateID, while ensuring
|
||||||
|
+# attachbase and token authentication is used when required.
|
||||||
|
+sub get_attachment {
|
||||||
|
+ my @field_names = @_ ? @_ : qw(id);
|
||||||
|
|
||||||
|
-# Display an attachment.
|
||||||
|
-sub view {
|
||||||
|
- my $attachment;
|
||||||
|
+ my %attachments;
|
||||||
|
|
||||||
|
if (use_attachbase()) {
|
||||||
|
- $attachment = validateID(undef, 1);
|
||||||
|
- # Replace %bugid% by the ID of the bug the attachment belongs to, if present.
|
||||||
|
+ # Load each attachment, and ensure they are all from the same bug
|
||||||
|
+ my $bug_id = 0;
|
||||||
|
+ foreach my $field_name (@field_names) {
|
||||||
|
+ my $attachment = validateID($field_name, 1);
|
||||||
|
+ if (!$bug_id) {
|
||||||
|
+ $bug_id = $attachment->bug_id;
|
||||||
|
+ } elsif ($attachment->bug_id != $bug_id) {
|
||||||
|
+ ThrowUserError('attachment_bug_id_mismatch');
|
||||||
|
+ }
|
||||||
|
+ $attachments{$field_name} = $attachment;
|
||||||
|
+ }
|
||||||
|
my $attachbase = Bugzilla->params->{'attachment_base'};
|
||||||
|
- my $bug_id = $attachment->bug_id;
|
||||||
|
$attachbase =~ s/%bugid%/$bug_id/;
|
||||||
|
- my $path = 'attachment.cgi?id=' . $attachment->id;
|
||||||
|
- # The user is allowed to override the content type of the attachment.
|
||||||
|
- if (defined $cgi->param('content_type')) {
|
||||||
|
- $path .= '&content_type=' . url_quote($cgi->param('content_type'));
|
||||||
|
- }
|
||||||
|
+ my @args = map { $_ . '=' . $attachments{$_}->id } @field_names;
|
||||||
|
+ my $cgi_params = $cgi->canonicalise_query(@field_names, 't',
|
||||||
|
+ 'Bugzilla_login', 'Bugzilla_password');
|
||||||
|
+ push(@args, $cgi_params) if $cgi_params;
|
||||||
|
+ my $path = 'attachment.cgi?' . join('&', @args);
|
||||||
|
|
||||||
|
# Make sure the attachment is served from the correct server.
|
||||||
|
if ($cgi->self_url !~ /^\Q$attachbase\E/) {
|
||||||
|
# We couldn't call Bugzilla->login earlier as we first had to make sure
|
||||||
|
# we were not going to request credentials on the alternate host.
|
||||||
|
Bugzilla->login();
|
||||||
|
- if (attachmentIsPublic($attachment)) {
|
||||||
|
+ if (all_attachments_are_public(\%attachments)) {
|
||||||
|
# No need for a token; redirect to attachment base.
|
||||||
|
print $cgi->redirect(-location => $attachbase . $path);
|
||||||
|
exit;
|
||||||
|
} else {
|
||||||
|
# Make sure the user can view the attachment.
|
||||||
|
- check_can_access($attachment);
|
||||||
|
+ foreach my $field_name (@field_names) {
|
||||||
|
+ check_can_access($attachments{$field_name});
|
||||||
|
+ }
|
||||||
|
# Create a token and redirect.
|
||||||
|
- my $token = url_quote(issue_session_token($attachment->id));
|
||||||
|
+ my $token = url_quote(issue_session_token(pack_token_data(\%attachments)));
|
||||||
|
print $cgi->redirect(-location => $attachbase . "$path&t=$token");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
# No need to validate the token for public attachments. We cannot request
|
||||||
|
# credentials as we are on the alternate host.
|
||||||
|
- if (!attachmentIsPublic($attachment)) {
|
||||||
|
+ if (!all_attachments_are_public(\%attachments)) {
|
||||||
|
my $token = $cgi->param('t');
|
||||||
|
- my ($userid, undef, $token_attach_id) = Bugzilla::Token::GetTokenData($token);
|
||||||
|
- unless ($userid
|
||||||
|
- && detaint_natural($token_attach_id)
|
||||||
|
- && ($token_attach_id == $attachment->id))
|
||||||
|
- {
|
||||||
|
+ my ($userid, undef, $token_data) = Bugzilla::Token::GetTokenData($token);
|
||||||
|
+ my %token_data = unpack_token_data($token_data);
|
||||||
|
+ my $valid_token = 1;
|
||||||
|
+ foreach my $field_name (@field_names) {
|
||||||
|
+ my $token_id = $token_data{$field_name};
|
||||||
|
+ if (!$token_id
|
||||||
|
+ || !detaint_natural($token_id)
|
||||||
|
+ || $attachments{$field_name}->id != $token_id)
|
||||||
|
+ {
|
||||||
|
+ $valid_token = 0;
|
||||||
|
+ last;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ unless ($userid && $valid_token) {
|
||||||
|
# Not a valid token.
|
||||||
|
print $cgi->redirect('-location' => correct_urlbase() . $path);
|
||||||
|
exit;
|
||||||
|
@@ -309,8 +331,48 @@
|
||||||
|
} else {
|
||||||
|
# No alternate host is used. Request credentials if required.
|
||||||
|
Bugzilla->login();
|
||||||
|
- $attachment = validateID();
|
||||||
|
- }
|
||||||
|
+ foreach my $field_name (@field_names) {
|
||||||
|
+ $attachments{$field_name} = validateID($field_name);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return wantarray
|
||||||
|
+ ? map { $attachments{$_} } @field_names
|
||||||
|
+ : $attachments{$field_names[0]};
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+sub all_attachments_are_public {
|
||||||
|
+ my $attachments = shift;
|
||||||
|
+ foreach my $field_name (keys %$attachments) {
|
||||||
|
+ if (!attachmentIsPublic($attachments->{$field_name})) {
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ return 1;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+sub pack_token_data {
|
||||||
|
+ my $attachments = shift;
|
||||||
|
+ return join(' ', map { $_ . '=' . $attachments->{$_}->id } keys %$attachments);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+sub unpack_token_data {
|
||||||
|
+ my @token_data = split(/ /, shift || '');
|
||||||
|
+ my %data;
|
||||||
|
+ foreach my $token (@token_data) {
|
||||||
|
+ my ($field_name, $attach_id) = split('=', $token);
|
||||||
|
+ $data{$field_name} = $attach_id;
|
||||||
|
+ }
|
||||||
|
+ return %data;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+################################################################################
|
||||||
|
+# Functions
|
||||||
|
+################################################################################
|
||||||
|
+
|
||||||
|
+# Display an attachment.
|
||||||
|
+sub view {
|
||||||
|
+ my $attachment = get_attachment();
|
||||||
|
|
||||||
|
# At this point, Bugzilla->login has been called if it had to.
|
||||||
|
my $contenttype = $attachment->contenttype;
|
||||||
|
@@ -345,9 +407,14 @@
|
||||||
|
|
||||||
|
sub interdiff {
|
||||||
|
# Retrieve and validate parameters
|
||||||
|
- my $old_attachment = validateID('oldid');
|
||||||
|
- my $new_attachment = validateID('newid');
|
||||||
|
my $format = validateFormat('html', 'raw');
|
||||||
|
+ my($old_attachment, $new_attachment);
|
||||||
|
+ if ($format eq 'raw') {
|
||||||
|
+ ($old_attachment, $new_attachment) = get_attachment('oldid', 'newid');
|
||||||
|
+ } else {
|
||||||
|
+ $old_attachment = validateID('oldid');
|
||||||
|
+ $new_attachment = validateID('newid');
|
||||||
|
+ }
|
||||||
|
my $context = validateContext();
|
||||||
|
|
||||||
|
Bugzilla::Attachment::PatchReader::process_interdiff(
|
||||||
|
@@ -356,8 +423,8 @@
|
||||||
|
|
||||||
|
sub diff {
|
||||||
|
# Retrieve and validate parameters
|
||||||
|
- my $attachment = validateID();
|
||||||
|
my $format = validateFormat('html', 'raw');
|
||||||
|
+ my $attachment = $format eq 'raw' ? get_attachment() : validateID();
|
||||||
|
my $context = validateContext();
|
||||||
|
|
||||||
|
# If it is not a patch, view normally.
|
||||||
|
|
||||||
|
=== modified file 'contrib/fixperms.pl' (properties changed: -x to +x)
|
||||||
|
=== modified file 'template/en/default/global/user-error.html.tmpl'
|
||||||
|
--- template/en/default/global/user-error.html.tmpl 2010-11-02 23:12:13 +0000
|
||||||
|
+++ template/en/default/global/user-error.html.tmpl 2011-07-07 06:04:15 +0000
|
||||||
|
@@ -102,6 +102,11 @@
|
||||||
|
[% terms.Bug %] aliases cannot be longer than 20 characters.
|
||||||
|
Please choose a shorter alias.
|
||||||
|
|
||||||
|
+ [% ELSIF error == "attachment_bug_id_mismatch" %]
|
||||||
|
+ [% title = "Invalid Attachments" %]
|
||||||
|
+ You tried to perform an action on attachments from different [% terms.bugs %].
|
||||||
|
+ This operation requires all attachments to be from the same [% terms.bug %].
|
||||||
|
+
|
||||||
|
[% ELSIF error == "auth_cant_create_account" %]
|
||||||
|
[% title = "Can't create accounts" %]
|
||||||
|
This site is using an authentication scheme which does not permit
|
||||||
|
|
||||||
28
bugzilla-3.2.10-CVE-2011-2380.patch
Normal file
28
bugzilla-3.2.10-CVE-2011-2380.patch
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
=== modified file 'Bugzilla/Bug.pm'
|
||||||
|
--- Bugzilla/Bug.pm 2010-10-28 15:27:58 +0000
|
||||||
|
+++ Bugzilla/Bug.pm 2011-08-01 21:28:07 +0000
|
||||||
|
@@ -1403,7 +1403,7 @@
|
||||||
|
|| ThrowUserError("invalid_group_ID");
|
||||||
|
|
||||||
|
# This can only happen if somebody hacked the enter_bug form.
|
||||||
|
- ThrowCodeError("inactive_group", { name => $group->name })
|
||||||
|
+ ThrowCodeError("inactive_group", { group_id => $id })
|
||||||
|
unless $group->is_active;
|
||||||
|
|
||||||
|
my $membercontrol = $controls->{$id}
|
||||||
|
|
||||||
|
=== modified file 'template/en/default/global/code-error.html.tmpl'
|
||||||
|
--- template/en/default/global/code-error.html.tmpl 2010-12-30 16:50:29 +0000
|
||||||
|
+++ template/en/default/global/code-error.html.tmpl 2011-08-01 21:29:11 +0000
|
||||||
|
@@ -217,8 +217,8 @@
|
||||||
|
A legal [% field FILTER html %] was not set.
|
||||||
|
|
||||||
|
[% ELSIF error == "inactive_group" %]
|
||||||
|
- Attempted to add [% terms.bug %] to the '[% name FILTER html %]'
|
||||||
|
- group, which is not used for [% terms.bugs %].
|
||||||
|
+ Attempted to add [% terms.abug %] to group ID [% group_id FILTER html %],
|
||||||
|
+ which is not used for [% terms.bugs %].
|
||||||
|
|
||||||
|
[% ELSIF error == "invalid_attach_id_to_obsolete" %]
|
||||||
|
The attachment number of one of the attachments you wanted to obsolete,
|
||||||
|
|
||||||
27
bugzilla-3.2.10-CVE-2011-2381.patch
Normal file
27
bugzilla-3.2.10-CVE-2011-2381.patch
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
=== modified file 'Bugzilla/Template.pm'
|
||||||
|
--- Bugzilla/Template.pm 2011-02-14 21:56:52 +0000
|
||||||
|
+++ Bugzilla/Template.pm 2011-07-06 14:44:21 +0000
|
||||||
|
@@ -549,6 +549,9 @@
|
||||||
|
# as prefix. In addition it replaces a ' ' by a '_'.
|
||||||
|
css_class_quote => \&Bugzilla::Util::css_class_quote ,
|
||||||
|
|
||||||
|
+ # Removes control characters and trims extra whitespace.
|
||||||
|
+ clean_text => \&Bugzilla::Util::clean_text ,
|
||||||
|
+
|
||||||
|
quoteUrls => [ sub {
|
||||||
|
my ($context, $bug) = @_;
|
||||||
|
return sub {
|
||||||
|
|
||||||
|
=== modified file 'template/en/default/request/email.txt.tmpl'
|
||||||
|
--- template/en/default/request/email.txt.tmpl 2009-09-03 19:05:33 +0000
|
||||||
|
+++ template/en/default/request/email.txt.tmpl 2011-07-06 14:43:11 +0000
|
||||||
|
@@ -50,7 +50,7 @@
|
||||||
|
To: [% to %]
|
||||||
|
Subject: [% flag.type.name %] [%+ subject_status %]: [[% terms.Bug %] [%+ bug.bug_id %]] [% bug.short_desc %]
|
||||||
|
[%- IF attachment %] :
|
||||||
|
- [Attachment [% attachment.id %]] [% attachment.description %][% END %]
|
||||||
|
+ [Attachment [% attachment.id %]] [% attachment.description FILTER clean_text %][% END %]
|
||||||
|
X-Bugzilla-Type: request
|
||||||
|
[%+ threadingmarker %]
|
||||||
|
|
||||||
|
|
||||||
96
bugzilla-3.2.10-CVE-2011-2976.patch
Normal file
96
bugzilla-3.2.10-CVE-2011-2976.patch
Normal file
|
|
@ -0,0 +1,96 @@
|
||||||
|
=== modified file 'template/en/default/bug/navigate.html.tmpl'
|
||||||
|
--- template/en/default/bug/navigate.html.tmpl 2008-01-28 01:21:11 +0000
|
||||||
|
+++ template/en/default/bug/navigate.html.tmpl 2011-05-26 19:06:35 +0000
|
||||||
|
@@ -44,22 +44,24 @@
|
||||||
|
[% END %]
|
||||||
|
|
||||||
|
[% IF this_bug_idx != -1 %]
|
||||||
|
- <a href="show_bug.cgi?id=[% bug_list.first %]">First</a>
|
||||||
|
- <a href="show_bug.cgi?id=[% bug_list.last %]">Last</a>
|
||||||
|
+ <a href="show_bug.cgi?id=[% bug_list.first FILTER url_quote %]">First</a>
|
||||||
|
+ <a href="show_bug.cgi?id=[% bug_list.last FILTER url_quote %]">Last</a>
|
||||||
|
[% END %]
|
||||||
|
|
||||||
|
[% IF bug.bug_id %]
|
||||||
|
[% IF this_bug_idx != -1 %]
|
||||||
|
[% IF this_bug_idx > 0 %]
|
||||||
|
[% prev_bug = this_bug_idx - 1 %]
|
||||||
|
- <a href="show_bug.cgi?id=[% bug_list.$prev_bug %]">Prev</a>
|
||||||
|
+ <a href="show_bug.cgi?id=
|
||||||
|
+ [%- bug_list.$prev_bug FILTER url_quote %]">Prev</a>
|
||||||
|
[% ELSE %]
|
||||||
|
<i><font color="#777777">Prev</font></i>
|
||||||
|
[% END %]
|
||||||
|
|
||||||
|
[% IF this_bug_idx + 1 < bug_list.size %]
|
||||||
|
[% next_bug = this_bug_idx + 1 %]
|
||||||
|
- <a href="show_bug.cgi?id=[% bug_list.$next_bug %]">Next</a>
|
||||||
|
+ <a href="show_bug.cgi?id=
|
||||||
|
+ [%- bug_list.$next_bug FILTER url_quote %]">Next</a>
|
||||||
|
[% ELSE %]
|
||||||
|
<i><font color="#777777">Next</font></i>
|
||||||
|
[% END %]
|
||||||
|
|
||||||
|
=== modified file 'template/en/default/filterexceptions.pl'
|
||||||
|
--- template/en/default/filterexceptions.pl 2009-10-26 11:31:52 +0000
|
||||||
|
+++ template/en/default/filterexceptions.pl 2011-05-26 19:15:14 +0000
|
||||||
|
@@ -250,10 +250,6 @@
|
||||||
|
],
|
||||||
|
|
||||||
|
'global/site-navigation.html.tmpl' => [
|
||||||
|
- 'bug_list.first',
|
||||||
|
- 'bug_list.$prev_bug',
|
||||||
|
- 'bug_list.$next_bug',
|
||||||
|
- 'bug_list.last',
|
||||||
|
'bug.bug_id',
|
||||||
|
'bug.votes',
|
||||||
|
],
|
||||||
|
@@ -300,13 +296,6 @@
|
||||||
|
'" spellcheck=\"$spellcheck\"" IF spellcheck',
|
||||||
|
],
|
||||||
|
|
||||||
|
-'bug/navigate.html.tmpl' => [
|
||||||
|
- 'bug_list.first',
|
||||||
|
- 'bug_list.last',
|
||||||
|
- 'bug_list.$prev_bug',
|
||||||
|
- 'bug_list.$next_bug',
|
||||||
|
-],
|
||||||
|
-
|
||||||
|
'bug/show-multiple.html.tmpl' => [
|
||||||
|
'attachment.id',
|
||||||
|
'flag.status',
|
||||||
|
|
||||||
|
=== modified file 'template/en/default/global/site-navigation.html.tmpl'
|
||||||
|
--- template/en/default/global/site-navigation.html.tmpl 2008-08-08 06:26:33 +0000
|
||||||
|
+++ template/en/default/global/site-navigation.html.tmpl 2011-05-26 19:16:12 +0000
|
||||||
|
@@ -36,8 +36,10 @@
|
||||||
|
[% IF bug_list && bug_list.size > 0 %]
|
||||||
|
<link rel="Up" href="buglist.cgi?regetlastlist=1">
|
||||||
|
|
||||||
|
- <link rel="First" href="show_bug.cgi?id=[% bug_list.first %]">
|
||||||
|
- <link rel="Last" href="show_bug.cgi?id=[% bug_list.last %]">
|
||||||
|
+ <link rel="First" href="show_bug.cgi?id=
|
||||||
|
+ [%- bug_list.first FILTER url_quote %]">
|
||||||
|
+ <link rel="Last" href="show_bug.cgi?id=
|
||||||
|
+ [%- bug_list.last FILTER url_quote %]">
|
||||||
|
|
||||||
|
[% IF bug && bug.bug_id %]
|
||||||
|
[% current_bug_idx = lsearch(bug_list, bug.bug_id) %]
|
||||||
|
@@ -45,12 +47,14 @@
|
||||||
|
|
||||||
|
[% IF current_bug_idx > 0 %]
|
||||||
|
[% prev_bug = current_bug_idx - 1 %]
|
||||||
|
- <link rel="Prev" href="show_bug.cgi?id=[% bug_list.$prev_bug %]">
|
||||||
|
+ <link rel="Prev" href="show_bug.cgi?id=
|
||||||
|
+ [%- bug_list.$prev_bug FILTER url_quote %]">
|
||||||
|
[% END %]
|
||||||
|
|
||||||
|
[% IF current_bug_idx + 1 < bug_list.size %]
|
||||||
|
[% next_bug = current_bug_idx + 1 %]
|
||||||
|
- <link rel="Next" href="show_bug.cgi?id=[% bug_list.$next_bug %]">
|
||||||
|
+ <link rel="Next" href="show_bug.cgi?id=
|
||||||
|
+ [%- bug_list.$next_bug FILTER url_quote %]">
|
||||||
|
[% END %]
|
||||||
|
|
||||||
|
[% END %]
|
||||||
|
|
||||||
13
bugzilla-3.2.10-CVE-2011-2978.patch
Normal file
13
bugzilla-3.2.10-CVE-2011-2978.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
=== modified file 'userprefs.cgi'
|
||||||
|
--- userprefs.cgi 2009-02-02 19:21:09 +0000
|
||||||
|
+++ userprefs.cgi 2011-07-22 08:00:33 +0000
|
||||||
|
@@ -120,7 +120,7 @@
|
||||||
|
&& Bugzilla->params->{"allowemailchange"}
|
||||||
|
&& $cgi->param('new_login_name'))
|
||||||
|
{
|
||||||
|
- my $old_login_name = $cgi->param('Bugzilla_login');
|
||||||
|
+ my $old_login_name = $user->login;
|
||||||
|
my $new_login_name = trim($cgi->param('new_login_name'));
|
||||||
|
|
||||||
|
if($old_login_name ne $new_login_name) {
|
||||||
|
|
||||||
29
bugzilla-3.2.10-CVE-2011-3657.patch
Normal file
29
bugzilla-3.2.10-CVE-2011-3657.patch
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
=== modified file 'Bugzilla/Chart.pm'
|
||||||
|
--- Bugzilla/Chart.pm 2010-07-06 00:42:57 +0000
|
||||||
|
+++ Bugzilla/Chart.pm 2011-10-27 13:19:40 +0000
|
||||||
|
@@ -438,7 +438,7 @@
|
||||||
|
|
||||||
|
require Data::Dumper;
|
||||||
|
print "<pre>Bugzilla::Chart object:\n";
|
||||||
|
- print Data::Dumper::Dumper($self);
|
||||||
|
+ print html_quote(Data::Dumper::Dumper($self));
|
||||||
|
print "</pre>";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
=== modified file 'report.cgi'
|
||||||
|
--- report.cgi 2010-12-08 20:14:32 +0000
|
||||||
|
+++ report.cgi 2011-10-27 14:18:52 +0000
|
||||||
|
@@ -293,9 +293,9 @@
|
||||||
|
if ($cgi->param('debug')) {
|
||||||
|
require Data::Dumper;
|
||||||
|
print "<pre>data hash:\n";
|
||||||
|
- print Data::Dumper::Dumper(%data) . "\n\n";
|
||||||
|
+ print html_quote(Data::Dumper::Dumper(%data)) . "\n\n";
|
||||||
|
print "data array:\n";
|
||||||
|
- print Data::Dumper::Dumper(@image_data) . "\n\n</pre>";
|
||||||
|
+ print html_quote(Data::Dumper::Dumper(@image_data)) . "\n\n</pre>";
|
||||||
|
}
|
||||||
|
|
||||||
|
# All formats point to the same section of the documentation.
|
||||||
|
|
||||||
197
bugzilla-3.2.10-CVE-2011-3667.patch
Normal file
197
bugzilla-3.2.10-CVE-2011-3667.patch
Normal file
|
|
@ -0,0 +1,197 @@
|
||||||
|
=== modified file 'Bugzilla/User.pm'
|
||||||
|
--- Bugzilla/User.pm 2011-12-08 23:20:02 +0000
|
||||||
|
+++ Bugzilla/User.pm 2011-12-27 14:59:07 +0000
|
||||||
|
@@ -1852,6 +1852,32 @@
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
+sub check_account_creation_enabled {
|
||||||
|
+ my $self = shift;
|
||||||
|
+
|
||||||
|
+ # If we're using e.g. LDAP for login, then we can't create a new account.
|
||||||
|
+ $self->authorizer->user_can_create_account
|
||||||
|
+ || ThrowUserError('auth_cant_create_account');
|
||||||
|
+
|
||||||
|
+ Bugzilla->params->{'createemailregexp'}
|
||||||
|
+ || ThrowUserError('account_creation_disabled');
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+sub check_and_send_account_creation_confirmation {
|
||||||
|
+ my ($self, $login) = @_;
|
||||||
|
+
|
||||||
|
+ $login = $self->check_login_name_for_creation($login);
|
||||||
|
+ my $creation_regexp = Bugzilla->params->{'createemailregexp'};
|
||||||
|
+
|
||||||
|
+ if ($login !~ /$creation_regexp/i) {
|
||||||
|
+ ThrowUserError('account_creation_restricted');
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ # Create and send a token for this new account.
|
||||||
|
+ require Bugzilla::Token;
|
||||||
|
+ Bugzilla::Token::issue_new_user_account_token($login);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
sub login_to_id {
|
||||||
|
my ($login, $throw_error) = @_;
|
||||||
|
my $dbh = Bugzilla->dbh;
|
||||||
|
@@ -2355,6 +2381,17 @@
|
||||||
|
Takes a username as its only argument. Throws an error if there is no
|
||||||
|
user with that username. Returns a C<Bugzilla::User> object.
|
||||||
|
|
||||||
|
+=item C<check_account_creation_enabled>
|
||||||
|
+
|
||||||
|
+Checks that users can create new user accounts, and throws an error
|
||||||
|
+if user creation is disabled.
|
||||||
|
+
|
||||||
|
+=item C<check_and_send_account_creation_confirmation($login)>
|
||||||
|
+
|
||||||
|
+If the user request for a new account passes validation checks, an email
|
||||||
|
+is sent to this user for confirmation. Otherwise an error is thrown
|
||||||
|
+indicating why the request has been rejected.
|
||||||
|
+
|
||||||
|
=item C<is_available_username>
|
||||||
|
|
||||||
|
Returns a boolean indicating whether or not the supplied username is
|
||||||
|
|
||||||
|
=== modified file 'Bugzilla/WebService/Constants.pm'
|
||||||
|
--- Bugzilla/WebService/Constants.pm 2011-08-04 20:10:54 +0000
|
||||||
|
+++ Bugzilla/WebService/Constants.pm 2011-12-27 15:00:16 +0000
|
||||||
|
@@ -130,6 +130,7 @@
|
||||||
|
# User errors are 500-600.
|
||||||
|
account_exists => 500,
|
||||||
|
illegal_email_address => 501,
|
||||||
|
+ auth_cant_create_account => 501,
|
||||||
|
account_creation_disabled => 501,
|
||||||
|
account_creation_restricted => 501,
|
||||||
|
password_too_short => 502,
|
||||||
|
|
||||||
|
=== modified file 'Bugzilla/WebService/User.pm'
|
||||||
|
--- Bugzilla/WebService/User.pm 2011-02-14 07:42:09 +0000
|
||||||
|
+++ Bugzilla/WebService/User.pm 2011-12-27 15:04:12 +0000
|
||||||
|
@@ -28,7 +28,6 @@
|
||||||
|
use Bugzilla::Error;
|
||||||
|
use Bugzilla::User;
|
||||||
|
use Bugzilla::Util qw(trim);
|
||||||
|
-use Bugzilla::Token;
|
||||||
|
|
||||||
|
# Don't need auth to login
|
||||||
|
use constant LOGIN_EXEMPT => {
|
||||||
|
@@ -91,18 +90,8 @@
|
||||||
|
my $email = trim($params->{email})
|
||||||
|
|| ThrowCodeError('param_required', { param => 'email' });
|
||||||
|
|
||||||
|
- my $createexp = Bugzilla->params->{'createemailregexp'};
|
||||||
|
- if (!$createexp) {
|
||||||
|
- ThrowUserError("account_creation_disabled");
|
||||||
|
- }
|
||||||
|
- elsif ($email !~ /$createexp/) {
|
||||||
|
- ThrowUserError("account_creation_restricted");
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- $email = Bugzilla::User->check_login_name_for_creation($email);
|
||||||
|
-
|
||||||
|
- # Create and send a token for this new account.
|
||||||
|
- Bugzilla::Token::issue_new_user_account_token($email);
|
||||||
|
+ Bugzilla->user->check_account_creation_enabled;
|
||||||
|
+ Bugzilla->user->check_and_send_account_creation_confirmation($email);
|
||||||
|
|
||||||
|
return undef;
|
||||||
|
}
|
||||||
|
@@ -396,15 +385,15 @@
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
-=item 500 (Illegal Email Address)
|
||||||
|
+=item 500 (Account Already Exists)
|
||||||
|
+
|
||||||
|
+An account with that email address already exists in Bugzilla.
|
||||||
|
+
|
||||||
|
+=item 501 (Illegal Email Address)
|
||||||
|
|
||||||
|
This Bugzilla does not allow you to create accounts with the format of
|
||||||
|
email address you specified. Account creation may be entirely disabled.
|
||||||
|
|
||||||
|
-=item 501 (Account Already Exists)
|
||||||
|
-
|
||||||
|
-An account with that email address already exists in Bugzilla.
|
||||||
|
-
|
||||||
|
=back
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=== modified file 'createaccount.cgi'
|
||||||
|
--- createaccount.cgi 2007-11-12 04:03:16 +0000
|
||||||
|
+++ createaccount.cgi 2011-12-27 14:53:38 +0000
|
||||||
|
@@ -31,47 +31,24 @@
|
||||||
|
use Bugzilla;
|
||||||
|
use Bugzilla::Constants;
|
||||||
|
use Bugzilla::Error;
|
||||||
|
-use Bugzilla::User;
|
||||||
|
-use Bugzilla::BugMail;
|
||||||
|
-use Bugzilla::Util;
|
||||||
|
|
||||||
|
# Just in case someone already has an account, let them get the correct footer
|
||||||
|
# on an error message. The user is logged out just after the account is
|
||||||
|
# actually created.
|
||||||
|
-Bugzilla->login(LOGIN_OPTIONAL);
|
||||||
|
-
|
||||||
|
-my $dbh = Bugzilla->dbh;
|
||||||
|
+my $user = Bugzilla->login(LOGIN_OPTIONAL);
|
||||||
|
my $cgi = Bugzilla->cgi;
|
||||||
|
my $template = Bugzilla->template;
|
||||||
|
-my $vars = {};
|
||||||
|
-
|
||||||
|
-$vars->{'doc_section'} = 'myaccount.html';
|
||||||
|
+my $vars = { doc_section => 'myaccount.html' };
|
||||||
|
|
||||||
|
print $cgi->header();
|
||||||
|
|
||||||
|
-# If we're using LDAP for login, then we can't create a new account here.
|
||||||
|
-unless (Bugzilla->user->authorizer->user_can_create_account) {
|
||||||
|
- ThrowUserError("auth_cant_create_account");
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-my $createexp = Bugzilla->params->{'createemailregexp'};
|
||||||
|
-unless ($createexp) {
|
||||||
|
- ThrowUserError("account_creation_disabled");
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
+$user->check_account_creation_enabled;
|
||||||
|
my $login = $cgi->param('login');
|
||||||
|
|
||||||
|
if (defined($login)) {
|
||||||
|
- $login = Bugzilla::User->check_login_name_for_creation($login);
|
||||||
|
+ $user->check_and_send_account_creation_confirmation($login);
|
||||||
|
$vars->{'login'} = $login;
|
||||||
|
|
||||||
|
- if ($login !~ /$createexp/) {
|
||||||
|
- ThrowUserError("account_creation_restricted");
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- # Create and send a token for this new account.
|
||||||
|
- Bugzilla::Token::issue_new_user_account_token($login);
|
||||||
|
-
|
||||||
|
$template->process("account/created.html.tmpl", $vars)
|
||||||
|
|| ThrowTemplateError($template->error());
|
||||||
|
exit;
|
||||||
|
|
||||||
|
=== modified file 'token.cgi'
|
||||||
|
--- token.cgi 2010-05-20 15:38:16 +0000
|
||||||
|
+++ token.cgi 2011-12-27 14:55:57 +0000
|
||||||
|
@@ -341,6 +341,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
sub request_create_account {
|
||||||
|
+ Bugzilla->user->check_account_creation_enabled;
|
||||||
|
my (undef, $date, $login_name) = Bugzilla::Token::GetTokenData($::token);
|
||||||
|
$vars->{'token'} = $::token;
|
||||||
|
$vars->{'email'} = $login_name . Bugzilla->params->{'emailsuffix'};
|
||||||
|
@@ -360,6 +361,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
sub confirm_create_account {
|
||||||
|
+ Bugzilla->user->check_account_creation_enabled;
|
||||||
|
my (undef, undef, $login_name) = Bugzilla::Token::GetTokenData($::token);
|
||||||
|
|
||||||
|
my $password = $cgi->param('passwd1') || '';
|
||||||
|
|
||||||
52
bugzilla-3.2.10-CVE-2012-0448.patch
Normal file
52
bugzilla-3.2.10-CVE-2012-0448.patch
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
diff -Naur Bugzilla/Util.pm Bugzilla/Util.pm
|
||||||
|
--- Bugzilla/Util.pm 2011-01-24 23:07:59.000000000 +0100
|
||||||
|
+++ Bugzilla/Util.pm 2012-02-01 09:17:53.414276564 +0100
|
||||||
|
@@ -559,7 +559,7 @@
|
||||||
|
sub validate_email_syntax {
|
||||||
|
my ($addr) = @_;
|
||||||
|
my $match = Bugzilla->params->{'emailregexp'};
|
||||||
|
- my $ret = ($addr =~ /$match/ && $addr !~ /[\\\(\)<>&,;:"\[\] \t\r\n]/);
|
||||||
|
+ my $ret = ($addr =~ /$match/ && $addr !~ /[\\\(\)<>&,;:"\[\] \t\r\n\P{ASCII}]/);
|
||||||
|
if ($ret) {
|
||||||
|
# We assume these checks to suffice to consider the address untainted.
|
||||||
|
trick_taint($_[0]);
|
||||||
|
diff -Naur editflagtypes.cgi editflagtypes.cgi
|
||||||
|
--- editflagtypes.cgi 2009-02-02 20:01:12.000000000 +0100
|
||||||
|
+++ editflagtypes.cgi 2012-02-01 09:17:53.415276556 +0100
|
||||||
|
@@ -578,7 +578,7 @@
|
||||||
|
# - do not contain any illegal character.
|
||||||
|
foreach my $address (@addresses) {
|
||||||
|
($address =~ /^[\w\.\+\-=]+@[\w\.\-]+\.[\w\-]+$/
|
||||||
|
- && $address !~ /[\\\(\)<>&,;:"\[\] \t\r\n]/)
|
||||||
|
+ && $address !~ /[\\\(\)<>&,;:"\[\] \t\r\n\P{ASCII}]/)
|
||||||
|
|| ThrowUserError('illegal_email_address',
|
||||||
|
{addr => $address, default => 1});
|
||||||
|
}
|
||||||
|
diff -Naur template/en/default/global/code-error.html.tmpl template/en/default/global/code-error.html.tmpl
|
||||||
|
--- template/en/default/global/code-error.html.tmpl 2012-02-01 09:17:00.561730124 +0100
|
||||||
|
+++ template/en/default/global/code-error.html.tmpl 2012-02-01 09:17:53.415276556 +0100
|
||||||
|
@@ -58,8 +58,7 @@
|
||||||
|
[% ELSE %]
|
||||||
|
[%+ Param('emailregexpdesc') %]
|
||||||
|
[% END %]
|
||||||
|
- It must also not contain any of these special characters:
|
||||||
|
- <tt>\ ( ) & < > , ; : " [ ]</tt>, or any whitespace.
|
||||||
|
+ It also must not contain any illegal characters.
|
||||||
|
|
||||||
|
[% ELSIF error == "authres_unhandled" %]
|
||||||
|
The result value of [% value FILTER html %] was not handled by
|
||||||
|
diff -Naur template/en/default/global/user-error.html.tmpl template/en/default/global/user-error.html.tmpl
|
||||||
|
--- template/en/default/global/user-error.html.tmpl 2012-02-01 09:17:00.557730158 +0100
|
||||||
|
+++ template/en/default/global/user-error.html.tmpl 2012-02-01 09:17:53.417276540 +0100
|
||||||
|
@@ -748,9 +748,8 @@
|
||||||
|
[% ELSE %]
|
||||||
|
[%+ Param('emailregexpdesc') %]
|
||||||
|
[% END %]
|
||||||
|
- It must also not contain any of these special characters:
|
||||||
|
- <tt>\ ( ) & < > , ; : " [ ]</tt>, or any whitespace.
|
||||||
|
-
|
||||||
|
+ It also must not contain any illegal characters.
|
||||||
|
+
|
||||||
|
[% ELSIF error == "illegal_frequency" %]
|
||||||
|
[% title = "Too Frequent" %]
|
||||||
|
Unless you are an administrator, you may not create series which are
|
||||||
84
bugzilla-3.2.10-CVE-2012-0466.patch
Normal file
84
bugzilla-3.2.10-CVE-2012-0466.patch
Normal file
|
|
@ -0,0 +1,84 @@
|
||||||
|
=== modified file 'buglist.cgi'
|
||||||
|
--- buglist.cgi 2012-04-17 18:41:05 +0000
|
||||||
|
+++ buglist.cgi 2012-04-18 12:06:08 +0000
|
||||||
|
@@ -112,16 +112,6 @@
|
||||||
|
$cgi->param('ctype', "atom");
|
||||||
|
}
|
||||||
|
|
||||||
|
-# The js ctype presents a security risk; a malicious site could use it
|
||||||
|
-# to gather information about secure bugs. So, we only allow public bugs to be
|
||||||
|
-# retrieved with this format.
|
||||||
|
-#
|
||||||
|
-# Note that if and when this call clears cookies or has other persistent
|
||||||
|
-# effects, we'll need to do this another way instead.
|
||||||
|
-if ((defined $cgi->param('ctype')) && ($cgi->param('ctype') eq "js")) {
|
||||||
|
- Bugzilla->logout_request();
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
# An agent is a program that automatically downloads and extracts data
|
||||||
|
# on its user's behalf. If this request comes from an agent, we turn off
|
||||||
|
# various aspects of bug list functionality so agent requests succeed
|
||||||
|
|
||||||
|
=== modified file 'docs/en/xml/using.xml'
|
||||||
|
--- docs/en/xml/using.xml 2011-01-28 16:30:29 +0000
|
||||||
|
+++ docs/en/xml/using.xml 2012-04-18 12:06:08 +0000
|
||||||
|
@@ -659,16 +659,6 @@
|
||||||
|
</member>
|
||||||
|
</simplelist>
|
||||||
|
</para>
|
||||||
|
-
|
||||||
|
- <para>
|
||||||
|
- If you would like to access the bug list from another program
|
||||||
|
- it is often useful to have the list returned in something other
|
||||||
|
- than HTML. By adding the ctype=type parameter into the bug list URL
|
||||||
|
- you can specify several alternate formats. Besides the types described
|
||||||
|
- above, the following formats are also supported: ECMAScript, also known
|
||||||
|
- as JavaScript (ctype=js), and Resource Description Framework RDF/XML
|
||||||
|
- (ctype=rdf).
|
||||||
|
- </para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="individual-buglists">
|
||||||
|
|
||||||
|
=== removed file 'template/en/default/list/list.js.tmpl'
|
||||||
|
--- template/en/default/list/list.js.tmpl 2007-08-20 23:24:38 +0000
|
||||||
|
+++ template/en/default/list/list.js.tmpl 1970-01-01 00:00:00 +0000
|
||||||
|
@@ -1,37 +0,0 @@
|
||||||
|
-[%# 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): Gervase Markham <gerv@gerv.net>
|
||||||
|
- #%]
|
||||||
|
-
|
||||||
|
-// Note: only publicly-accessible bugs (those not in any group) will be
|
||||||
|
-// listed when using this JavaScript format. This is to prevent malicious
|
||||||
|
-// sites stealing information about secure bugs.
|
||||||
|
-
|
||||||
|
-bugs = new Array;
|
||||||
|
-
|
||||||
|
-[% FOREACH bug = bugs %]
|
||||||
|
- bugs[[% bug.bug_id %]] = [
|
||||||
|
- [% FOREACH column = displaycolumns %]
|
||||||
|
- "[%- bug.$column FILTER js -%]"[% "," UNLESS loop.last %]
|
||||||
|
- [% END %]
|
||||||
|
- ];
|
||||||
|
-[% END %]
|
||||||
|
-
|
||||||
|
-if (window.buglistCallback) {
|
||||||
|
- buglistCallback(bugs);
|
||||||
|
-}
|
||||||
|
|
||||||
24
bugzilla-EL5-perl-versions.patch
Normal file
24
bugzilla-EL5-perl-versions.patch
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
diff -ruNp a/bugzilla-3.2.4/Bugzilla/Constants.pm b/bugzilla-3.2.4/Bugzilla/Constants.pm
|
||||||
|
--- a/bugzilla-3.2.4/Bugzilla/Constants.pm 2009-07-08 10:58:27.000000000 -0300
|
||||||
|
+++ b/bugzilla-3.2.4/Bugzilla/Constants.pm 2009-08-04 00:37:30.852896189 -0300
|
||||||
|
@@ -387,7 +387,7 @@ use constant DB_MODULE => {
|
||||||
|
# Disallow development versions
|
||||||
|
blacklist => ['_'],
|
||||||
|
# For UTF-8 support
|
||||||
|
- version => '4.00',
|
||||||
|
+ version => '3.00',
|
||||||
|
},
|
||||||
|
name => 'MySQL'},
|
||||||
|
'pg' => {db => 'Bugzilla::DB::Pg', db_version => '8.00.0000',
|
||||||
|
diff -ruNp a/bugzilla-3.2.4/Bugzilla/Install/Requirements.pm b/bugzilla-3.2.4/Bugzilla/Install/Requirements.pm
|
||||||
|
--- a/bugzilla-3.2.4/Bugzilla/Install/Requirements.pm 2009-04-17 18:53:49.000000000 -0300
|
||||||
|
+++ b/bugzilla-3.2.4/Bugzilla/Install/Requirements.pm 2009-08-04 00:38:23.376893996 -0300
|
||||||
|
@@ -62,7 +62,7 @@ sub REQUIRED_MODULES {
|
||||||
|
# Perl 5.10 requires CGI 3.33 due to a taint issue when
|
||||||
|
# uploading attachments, see bug 416382.
|
||||||
|
# Require CGI 3.21 for -httponly support, see bug 368502.
|
||||||
|
- version => (vers_cmp($perl_ver, '5.10') > -1) ? '3.33' : '3.21',
|
||||||
|
+ version => (vers_cmp($perl_ver, '5.10') > -1) ? '3.15' : '3.15',
|
||||||
|
# CGI::Carp in 3.46 and 3.47 breaks Template Toolkit
|
||||||
|
blacklist => ['^3\.46$', '^3\.47$'],
|
||||||
|
},
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
|
Alias /bugzilla/var/lib/bugzilla/data/webdot /var/lib/bugzilla/data/webdot
|
||||||
Alias /bugzilla /usr/share/bugzilla
|
Alias /bugzilla /usr/share/bugzilla
|
||||||
|
|
||||||
<Directory /usr/share/bugzilla>
|
<Directory /usr/share/bugzilla>
|
||||||
AddHandler cgi-script .cgi
|
AddHandler cgi-script .cgi
|
||||||
Options +Indexes +ExecCGI +FollowSymLinks
|
Options +Indexes +ExecCGI +FollowSymLinks
|
||||||
DirectoryIndex index.cgi
|
DirectoryIndex index.cgi index.html
|
||||||
AllowOverride Limit Options FileInfo
|
AllowOverride Limit Options FileInfo
|
||||||
|
AddType application/vnd.mozilla.xul+xml .xul
|
||||||
|
AddType application/rdf+xml .rdf
|
||||||
</Directory>
|
</Directory>
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@
|
||||||
+ 'datadir' => "/var/lib/bugzilla/$datadir",
|
+ 'datadir' => "/var/lib/bugzilla/$datadir",
|
||||||
+ 'attachdir' => "/var/lib/bugzilla/$datadir/attachments",
|
+ 'attachdir' => "/var/lib/bugzilla/$datadir/attachments",
|
||||||
'skinsdir' => "$libpath/skins",
|
'skinsdir' => "$libpath/skins",
|
||||||
|
'graphsdir' => "$libpath/graphs",
|
||||||
# $webdotdir must be in the web server's tree somewhere. Even if you use a
|
# $webdotdir must be in the web server's tree somewhere. Even if you use a
|
||||||
# local dot, we output images to there. Also, if $webdotdir is
|
|
||||||
@@ -475,8 +475,8 @@
|
@@ -475,8 +475,8 @@
|
||||||
# change showdependencygraph.cgi to set image_url to the correct
|
# change showdependencygraph.cgi to set image_url to the correct
|
||||||
# location.
|
# location.
|
||||||
|
|
|
||||||
|
|
@ -4,18 +4,37 @@
|
||||||
Summary: Bug tracking system
|
Summary: Bug tracking system
|
||||||
URL: http://www.bugzilla.org/
|
URL: http://www.bugzilla.org/
|
||||||
Name: bugzilla
|
Name: bugzilla
|
||||||
Version: 3.2.3
|
Version: 3.2.10
|
||||||
Group: Applications/Publishing
|
Group: Applications/Publishing
|
||||||
Release: 1%{?dist}
|
Release: 5%{?dist}
|
||||||
License: MPLv1.1
|
License: MPLv1.1
|
||||||
Source0: http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-%{version}.tar.gz
|
Source0: http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-%{version}.tar.gz
|
||||||
Source1: bugzilla-httpd-conf
|
Source1: bugzilla-httpd-conf
|
||||||
Source2: README.fedora.bugzilla
|
Source2: README.fedora.bugzilla
|
||||||
Patch0: bugzilla-rw-paths.patch
|
Patch0: bugzilla-rw-paths.patch
|
||||||
|
Patch1: bugzilla-EL5-perl-versions.patch
|
||||||
|
Patch2: bugzilla-3.2.10-CVE-2011-2379.patch
|
||||||
|
Patch3: bugzilla-3.2.10-CVE-2011-2380.patch
|
||||||
|
Patch4: bugzilla-3.2.10-CVE-2011-2381.patch
|
||||||
|
Patch5: bugzilla-3.2.10-CVE-2011-2976.patch
|
||||||
|
Patch6: bugzilla-3.2.10-CVE-2011-2978.patch
|
||||||
|
Patch7: bugzilla-3.2.10-CVE-2011-3657.patch
|
||||||
|
Patch8: bugzilla-3.2.10-CVE-2011-3667.patch
|
||||||
|
Patch9: bugzilla-3.2.10-CVE-2012-0448.patch
|
||||||
|
Patch10: bugzilla-3.2.10-CVE-2012-0466.patch
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
Requires: webserver, patchutils, mod_perl, perl(SOAP::Lite), which
|
Requires: webserver, patchutils, mod_perl, perl(SOAP::Lite), which
|
||||||
|
Requires: perl(CGI) >= 3.33
|
||||||
|
Requires: perl(Date::Format) >= 2.21
|
||||||
|
Requires: perl(File::Spec) >= 0.84
|
||||||
|
Requires: perl(DBI) >= 1.41
|
||||||
|
Requires: perl(Template) >= 2.15
|
||||||
|
Requires: perl(Email::Send) >= 2.00
|
||||||
|
Requires: perl(Email::MIME) >= 1.859
|
||||||
|
Requires: perl(Email::MIME::Encodings) >= 1.313
|
||||||
|
Requires: perl(Email::MIME::Modifier) >= 1.441
|
||||||
|
|
||||||
%package doc
|
%package doc
|
||||||
Summary: Bugzilla documentation
|
Summary: Bugzilla documentation
|
||||||
|
|
@ -39,8 +58,19 @@ Documentation distributed with the Bugzilla bug tracking system
|
||||||
Contributed scripts and functions for Bugzilla
|
Contributed scripts and functions for Bugzilla
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
|
set -x
|
||||||
%setup -q -n %{name}-%{version}
|
%setup -q -n %{name}-%{version}
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
|
%patch1 -p2
|
||||||
|
%patch2 -p0
|
||||||
|
%patch3 -p0
|
||||||
|
%patch4 -p0
|
||||||
|
%patch5 -p0
|
||||||
|
%patch6 -p0
|
||||||
|
%patch7 -p0
|
||||||
|
%patch8 -p0
|
||||||
|
%patch9 -p0
|
||||||
|
%patch10 -p0
|
||||||
|
|
||||||
# Filter unwanted Requires found by /usr/lib/rpm/perldeps.pl:
|
# Filter unwanted Requires found by /usr/lib/rpm/perldeps.pl:
|
||||||
# create a wrapper script which runs the original perl_requires
|
# create a wrapper script which runs the original perl_requires
|
||||||
|
|
@ -77,6 +107,8 @@ for file in `find -type f -perm /664`; do
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Remove un-needed files
|
||||||
|
find . -name "*.orig" -delete
|
||||||
|
|
||||||
%install
|
%install
|
||||||
mkdir -p ${RPM_BUILD_ROOT}/%{bzinstallprefix}/bugzilla
|
mkdir -p ${RPM_BUILD_ROOT}/%{bzinstallprefix}/bugzilla
|
||||||
|
|
@ -88,7 +120,7 @@ cd %{bzinstallprefix}/bugzilla
|
||||||
./collectstats.pl
|
./collectstats.pl
|
||||||
EOM
|
EOM
|
||||||
echo "0-59/15 * * * * apache cd %{bzinstallprefix}/bugzilla && env LANG=C %{bzinstallprefix}/bugzilla/whine.pl" > ${RPM_BUILD_ROOT}/%{bzinstallprefix}/bugzilla/cron.whine
|
echo "0-59/15 * * * * apache cd %{bzinstallprefix}/bugzilla && env LANG=C %{bzinstallprefix}/bugzilla/whine.pl" > ${RPM_BUILD_ROOT}/%{bzinstallprefix}/bugzilla/cron.whine
|
||||||
rm -f ${RPM_BUILD_ROOT}/%{bzinstallprefix}/bugzilla/{README,QUICKSTART,UPGRADING,UPGRADING-pre-2.8}
|
rm -f ${RPM_BUILD_ROOT}/%{bzinstallprefix}/bugzilla/README
|
||||||
mkdir -p ${RPM_BUILD_ROOT}/%{_datadir}/doc/%{name}-%{version}
|
mkdir -p ${RPM_BUILD_ROOT}/%{_datadir}/doc/%{name}-%{version}
|
||||||
cp %{SOURCE2} ./README.fedora
|
cp %{SOURCE2} ./README.fedora
|
||||||
mkdir -p ${RPM_BUILD_ROOT}/%{bzdatadir}
|
mkdir -p ${RPM_BUILD_ROOT}/%{bzdatadir}
|
||||||
|
|
@ -104,7 +136,7 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||||
popd > /dev/null)
|
popd > /dev/null)
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,apache,-)
|
||||||
%dir %{bzinstallprefix}/bugzilla
|
%dir %{bzinstallprefix}/bugzilla
|
||||||
%{bzinstallprefix}/bugzilla/*.cgi
|
%{bzinstallprefix}/bugzilla/*.cgi
|
||||||
%{bzinstallprefix}/bugzilla/*.pl
|
%{bzinstallprefix}/bugzilla/*.pl
|
||||||
|
|
@ -126,9 +158,6 @@ popd > /dev/null)
|
||||||
%config(noreplace) %{_sysconfdir}/httpd/conf.d/bugzilla.conf
|
%config(noreplace) %{_sysconfdir}/httpd/conf.d/bugzilla.conf
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%doc README
|
%doc README
|
||||||
%doc QUICKSTART
|
|
||||||
%doc UPGRADING
|
|
||||||
%doc UPGRADING-pre-2.8
|
|
||||||
%doc README.fedora
|
%doc README.fedora
|
||||||
%dir %{bzdatadir}
|
%dir %{bzdatadir}
|
||||||
%defattr(0750,root,apache,-)
|
%defattr(0750,root,apache,-)
|
||||||
|
|
@ -143,6 +172,45 @@ popd > /dev/null)
|
||||||
%{bzinstallprefix}/bugzilla/contrib
|
%{bzinstallprefix}/bugzilla/contrib
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Apr 20 2012 Xavier Bachelot <xavier@bachelot.org> - 3.2.10-5
|
||||||
|
- Add patch for CVE-2012-0466.
|
||||||
|
- Drop version requirement downgrade for perl(Email::MIME) and
|
||||||
|
perl(Email::MIME::Modifier).
|
||||||
|
|
||||||
|
* Wed Feb 01 2012 Xavier Bachelot <xavier@bachelot.org> - 3.2.10-4
|
||||||
|
- Add patch for CVE-2012-0448.
|
||||||
|
|
||||||
|
* Thu Dec 29 2011 Xavier Bachelot <xavier@bachelot.org> - 3.2.10-3
|
||||||
|
- Add patches for CVE-2011-3657 and CVE-2011-3667.
|
||||||
|
|
||||||
|
* Thu Sep 15 2011 Xavier Bachelot <xavier@bachelot.org> - 3.2.10-2
|
||||||
|
- Add patches for CVE-2011-2379, CVE-2011-2380, CVE-2011-2381, CVE-2011-2978
|
||||||
|
and CVE-2011-2976.
|
||||||
|
- Fix httpd conf (RHBZ#736579, RHBZ #736584).
|
||||||
|
- Fix typo in doc (RHBZ#736581).
|
||||||
|
- Fix files ownership (RHBZ#736583).
|
||||||
|
|
||||||
|
* Tue May 03 2011 Xavier Bachelot <xavier@bachelot.org> - 3.2.10-1
|
||||||
|
- Update to 3.2.10 for CVE-2010-4411, CVE-2010-4567, CVE-2010-4568,
|
||||||
|
CVE-2010-4569, CVE-2010-4570, CVE-2010-4572, CVE-2011-0046, CVE-2011-0048)
|
||||||
|
|
||||||
|
* Tue Feb 02 2010 Emmanuel Seyman <emmanuel.seyman@club-internet.fr> - 3.2.6-2
|
||||||
|
- Use Linux requirements, not Windows'
|
||||||
|
|
||||||
|
* Mon Feb 01 2010 Emmanuel Seyman <emmanuel.seyman@club-internet.fr> - 3.2.6-1
|
||||||
|
- Update to 3.2.6 (CVE-2009-3989, CVE-2009-3387)
|
||||||
|
- Specify Perl module versions in the Requires (fixes #524309)
|
||||||
|
- Add an alias to make $webdotdir a working path (fixes #458848)
|
||||||
|
|
||||||
|
* Fri Sep 11 2009 Emmanuel Seyman <emmanuel.seyman@club-internet.fr> - 3.2.5-1
|
||||||
|
- Update to 3.2.5 (CVE-2009-3125, CVE-2009-3165 and CVE-2009-3166)
|
||||||
|
|
||||||
|
* Tue Aug 04 2009 Itamar Reis Peixoto <itamar@ispbrasil.com.br> - 3.2.4-2
|
||||||
|
- fix EL-5 perl dependencies bz#515158
|
||||||
|
|
||||||
|
* Wed Jul 08 2009 Itamar Reis Peixoto <itamar@ispbrasil.com.br> - 3.2.4-1
|
||||||
|
- fix https://bugzilla.mozilla.org/show_bug.cgi?id=495257
|
||||||
|
|
||||||
* Mon Apr 06 2009 Itamar Reis Peixoto <itamar@ispbrasil.com.br> 3.2.3-1
|
* Mon Apr 06 2009 Itamar Reis Peixoto <itamar@ispbrasil.com.br> 3.2.3-1
|
||||||
- fix CVE-2009-1213
|
- fix CVE-2009-1213
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
bugzilla-3_0_8-1_fc11:HEAD:bugzilla-3.0.8-1.fc11.src.rpm:1235878106
|
|
||||||
bugzilla-3_2_2-2_fc10:HEAD:bugzilla-3.2.2-2.fc10.src.rpm:1236265998
|
|
||||||
bugzilla-3_2_3-1_fc11:HEAD:bugzilla-3.2.3-1.fc11.src.rpm:1239059931
|
|
||||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
||||||
fcc8f64fec821e76718fbda13e232b59 bugzilla-3.2.3.tar.gz
|
dd9d8e142f5e8d5a352fb87a9afebc48 bugzilla-3.2.10.tar.gz
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue