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:
Jos Groot Lipman
2019-03-19 12:30:44 +00:00
parent 41e076b25e
commit 548ce0fa1b

View File

@@ -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;