From: lpsolit%gmail.com <> Date: Wed, 22 Feb 2006 00:19:57 +0000 (+0000) Subject: Bug 327355: Email preferences are not set correctly when the user account is created... X-Git-Tag: bugzilla-2.20.2~57 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2d642a6de9064d38bcaca2c16a38b57bcd103437;p=thirdparty%2Fbugzilla.git Bug 327355: Email preferences are not set correctly when the user account is created by Env.pm - Patch by Frédéric Buclin r=joel a=justdave --- diff --git a/Bugzilla/Auth/Login/WWW/Env.pm b/Bugzilla/Auth/Login/WWW/Env.pm index 39bea28dfd..105444ef00 100644 --- a/Bugzilla/Auth/Login/WWW/Env.pm +++ b/Bugzilla/Auth/Login/WWW/Env.pm @@ -26,6 +26,7 @@ use strict; use Bugzilla::Config; use Bugzilla::Error; use Bugzilla::Util; +use Bugzilla::User; sub login { my ($class, $type) = @_; @@ -116,12 +117,9 @@ sub login { # Need to create a new user with that email address. Note # that cryptpassword has been filled in with '*', since the # user has no DB password. - $sth = $dbh->prepare("INSERT INTO profiles ( " . - "login_name, cryptpassword, " . - "realname, disabledtext " . - ") VALUES ( ?, ?, ?, '' )"); - $sth->execute($env_email, '*', $env_realname); - $matched_userid = $dbh->bz_last_key('profiles', 'userid'); + insert_new_user($env_email, $env_realname, '*'); + my $new_user = Bugzilla::User->new_from_login($env_email); + $matched_userid = $new_user->id; } } } diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index 909511ca24..7f2bff4c53 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -1194,8 +1194,10 @@ sub insert_new_user ($$;$$) { $disabledtext ||= ''; # If not specified, generate a new random password for the user. + # If the password is '*', do not encrypt it; we are creating a user + # based on the ENV auth method. $password ||= &::GenerateRandomPassword(); - my $cryptpassword = bz_crypt($password); + my $cryptpassword = ($password ne '*') ? bz_crypt($password) : $password; # XXX - These should be moved into ValidateNewUser or CheckEmailSyntax # At the least, they shouldn't be here. They're safe for now, though.