diff options
author | lpsolit%gmail.com <> | 2005-09-02 06:39:20 +0200 |
---|---|---|
committer | lpsolit%gmail.com <> | 2005-09-02 06:39:20 +0200 |
commit | de1f16178dcae2d517e849e45ee77fd3d636005c (patch) | |
tree | 757461a665f72fa131a8662b2daaff8999b84aa9 | |
parent | 7ce67eec4fb2c17ee3621b1aad2f99295ed4649f (diff) | |
download | bugzilla-de1f16178dcae2d517e849e45ee77fd3d636005c.tar.gz bugzilla-de1f16178dcae2d517e849e45ee77fd3d636005c.tar.xz |
Bug 304582: Move GenerateRandomPassword() out of globals.pl - Patch by Frédéric Buclin <LpSolit@gmail.com> r=joel a=myk
-rw-r--r-- | Bugzilla/Token.pm | 4 | ||||
-rw-r--r-- | Bugzilla/User.pm | 2 | ||||
-rw-r--r-- | Bugzilla/Util.pm | 16 | ||||
-rw-r--r-- | globals.pl | 5 |
4 files changed, 18 insertions, 9 deletions
diff --git a/Bugzilla/Token.pm b/Bugzilla/Token.pm index a198dda3f..1cf51a332 100644 --- a/Bugzilla/Token.pm +++ b/Bugzilla/Token.pm @@ -150,7 +150,7 @@ sub CleanTokenTable { } sub GenerateUniqueToken { - # Generates a unique random token. Uses &GenerateRandomPassword + # Generates a unique random token. Uses generate_random_password # for the tokens themselves and checks uniqueness by searching for # the token in the "tokens" table. Gives up if it can't come up # with a token after about one hundred tries. @@ -167,7 +167,7 @@ sub GenerateUniqueToken { if ($tries > 100) { ThrowCodeError("token_generation_error"); } - $token = &::GenerateRandomPassword(); + $token = generate_random_password(); $sth->execute($token); $duplicate = $sth->fetchrow_array; } diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index dfe207d7b..87f894752 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -1153,7 +1153,7 @@ sub insert_new_user { $disabledtext ||= ''; # If not specified, generate a new random password for the user. - $password ||= &::GenerateRandomPassword(); + $password ||= generate_random_password(); my $cryptpassword = bz_crypt($password); # XXX - These should be moved into is_available_username or validate_email_syntax diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm index f5084e02c..3a9d6dae7 100644 --- a/Bugzilla/Util.pm +++ b/Bugzilla/Util.pm @@ -23,6 +23,7 @@ # Bradley Baetz <bbaetz@student.usyd.edu.au> # Christopher Aillon <christopher@aillon.com> # Max Kanat-Alexander <mkanat@bugzilla.org> +# Frédéric Buclin <LpSolit@gmail.com> package Bugzilla::Util; @@ -40,7 +41,8 @@ use base qw(Exporter); perform_substs format_time format_time_decimal validate_date file_mod_time is_7bit_clean - bz_crypt validate_email_syntax); + bz_crypt generate_random_password + validate_email_syntax); use Bugzilla::Config; use Bugzilla::Constants; @@ -356,6 +358,11 @@ sub bz_crypt { return $cryptedpassword; } +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)); +} + sub validate_email_syntax { my ($addr) = @_; my $match = Param('emailregexp'); @@ -435,6 +442,7 @@ Bugzilla::Util - Generic utility functions for bugzilla # Cryptographic Functions $crypted_password = bz_crypt($password); + $new_password = generate_random_password($password_length); # Validation Functions validate_email_syntax($email); @@ -689,6 +697,12 @@ characters of the password to anyone who views the encrypted version. =end undocumented +=item C<generate_random_password($password_length)> + +Returns an alphanumeric string with the specified length +(10 characters by default). Use this function to generate passwords +and tokens. + =back =head2 Validation diff --git a/globals.pl b/globals.pl index ae0a54260..7f3d9dd13 100644 --- a/globals.pl +++ b/globals.pl @@ -341,11 +341,6 @@ sub GetVersionTable { $::VersionTableLoaded = 1; } -sub GenerateRandomPassword { - my $size = (shift or 10); # default to 10 chars if nothing specified - return join("", map{ ('0'..'9','a'..'z','A'..'Z')[rand 62] } (1..$size)); -} - # # This function checks if there are any entry groups defined. # If called with no arguments, it identifies |