From: jocuri%softhome.net <> Date: Fri, 23 Apr 2004 04:15:28 +0000 (+0000) Subject: Patch for bug 240004: limit the password generation subroutine to nice characters... X-Git-Tag: bugzilla-2.18rc1~81 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=157983e86e5698ce042322da147b3b3b311cf8a1;p=thirdparty%2Fbugzilla.git Patch for bug 240004: limit the password generation subroutine to nice characters only; patch by Paul Wallingford ; r=vladd; a=justdave. --- diff --git a/globals.pl b/globals.pl index 1963ca6c3a..c3c8f2a967 100644 --- a/globals.pl +++ b/globals.pl @@ -426,28 +426,8 @@ sub InsertNewUser { } sub GenerateRandomPassword { - my ($size) = @_; - - # Generated passwords are eight characters long by default. - $size ||= 8; - - # The list of characters that can appear in a randomly generated password. - # Note that users can put any character into a password they choose - # themselves. - my @pwchars = (0..9, 'A'..'Z', 'a'..'z', '-', '_', '!', '@', '#', '$', - '%', '^', '*'); - - # The number of characters in the list. - my $pwcharslen = scalar(@pwchars); - - # Generate the password. - my $password = ""; - for ( my $i=0 ; $i<$size ; $i++ ) { - $password .= $pwchars[rand($pwcharslen)]; - } - - # Return the password. - return $password; + 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)); } #