]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 304582: Move GenerateRandomPassword() out of globals.pl - Patch by Frédéric Bucli...
authorlpsolit%gmail.com <>
Fri, 2 Sep 2005 04:39:20 +0000 (04:39 +0000)
committerlpsolit%gmail.com <>
Fri, 2 Sep 2005 04:39:20 +0000 (04:39 +0000)
Bugzilla/Token.pm
Bugzilla/User.pm
Bugzilla/Util.pm
globals.pl

index a198dda3fbc4c55b9cdd420299557b9cf4711a64..1cf51a33215ff8fc902da2259b0b24ae21e169c9 100644 (file)
@@ -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;
     }
index dfe207d7b6bc4a5c763b02f50559f2dd4758be46..87f894752ae332a772defde434488e380bcd49ea 100644 (file)
@@ -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
index f5084e02c6d2798f8c7c1c208d963fb8578e9ad2..3a9d6dae7c9f8c9c0201e1bbe1ebeb48d219cad0 100644 (file)
@@ -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
index ae0a5426085e3edfe2bdc897dbd3fec296368512..7f3d9dd13e3dd979c1d72ef3b667317f95149b89 100644 (file)
@@ -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