Commit 8ad97973 authored by Per Cederqvist's avatar Per Cederqvist
Browse files

Imported Bugzilla 3.2.10.

parent 7ed1b434
6403
\ No newline at end of file
6416
\ No newline at end of file
/PatchReader.pm/1.5.2.1/Sun Jun 29 17:38:03 2008//TBUGZILLA-3_2_9
/PatchReader.pm/1.5.2.1/Sun Jun 29 17:38:03 2008//TBUGZILLA-3_2_10
D
/Login.pm/1.1/Fri May 12 02:41:05 2006//TBUGZILLA-3_2_9
/Verify.pm/1.7/Wed May 23 18:05:49 2007//TBUGZILLA-3_2_9
/Login.pm/1.1/Fri May 12 02:41:05 2006//TBUGZILLA-3_2_10
/Verify.pm/1.7/Wed May 23 18:05:49 2007//TBUGZILLA-3_2_10
D/Login////
D/Persist////
D/Verify////
NBUGZILLA-3_2_9
NBUGZILLA-3_2_10
/CGI.pm/1.8.2.4/Sat Oct 4 20:04:50 2008//TBUGZILLA-3_2_9
/Cookie.pm/1.5/Wed Jul 5 23:42:47 2006//TBUGZILLA-3_2_9
/Env.pm/1.4/Mon Jul 3 21:42:46 2006//TBUGZILLA-3_2_9
/Stack.pm/1.1/Fri May 12 02:41:06 2006//TBUGZILLA-3_2_9
/CGI.pm/1.8.2.4/Sat Oct 4 20:04:50 2008//TBUGZILLA-3_2_10
/Cookie.pm/1.5/Wed Jul 5 23:42:47 2006//TBUGZILLA-3_2_10
/Env.pm/1.4/Mon Jul 3 21:42:46 2006//TBUGZILLA-3_2_10
/Stack.pm/1.1/Fri May 12 02:41:06 2006//TBUGZILLA-3_2_10
D
/Cookie.pm/1.5.4.3/Tue Jan 20 20:10:08 2009//TBUGZILLA-3_2_9
/Cookie.pm/1.5.4.3/Tue Jan 20 20:10:08 2009//TBUGZILLA-3_2_10
D
/DB.pm/1.7.4.1/Fri Sep 12 15:12:20 2008//TBUGZILLA-3_2_9
/LDAP.pm/1.17.2.1/Mon Oct 20 18:37:38 2008//TBUGZILLA-3_2_9
/RADIUS.pm/1.1/Thu Aug 2 22:38:37 2007//TBUGZILLA-3_2_9
/Stack.pm/1.1/Fri May 12 02:41:14 2006//TBUGZILLA-3_2_9
/DB.pm/1.7.4.1/Fri Sep 12 15:12:20 2008//TBUGZILLA-3_2_10
/LDAP.pm/1.17.2.1/Mon Oct 20 18:37:38 2008//TBUGZILLA-3_2_10
/RADIUS.pm/1.1/Thu Aug 2 22:38:37 2007//TBUGZILLA-3_2_10
/Stack.pm/1.1/Fri May 12 02:41:14 2006//TBUGZILLA-3_2_10
D
/.cvsignore/1.1/Mon Aug 26 22:24:55 2002//TBUGZILLA-3_2_9
/Attachment.pm/1.56/Mon Feb 4 13:29:29 2008//TBUGZILLA-3_2_9
/Auth.pm/1.20.4.1/Tue Jan 20 20:10:06 2009//TBUGZILLA-3_2_9
/Bug.pm/1.241.2.22/Wed Jul 8 13:56:51 2009//TBUGZILLA-3_2_9
/BugMail.pm/1.118.2.3/Mon Dec 29 00:35:57 2008//TBUGZILLA-3_2_9
/CGI.pm/1.36.2.6/Tue Nov 2 23:37:45 2010//TBUGZILLA-3_2_9
/Chart.pm/1.16/Fri Oct 19 06:46:14 2007//TBUGZILLA-3_2_9
/Classification.pm/1.11/Tue Dec 19 08:38:49 2006//TBUGZILLA-3_2_9
/Component.pm/1.16/Thu Oct 11 23:07:22 2007//TBUGZILLA-3_2_9
/Config.pm/1.74.2.1/Wed Dec 24 19:08:58 2008//TBUGZILLA-3_2_9
/Constants.pm/1.92.2.29/Wed Nov 3 00:48:52 2010//TBUGZILLA-3_2_9
/DB.pm/1.112.2.2/Fri Oct 17 13:36:01 2008//TBUGZILLA-3_2_9
/Error.pm/1.23.2.1/Tue May 27 22:11:56 2008//TBUGZILLA-3_2_9
/Field.pm/1.31/Mon Feb 25 16:06:25 2008//TBUGZILLA-3_2_9
/Flag.pm/1.95.2.2/Wed Aug 27 20:50:23 2008//TBUGZILLA-3_2_9
/FlagType.pm/1.38.2.1/Wed Sep 17 03:57:05 2008//TBUGZILLA-3_2_9
/Group.pm/1.22.2.1/Wed Jul 22 19:33:29 2009//TBUGZILLA-3_2_9
/Hook.pm/1.14.2.7/Thu Dec 18 17:19:26 2008//TBUGZILLA-3_2_9
/Install.pm/1.17/Wed Nov 28 16:35:57 2007//TBUGZILLA-3_2_9
/Keyword.pm/1.7/Tue Sep 5 19:18:26 2006//TBUGZILLA-3_2_9
/Mailer.pm/1.20.2.4/Sun Feb 22 00:45:22 2009//TBUGZILLA-3_2_9
/Milestone.pm/1.12/Fri Jan 18 15:56:54 2008//TBUGZILLA-3_2_9
/Object.pm/1.23.2.2/Wed Aug 4 22:22:01 2010//TBUGZILLA-3_2_9
/Product.pm/1.26.2.2/Wed Aug 4 22:04:01 2010//TBUGZILLA-3_2_9
/Search.pm/1.159.2.8/Wed Aug 4 21:51:48 2010//TBUGZILLA-3_2_9
/Series.pm/1.16.2.1/Fri Aug 22 15:36:22 2008//TBUGZILLA-3_2_9
/Status.pm/1.7/Tue Feb 12 01:32:51 2008//TBUGZILLA-3_2_9
/Template.pm/1.89.2.4/Wed Aug 4 22:22:01 2010//TBUGZILLA-3_2_9
/Token.pm/1.55.2.2/Mon Feb 9 19:20:40 2009//TBUGZILLA-3_2_9
/Update.pm/1.10/Fri May 2 19:14:13 2008//TBUGZILLA-3_2_9
/User.pm/1.164.2.5/Thu May 21 08:47:20 2009//TBUGZILLA-3_2_9
/Util.pm/1.69.2.9/Fri Mar 6 14:43:40 2009//TBUGZILLA-3_2_9
/Version.pm/1.14/Thu Aug 23 21:31:20 2007//TBUGZILLA-3_2_9
/WebService.pm/1.9.2.4/Wed Nov 26 01:24:14 2008//TBUGZILLA-3_2_9
/.cvsignore/1.1/Mon Aug 26 22:24:55 2002//TBUGZILLA-3_2_10
/Attachment.pm/1.56/Mon Feb 4 13:29:29 2008//TBUGZILLA-3_2_10
/Auth.pm/1.20.4.1/Tue Jan 20 20:10:06 2009//TBUGZILLA-3_2_10
/Bug.pm/1.241.2.22/Wed Jul 8 13:56:51 2009//TBUGZILLA-3_2_10
/BugMail.pm/1.118.2.3/Mon Dec 29 00:35:57 2008//TBUGZILLA-3_2_10
/CGI.pm/1.36.2.6/Tue Nov 2 23:37:45 2010//TBUGZILLA-3_2_10
/Chart.pm/1.16/Fri Oct 19 06:46:14 2007//TBUGZILLA-3_2_10
/Classification.pm/1.11/Tue Dec 19 08:38:49 2006//TBUGZILLA-3_2_10
/Component.pm/1.16/Thu Oct 11 23:07:22 2007//TBUGZILLA-3_2_10
/Config.pm/1.74.2.1/Wed Dec 24 19:08:58 2008//TBUGZILLA-3_2_10
/Constants.pm/1.92.2.31/Mon Jan 24 23:48:03 2011//TBUGZILLA-3_2_10
/DB.pm/1.112.2.2/Fri Oct 17 13:36:01 2008//TBUGZILLA-3_2_10
/Error.pm/1.23.2.1/Tue May 27 22:11:56 2008//TBUGZILLA-3_2_10
/Field.pm/1.31/Mon Feb 25 16:06:25 2008//TBUGZILLA-3_2_10
/Flag.pm/1.95.2.2/Wed Aug 27 20:50:23 2008//TBUGZILLA-3_2_10
/FlagType.pm/1.38.2.1/Wed Sep 17 03:57:05 2008//TBUGZILLA-3_2_10
/Group.pm/1.22.2.1/Wed Jul 22 19:33:29 2009//TBUGZILLA-3_2_10
/Hook.pm/1.14.2.7/Thu Dec 18 17:19:26 2008//TBUGZILLA-3_2_10
/Install.pm/1.17/Wed Nov 28 16:35:57 2007//TBUGZILLA-3_2_10
/Keyword.pm/1.7/Tue Sep 5 19:18:26 2006//TBUGZILLA-3_2_10
/Mailer.pm/1.20.2.4/Sun Feb 22 00:45:22 2009//TBUGZILLA-3_2_10
/Milestone.pm/1.12/Fri Jan 18 15:56:54 2008//TBUGZILLA-3_2_10
/Object.pm/1.23.2.2/Wed Aug 4 22:22:01 2010//TBUGZILLA-3_2_10
/Product.pm/1.26.2.2/Wed Aug 4 22:04:01 2010//TBUGZILLA-3_2_10
/Search.pm/1.159.2.8/Wed Aug 4 21:51:48 2010//TBUGZILLA-3_2_10
/Series.pm/1.16.2.1/Fri Aug 22 15:36:22 2008//TBUGZILLA-3_2_10
/Status.pm/1.7/Tue Feb 12 01:32:51 2008//TBUGZILLA-3_2_10
/Template.pm/1.89.2.5/Mon Jan 24 18:53:58 2011//TBUGZILLA-3_2_10
/Token.pm/1.55.2.2/Mon Feb 9 19:20:40 2009//TBUGZILLA-3_2_10
/Update.pm/1.10/Fri May 2 19:14:13 2008//TBUGZILLA-3_2_10
/User.pm/1.164.2.5/Thu May 21 08:47:20 2009//TBUGZILLA-3_2_10
/Util.pm/1.69.2.10/Mon Jan 24 22:07:59 2011//TBUGZILLA-3_2_10
/Version.pm/1.14/Thu Aug 23 21:31:20 2007//TBUGZILLA-3_2_10
/WebService.pm/1.9.2.4/Wed Nov 26 01:24:14 2008//TBUGZILLA-3_2_10
D/Attachment////
D/Auth////
D/Config////
......
NBUGZILLA-3_2_9
NBUGZILLA-3_2_10
/Admin.pm/1.2/Thu Oct 13 09:04:04 2005//TBUGZILLA-3_2_9
/Attachment.pm/1.3.4.3/Mon Mar 2 01:23:09 2009//TBUGZILLA-3_2_9
/Auth.pm/1.3/Thu Aug 2 22:38:39 2007//TBUGZILLA-3_2_9
/BugChange.pm/1.5/Tue Oct 9 10:34:54 2007//TBUGZILLA-3_2_9
/BugFields.pm/1.5/Mon Sep 10 22:57:00 2007//TBUGZILLA-3_2_9
/BugMove.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_2_9
/Common.pm/1.21.2.1/Mon Mar 2 01:23:09 2009//TBUGZILLA-3_2_9
/Core.pm/1.9/Thu Apr 3 19:05:37 2008//TBUGZILLA-3_2_9
/DependencyGraph.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_2_9
/GroupSecurity.pm/1.8/Mon Aug 7 23:05:00 2006//TBUGZILLA-3_2_9
/LDAP.pm/1.2/Fri Jun 2 11:52:48 2006//TBUGZILLA-3_2_9
/MTA.pm/1.16/Fri Mar 14 00:05:35 2008//TBUGZILLA-3_2_9
/PatchViewer.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_2_9
/Query.pm/1.5/Tue Jul 3 16:22:01 2007//TBUGZILLA-3_2_9
/RADIUS.pm/1.1/Thu Aug 2 22:38:39 2007//TBUGZILLA-3_2_9
/ShadowDB.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_2_9
/UserMatch.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_2_9
/Admin.pm/1.2/Thu Oct 13 09:04:04 2005//TBUGZILLA-3_2_10
/Attachment.pm/1.3.4.3/Mon Mar 2 01:23:09 2009//TBUGZILLA-3_2_10
/Auth.pm/1.3/Thu Aug 2 22:38:39 2007//TBUGZILLA-3_2_10
/BugChange.pm/1.5/Tue Oct 9 10:34:54 2007//TBUGZILLA-3_2_10
/BugFields.pm/1.5/Mon Sep 10 22:57:00 2007//TBUGZILLA-3_2_10
/BugMove.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_2_10
/Common.pm/1.21.2.1/Mon Mar 2 01:23:09 2009//TBUGZILLA-3_2_10
/Core.pm/1.9/Thu Apr 3 19:05:37 2008//TBUGZILLA-3_2_10
/DependencyGraph.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_2_10
/GroupSecurity.pm/1.8/Mon Aug 7 23:05:00 2006//TBUGZILLA-3_2_10
/LDAP.pm/1.2/Fri Jun 2 11:52:48 2006//TBUGZILLA-3_2_10
/MTA.pm/1.16/Fri Mar 14 00:05:35 2008//TBUGZILLA-3_2_10
/PatchViewer.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_2_10
/Query.pm/1.5/Tue Jul 3 16:22:01 2007//TBUGZILLA-3_2_10
/RADIUS.pm/1.1/Thu Aug 2 22:38:39 2007//TBUGZILLA-3_2_10
/ShadowDB.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_2_10
/UserMatch.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_2_10
D
NBUGZILLA-3_2_9
NBUGZILLA-3_2_10
......@@ -160,7 +160,7 @@ use File::Basename;
# CONSTANTS
#
# Bugzilla version
use constant BUGZILLA_VERSION => "3.2.9";
use constant BUGZILLA_VERSION => "3.2.10";
# These are unique values that are unlikely to match a string or a number,
# to be used in criteria for match() functions and other things. They start
......
/Mysql.pm/1.60.2.9/Sun Sep 20 22:34:33 2009//TBUGZILLA-3_2_9
/Oracle.pm/1.6.2.8/Tue Oct 21 23:30:47 2008//TBUGZILLA-3_2_9
/Pg.pm/1.27/Mon Mar 24 22:47:24 2008//TBUGZILLA-3_2_9
/Schema.pm/1.99.2.1/Wed Nov 5 17:13:09 2008//TBUGZILLA-3_2_9
/Mysql.pm/1.60.2.9/Sun Sep 20 22:34:33 2009//TBUGZILLA-3_2_10
/Oracle.pm/1.6.2.8/Tue Oct 21 23:30:47 2008//TBUGZILLA-3_2_10
/Pg.pm/1.27/Mon Mar 24 22:47:24 2008//TBUGZILLA-3_2_10
/Schema.pm/1.99.2.1/Wed Nov 5 17:13:09 2008//TBUGZILLA-3_2_10
D/Schema////
NBUGZILLA-3_2_9
NBUGZILLA-3_2_10
/Mysql.pm/1.20/Mon Mar 24 22:47:25 2008//TBUGZILLA-3_2_9
/Oracle.pm/1.5.2.3/Wed Nov 5 17:13:11 2008//TBUGZILLA-3_2_9
/Pg.pm/1.15/Tue Dec 11 02:26:49 2007//TBUGZILLA-3_2_9
/Mysql.pm/1.20/Mon Mar 24 22:47:25 2008//TBUGZILLA-3_2_10
/Oracle.pm/1.5.2.3/Wed Nov 5 17:13:11 2008//TBUGZILLA-3_2_10
/Pg.pm/1.15/Tue Dec 11 02:26:49 2007//TBUGZILLA-3_2_10
D
NBUGZILLA-3_2_9
NBUGZILLA-3_2_10
/CPAN.pm/1.2/Sun Dec 23 05:43:44 2007//TBUGZILLA-3_2_9
/DB.pm/1.51.2.3/Mon Mar 2 01:23:11 2009//TBUGZILLA-3_2_9
/Filesystem.pm/1.29.2.4/Tue Nov 2 23:23:20 2010//TBUGZILLA-3_2_9
/Localconfig.pm/1.12.2.2/Tue Feb 3 09:59:48 2009//TBUGZILLA-3_2_9
/Requirements.pm/1.47.2.10/Fri Sep 11 16:58:49 2009//TBUGZILLA-3_2_9
/Util.pm/1.14.2.2/Sat Dec 6 19:52:48 2008//TBUGZILLA-3_2_9
/CPAN.pm/1.2/Sun Dec 23 05:43:44 2007//TBUGZILLA-3_2_10
/DB.pm/1.51.2.3/Mon Mar 2 01:23:11 2009//TBUGZILLA-3_2_10
/Filesystem.pm/1.29.2.4/Tue Nov 2 23:23:20 2010//TBUGZILLA-3_2_10
/Localconfig.pm/1.12.2.5/Mon Jan 24 22:07:59 2011//TBUGZILLA-3_2_10
/Requirements.pm/1.47.2.13/Mon Jan 24 22:07:59 2011//TBUGZILLA-3_2_10
/Util.pm/1.14.2.2/Sat Dec 6 19:52:48 2008//TBUGZILLA-3_2_10
D
NBUGZILLA-3_2_9
NBUGZILLA-3_2_10
......@@ -188,7 +188,9 @@ EOT
},
{
name => 'site_wide_secret',
default => sub { generate_random_password(256) },
# 64 characters is roughly the equivalent of a 384-bit key, which
# is larger than anybody would ever be able to brute-force.
default => sub { generate_random_password(64) },
desc => <<EOT
# This secret key is used by your installation for the creation and
# validation of encrypted tokens to prevent unsolicited changes,
......@@ -295,7 +297,14 @@ sub update_localconfig {
my @new_vars;
foreach my $var (LOCALCONFIG_VARS) {
my $name = $var->{name};
if (!defined $localconfig->{$name}) {
my $value = $localconfig->{$name};
# Regenerate site_wide_secret if it was made by our old, weak
# generate_random_password. Previously we used to generate
# a 256-character string for site_wide_secret.
$value = undef if ($name eq 'site_wide_secret' and defined $value
and length($value) == 256);
if (!defined $value) {
push(@new_vars, $name);
$var->{default} = &{$var->{default}} if ref($var->{default}) eq 'CODE';
$localconfig->{$name} = $answer->{$name} || $var->{default};
......@@ -342,6 +351,18 @@ EOT
["*$var->{name}"]);
}
}
# When updating site_wide_secret to the new value, don't
# leave the old value behind.
if (grep { $_ eq 'site_wide_secret' } @new_vars) {
my $read = new IO::File($filename, '<') || die "$filename: $!";
my $text;
{ local $/; $text = <$read> }
$read->close;
$text =~ s/^\$site_wide_secret = '\w{256}';$//ms;
my $write = new IO::File($filename, '>') || die "$filename: $!";
print $write $text;
$write->close;
}
my $newstuff = join(', ', @new_vars);
print <<EOT;
......
......@@ -243,6 +243,21 @@ sub OPTIONAL_MODULES {
version => '1.999022',
feature => 'mod_perl'
},
{
package => 'CGI.pm',
module => 'CGI',
# 3.51 fixes a security problem that affects Bugzilla.
# (bug 591165)
version => '3.51',
feature => 'Recommended important security fix'
},
{
package => 'Math-Random-Secure',
module => 'Math::Random::Secure',
version => '0.05',
feature => 'Improve cookie and token security',
},
);
my $all_modules = _get_extension_requirements(
......
/Quicksearch.pm/1.20.2.3/Wed Apr 29 00:31:36 2009//TBUGZILLA-3_2_9
/Saved.pm/1.7.2.1/Sat Nov 8 19:03:33 2008//TBUGZILLA-3_2_9
/Quicksearch.pm/1.20.2.3/Wed Apr 29 00:31:36 2009//TBUGZILLA-3_2_10
/Saved.pm/1.7.2.1/Sat Nov 8 19:03:33 2008//TBUGZILLA-3_2_10
D
NBUGZILLA-3_2_9
NBUGZILLA-3_2_10
......@@ -746,6 +746,19 @@ sub create {
return $docs_urlbase;
},
# Check whether the URL is safe.
'is_safe_url' => sub {
my $url = shift;
return 0 unless $url;
my $safe_protocols = join('|', SAFE_PROTOCOLS);
return 1 if $url =~ /^($safe_protocols):[^\s<>\"]+[\w\/]$/i;
# Pointing to a local file with no colon in its name is fine.
return 1 if $url =~ /^[^\s<>\":]+[\w\/]$/i;
# If we come here, then we cannot guarantee it's safe.
return 0;
},
# Allow templates to generate a token themselves.
'issue_hash_token' => \&Bugzilla::Token::issue_hash_token,
......
/Parser.pm/1.1/Wed Feb 13 22:40:10 2008//TBUGZILLA-3_2_9
/Parser.pm/1.1/Wed Feb 13 22:40:10 2008//TBUGZILLA-3_2_10
D/Plugin////
NBUGZILLA-3_2_9
NBUGZILLA-3_2_10
/Bugzilla.pm/1.2/Fri Feb 7 07:19:15 2003//TBUGZILLA-3_2_9
/Hook.pm/1.10.2.2/Mon Oct 6 16:32:39 2008//TBUGZILLA-3_2_9
/User.pm/1.1/Wed Aug 4 18:08:21 2004//TBUGZILLA-3_2_9
/Bugzilla.pm/1.2/Fri Feb 7 07:19:15 2003//TBUGZILLA-3_2_10
/Hook.pm/1.10.2.2/Mon Oct 6 16:32:39 2008//TBUGZILLA-3_2_10
/User.pm/1.1/Wed Aug 4 18:08:21 2004//TBUGZILLA-3_2_10
D
/Setting.pm/1.12.2.1/Fri Sep 5 23:03:03 2008//TBUGZILLA-3_2_9
/Setting.pm/1.12.2.1/Fri Sep 5 23:03:03 2008//TBUGZILLA-3_2_10
D/Setting////
NBUGZILLA-3_2_9
NBUGZILLA-3_2_10
/Lang.pm/1.1/Tue Aug 21 20:47:54 2007//TBUGZILLA-3_2_9
/Skin.pm/1.4/Tue Aug 14 21:54:34 2007//TBUGZILLA-3_2_9
/Lang.pm/1.1/Tue Aug 21 20:47:54 2007//TBUGZILLA-3_2_10
/Skin.pm/1.4/Tue Aug 14 21:54:34 2007//TBUGZILLA-3_2_10
D
......@@ -504,9 +504,56 @@ sub bz_crypt {
return $cryptedpassword;
}
# If you want to understand the security of strings generated by this
# function, here's a quick formula that will help you estimate:
# We pick from 62 characters, which is close to 64, which is 2^6.
# So 8 characters is (2^6)^8 == 2^48 combinations. Just multiply 6
# by the number of characters you generate, and that gets you the equivalent
# strength of the string in bits.
sub generate_random_password {
my $size = shift || 10; # default to 10 chars if nothing specified
return join("", map{ ('0'..'9','a'..'z','A'..'Z')[rand 62] } (1..$size));
my $rand;
if (eval { require Math::Random::Secure; 1; }) {
$rand = \&Math::Random::Secure::irand;
}
else {
# For details on why this block works the way it does, see bug 619594.
# (Note that we don't do this if Math::Random::Secure is installed,
# because we don't need to.)
my $counter = 0;
$rand = sub {
# If we regenerate the seed every 5 characters, our seed is roughly
# as strong (in terms of bit size) as our randomly-generated
# string itself.
_do_srand() if ($counter % 5) == 0;
$counter++;
return int(rand $_[0]);
};
}
return join("", map{ ('0'..'9','a'..'z','A'..'Z')[$rand->(62)] }
(1..$size));
}
sub _do_srand {
# On Windows, calling srand over and over in the same process produces
# very bad results. We need a stronger seed.
if (ON_WINDOWS) {
require Win32;
# GuidGen generates random data via Windows's CryptGenRandom
# interface, which is documented as being cryptographically secure.
my $guid = Win32::GuidGen();
# GUIDs look like:
# {09531CF1-D0C7-4860-840C-1C8C8735E2AD}
$guid =~ s/[-{}]+//g;
# Get a 32-bit integer using the first eight hex digits.
my $seed = hex(substr($guid, 0, 8));
srand($seed);
return;
}
# On *nix-like platforms, this uses /dev/urandom, so the seed changes
# enough on every invocation.
srand();
}
sub validate_email_syntax {
......
/Bug.pm/1.11.2.3/Wed Nov 26 01:24:15 2008//TBUGZILLA-3_2_9
/Bugzilla.pm/1.7.2.1/Wed Nov 26 01:24:15 2008//TBUGZILLA-3_2_9
/Constants.pm/1.16.2.2/Fri Sep 11 16:15:53 2009//TBUGZILLA-3_2_9
/Product.pm/1.4.4.2/Wed Nov 26 01:24:15 2008//TBUGZILLA-3_2_9
/User.pm/1.6.2.2/Wed Nov 26 01:24:15 2008//TBUGZILLA-3_2_9
/Bug.pm/1.11.2.3/Wed Nov 26 01:24:15 2008//TBUGZILLA-3_2_10
/Bugzilla.pm/1.7.2.1/Wed Nov 26 01:24:15 2008//TBUGZILLA-3_2_10
/Constants.pm/1.16.2.2/Fri Sep 11 16:15:53 2009//TBUGZILLA-3_2_10
/Product.pm/1.4.4.2/Wed Nov 26 01:24:15 2008//TBUGZILLA-3_2_10
/User.pm/1.6.2.2/Wed Nov 26 01:24:15 2008//TBUGZILLA-3_2_10
D
/.bzrignore/1.1.4.3/Thu Feb 4 21:52:51 2010//TBUGZILLA-3_2_9
/.bzrrev/1.5.4.33/Wed Nov 3 00:48:52 2010//TBUGZILLA-3_2_9
/.cvsignore/1.8/Fri Oct 19 07:58:48 2007//TBUGZILLA-3_2_9
/Bugzilla.pm/1.65.2.4/Wed Aug 4 21:52:53 2010//TBUGZILLA-3_2_9
/README/1.52.16.1/Wed Jul 29 08:27:51 2009//TBUGZILLA-3_2_9
/admin.cgi/1.2/Fri Oct 19 06:46:10 2007//TBUGZILLA-3_2_9
/attachment.cgi/1.144.2.6/Wed Apr 15 09:48:31 2009//TBUGZILLA-3_2_9
/buglist.cgi/1.374.2.10/Sun Jul 19 12:03:35 2009//TBUGZILLA-3_2_9
/bugzilla.dtd/1.15/Sat Jan 6 23:51:56 2007//TBUGZILLA-3_2_9
/chart.cgi/1.26.2.1/Thu Jan 15 01:16:04 2009//TBUGZILLA-3_2_9
/checksetup.pl/1.557.2.2/Tue Sep 2 05:48:09 2008//TBUGZILLA-3_2_9
/colchange.cgi/1.62.2.3/Tue Jul 14 04:01:27 2009//TBUGZILLA-3_2_9
/collectstats.pl/1.64.2.3/Tue Nov 2 23:23:19 2010//TBUGZILLA-3_2_9
/config.cgi/1.29/Sun Apr 20 09:49:44 2008//TBUGZILLA-3_2_9
/createaccount.cgi/1.57/Sun Nov 11 22:03:16 2007//TBUGZILLA-3_2_9
/describecomponents.cgi/1.38.2.1/Thu May 21 08:47:19 2009//TBUGZILLA-3_2_9
/describekeywords.cgi/1.21/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_9
/duplicates.cgi/1.61.2.1/Wed Aug 4 22:04:01 2010//TBUGZILLA-3_2_9
/duplicates.xul/1.2/Thu Oct 21 19:02:28 2004//TBUGZILLA-3_2_9
/editclassifications.cgi/1.30/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_2_9
/editcomponents.cgi/1.86/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_2_9
/editfields.cgi/1.9/Wed Feb 6 16:15:34 2008//TBUGZILLA-3_2_9
/editflagtypes.cgi/1.53.2.1/Mon Feb 2 19:01:12 2009//TBUGZILLA-3_2_9
/editgroups.cgi/1.88/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_2_9
/editkeywords.cgi/1.45.2.1/Mon Feb 2 19:01:12 2009//TBUGZILLA-3_2_9
/editmilestones.cgi/1.62/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_2_9
/editparams.cgi/1.48.2.1/Fri Aug 22 16:02:45 2008//TBUGZILLA-3_2_9
/editproducts.cgi/1.142.2.3/Wed Jul 1 11:06:34 2009//TBUGZILLA-3_2_9
/editsettings.cgi/1.11/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_2_9
/editusers.cgi/1.146.2.2/Fri Nov 21 21:55:57 2008//TBUGZILLA-3_2_9
/editvalues.cgi/1.30.2.1/Tue Dec 16 21:24:03 2008//TBUGZILLA-3_2_9
/editversions.cgi/1.58/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_2_9
/editwhines.cgi/1.21.2.1/Wed Aug 27 00:53:21 2008//TBUGZILLA-3_2_9
/editworkflow.cgi/1.5.2.1/Wed Jul 2 19:14:19 2008//TBUGZILLA-3_2_9
/email_in.pl/1.19.2.4/Tue Apr 28 20:28:05 2009//TBUGZILLA-3_2_9
/enter_bug.cgi/1.160.2.6/Wed Feb 11 20:58:46 2009//TBUGZILLA-3_2_9
/importxml.pl/1.82.2.5/Thu Feb 19 22:52:47 2009//TBUGZILLA-3_2_9
/index.cgi/1.24.2.3/Mon Aug 18 03:57:38 2008//TBUGZILLA-3_2_9
/install-module.pl/1.2.2.2/Sat Jul 25 02:07:55 2009//TBUGZILLA-3_2_9
/long_list.cgi/1.48/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_9
/mod_perl.pl/1.10.2.1/Thu Feb 12 19:17:23 2009//TBUGZILLA-3_2_9
/page.cgi/1.20/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_9
/post_bug.cgi/1.196.2.1/Wed Sep 17 23:55:41 2008//TBUGZILLA-3_2_9
/process_bug.cgi/1.410.2.3/Wed Jul 1 11:06:34 2009//TBUGZILLA-3_2_9
/query.cgi/1.181.2.1/Tue Jul 14 04:01:27 2009//TBUGZILLA-3_2_9
/quips.cgi/1.38.2.1/Wed Nov 5 18:41:33 2008//TBUGZILLA-3_2_9
/relogin.cgi/1.41.2.1/Wed Aug 4 21:52:53 2010//TBUGZILLA-3_2_9
/report.cgi/1.41.2.1/Thu Jan 15 01:16:04 2009//TBUGZILLA-3_2_9
/reports.cgi/1.93.2.2/Tue Nov 2 23:23:19 2010//TBUGZILLA-3_2_9
/request.cgi/1.46.2.1/Wed Aug 4 22:04:01 2010//TBUGZILLA-3_2_9
/robots.txt/1.2/Wed Apr 24 18:11:00 2002//TBUGZILLA-3_2_9
/runtests.pl/1.5/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_9
/sanitycheck.cgi/1.140.2.5/Sat Jul 18 17:07:04 2009//TBUGZILLA-3_2_9
/sanitycheck.pl/1.3/Thu Jan 31 12:00:19 2008//TBUGZILLA-3_2_9
/search_plugin.cgi/1.3/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_9
/show_activity.cgi/1.24/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_9
/show_bug.cgi/1.53.2.2/Thu Feb 5 18:38:32 2009//TBUGZILLA-3_2_9
/showattachment.cgi/1.16/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_9
/showdependencygraph.cgi/1.65.2.1/Tue Oct 7 19:52:53 2008//TBUGZILLA-3_2_9
/showdependencytree.cgi/1.52/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_9
/sidebar.cgi/1.19/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_9
/summarize_time.cgi/1.23/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_9
/testagent.cgi/1.3/Sun Feb 11 00:12:24 2007//TBUGZILLA-3_2_9
/testserver.pl/1.18/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_9
/token.cgi/1.54.2.3/Mon Aug 18 03:57:38 2008//TBUGZILLA-3_2_9
/userprefs.cgi/1.120.2.2/Mon Feb 2 19:22:55 2009//TBUGZILLA-3_2_9
/votes.cgi/1.55.2.1/Wed Jul 1 11:06:35 2009//TBUGZILLA-3_2_9
/whine.pl/1.37/Wed Apr 2 17:42:26 2008//TBUGZILLA-3_2_9
/whineatnews.pl/1.31/Wed Apr 2 17:42:26 2008//TBUGZILLA-3_2_9
/xml.cgi/1.14/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_9
/xmlrpc.cgi/1.6.2.4/Wed Aug 27 01:55:39 2008//TBUGZILLA-3_2_9
/.bzrignore/1.1.4.3/Thu Feb 4 21:52:51 2010//TBUGZILLA-3_2_10
/.bzrrev/1.5.4.46/Mon Jan 24 23:48:03 2011//TBUGZILLA-3_2_10
/.cvsignore/1.8/Fri Oct 19 07:58:48 2007//TBUGZILLA-3_2_10
/Bugzilla.pm/1.65.2.4/Wed Aug 4 21:52:53 2010//TBUGZILLA-3_2_10
/README/1.52.16.1/Wed Jul 29 08:27:51 2009//TBUGZILLA-3_2_10
/admin.cgi/1.2/Fri Oct 19 06:46:10 2007//TBUGZILLA-3_2_10
/attachment.cgi/1.144.2.6/Wed Apr 15 09:48:31 2009//TBUGZILLA-3_2_10
/buglist.cgi/1.374.2.10/Sun Jul 19 12:03:35 2009//TBUGZILLA-3_2_10
/bugzilla.dtd/1.15/Sat Jan 6 23:51:56 2007//TBUGZILLA-3_2_10
/chart.cgi/1.26.2.3/Mon Jan 24 18:31:15 2011//TBUGZILLA-3_2_10
/checksetup.pl/1.557.2.2/Tue Sep 2 05:48:09 2008//TBUGZILLA-3_2_10
/colchange.cgi/1.62.2.3/Tue Jul 14 04:01:27 2009//TBUGZILLA-3_2_10
/collectstats.pl/1.64.2.3/Tue Nov 2 23:23:19 2010//TBUGZILLA-3_2_10
/config.cgi/1.29/Sun Apr 20 09:49:44 2008//TBUGZILLA-3_2_10
/createaccount.cgi/1.57/Sun Nov 11 22:03:16 2007//TBUGZILLA-3_2_10
/describecomponents.cgi/1.38.2.1/Thu May 21 08:47:19 2009//TBUGZILLA-3_2_10
/describekeywords.cgi/1.21/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_10
/duplicates.cgi/1.61.2.1/Wed Aug 4 22:04:01 2010//TBUGZILLA-3_2_10
/duplicates.xul/1.2/Thu Oct 21 19:02:28 2004//TBUGZILLA-3_2_10
/editclassifications.cgi/1.30/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_2_10
/editcomponents.cgi/1.86/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_2_10
/editfields.cgi/1.9/Wed Feb 6 16:15:34 2008//TBUGZILLA-3_2_10
/editflagtypes.cgi/1.53.2.1/Mon Feb 2 19:01:12 2009//TBUGZILLA-3_2_10
/editgroups.cgi/1.88/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_2_10
/editkeywords.cgi/1.45.2.1/Mon Feb 2 19:01:12 2009//TBUGZILLA-3_2_10
/editmilestones.cgi/1.62/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_2_10
/editparams.cgi/1.48.2.1/Fri Aug 22 16:02:45 2008//TBUGZILLA-3_2_10
/editproducts.cgi/1.142.2.3/Wed Jul 1 11:06:34 2009//TBUGZILLA-3_2_10
/editsettings.cgi/1.11/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_2_10
/editusers.cgi/1.146.2.2/Fri Nov 21 21:55:57 2008//TBUGZILLA-3_2_10
/editvalues.cgi/1.30.2.1/Tue Dec 16 21:24:03 2008//TBUGZILLA-3_2_10
/editversions.cgi/1.58/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_2_10
/editwhines.cgi/1.21.2.1/Wed Aug 27 00:53:21 2008//TBUGZILLA-3_2_10
/editworkflow.cgi/1.5.2.1/Wed Jul 2 19:14:19 2008//TBUGZILLA-3_2_10
/email_in.pl/1.19.2.4/Tue Apr 28 20:28:05 2009//TBUGZILLA-3_2_10
/enter_bug.cgi/1.160.2.6/Wed Feb 11 20:58:46 2009//TBUGZILLA-3_2_10
/importxml.pl/1.82.2.5/Thu Feb 19 22:52:47 2009//TBUGZILLA-3_2_10
/index.cgi/1.24.2.3/Mon Aug 18 03:57:38 2008//TBUGZILLA-3_2_10
/install-module.pl/1.2.2.2/Sat Jul 25 02:07:55 2009//TBUGZILLA-3_2_10
/long_list.cgi/1.48/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_10
/mod_perl.pl/1.10.2.2/Mon Jan 24 22:07:58 2011//TBUGZILLA-3_2_10
/page.cgi/1.20/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_10
/post_bug.cgi/1.196.2.1/Wed Sep 17 23:55:41 2008//TBUGZILLA-3_2_10
/process_bug.cgi/1.410.2.3/Wed Jul 1 11:06:34 2009//TBUGZILLA-3_2_10
/query.cgi/1.181.2.1/Tue Jul 14 04:01:27 2009//TBUGZILLA-3_2_10
/quips.cgi/1.38.2.2/Mon Jan 24 17:38:24 2011//TBUGZILLA-3_2_10
/relogin.cgi/1.41.2.1/Wed Aug 4 21:52:53 2010//TBUGZILLA-3_2_10
/report.cgi/1.41.2.1/Thu Jan 15 01:16:04 2009//TBUGZILLA-3_2_10
/reports.cgi/1.93.2.2/Tue Nov 2 23:23:19 2010//TBUGZILLA-3_2_10
/request.cgi/1.46.2.1/Wed Aug 4 22:04:01 2010//TBUGZILLA-3_2_10
/robots.txt/1.2/Wed Apr 24 18:11:00 2002//TBUGZILLA-3_2_10
/runtests.pl/1.5/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_10
/sanitycheck.cgi/1.140.2.5/Sat Jul 18 17:07:04 2009//TBUGZILLA-3_2_10
/sanitycheck.pl/1.3/Thu Jan 31 12:00:19 2008//TBUGZILLA-3_2_10
/search_plugin.cgi/1.3/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_10
/show_activity.cgi/1.24/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_10
/show_bug.cgi/1.53.2.2/Thu Feb 5 18:38:32 2009//TBUGZILLA-3_2_10
/showattachment.cgi/1.16/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_10
/showdependencygraph.cgi/1.65.2.1/Tue Oct 7 19:52:53 2008//TBUGZILLA-3_2_10
/showdependencytree.cgi/1.52/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_10
/sidebar.cgi/1.19/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_10
/summarize_time.cgi/1.23/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_10
/testagent.cgi/1.3/Sun Feb 11 00:12:24 2007//TBUGZILLA-3_2_10
/testserver.pl/1.18/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_10
/token.cgi/1.54.2.3/Mon Aug 18 03:57:38 2008//TBUGZILLA-3_2_10
/userprefs.cgi/1.120.2.2/Mon Feb 2 19:22:55 2009//TBUGZILLA-3_2_10
/votes.cgi/1.55.2.2/Mon Jan 24 19:53:25 2011//TBUGZILLA-3_2_10
/whine.pl/1.37/Wed Apr 2 17:42:26 2008//TBUGZILLA-3_2_10
/whineatnews.pl/1.31/Wed Apr 2 17:42:26 2008//TBUGZILLA-3_2_10
/xml.cgi/1.14/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_2_10
/xmlrpc.cgi/1.6.2.4/Wed Aug 27 01:55:39 2008//TBUGZILLA-3_2_10
D/Bugzilla////
D/contrib////
D/docs////
......
NBUGZILLA-3_2_9
NBUGZILLA-3_2_10
......@@ -52,6 +52,7 @@ use Bugzilla::Util;
use Bugzilla::Chart;