From: lpsolit%gmail.com <> Date: Wed, 22 Feb 2006 00:15:41 +0000 (+0000) Subject: Bug 327355: Email preferences are not set correctly when the user account is created... X-Git-Tag: bugzilla-2.22~77 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8366433bfaa7d3a05af0283793f71b8e12a76f37;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 64487884c0..f1f72ca30d 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) = @_; @@ -117,12 +118,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; $new_login_name = $matched_userid; } } diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index 19c45cbed9..7288ab30e8 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -1304,8 +1304,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 ||= generate_random_password(); - my $cryptpassword = bz_crypt($password); + my $cryptpassword = ($password ne '*') ? bz_crypt($password) : $password; # XXX - These should be moved into is_available_username or validate_email_syntax # At the least, they shouldn't be here. They're safe for now, though.