FCLT#56977 expired wachtwoord moet bij een upgrade van het wachtwoord nog steeds expired blijven.
svn path=/Website/branches/v2019.1/; revision=41667
This commit is contained in:
@@ -489,12 +489,12 @@ function testpassword(prs_key, wachtwoord, pmobile)
|
||||
}
|
||||
}
|
||||
if (workfactor != S("prs_password_hash_factor"))
|
||||
setpassword(prs_key, wachtwoord);
|
||||
setpassword(prs_key, wachtwoord, null, true); // upgrade
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
function setpassword(prs_key, wachtwoord, expired)
|
||||
function setpassword(prs_key, wachtwoord, expired, upgrade)
|
||||
{
|
||||
if (S("prs_password_hash_factor") == 0 || !wachtwoord) // Old style
|
||||
{
|
||||
@@ -506,14 +506,16 @@ function setpassword(prs_key, wachtwoord, expired)
|
||||
var passsalt = shared.random(32);
|
||||
var workfactor = S("prs_password_hash_factor");
|
||||
var new_hash = pbkdf2(wachtwoord, passsalt, workfactor);
|
||||
var sql = "UPDATE prs_perslid" // Ooit expire op SYSDATE + fac.getsetting ('prs_password_expiration') als die is gevuld
|
||||
+ " SET prs_perslid_wachtwoord_exp = " + ( expired
|
||||
? "SYSDATE"
|
||||
: ( S("prs_password_expiration")>0
|
||||
? "SYSDATE+"+S("prs_password_expiration")
|
||||
: "NULL"
|
||||
)
|
||||
)
|
||||
if (upgrade)
|
||||
var newexpire = "prs_perslid_wachtwoord_exp"; // effectief ongewijzigd
|
||||
else if (expired)
|
||||
var newexpire = "SYSDATE";
|
||||
else if (S("prs_password_expiration") > 0)
|
||||
var newexpire = "SYSDATE + " + S("prs_password_expiration");
|
||||
else
|
||||
newexpire = "NULL";
|
||||
var sql = "UPDATE prs_perslid"
|
||||
+ " SET prs_perslid_wachtwoord_exp = " + newexpire
|
||||
+ " , prs_perslid_salt = " + safe.quoted_sql(passsalt)
|
||||
+ " , prs_perslid_wachtwoord_hash = " + safe.quoted_sql('1${0}${1}'.format(workfactor, new_hash))
|
||||
+ " WHERE prs_perslid_key = " + prs_key;
|
||||
|
||||
Reference in New Issue
Block a user