diff --git a/wrenchboard/src/shared_tool/account.cc b/wrenchboard/src/shared_tool/account.cc index 2e53c5c7..004a912c 100644 --- a/wrenchboard/src/shared_tool/account.cc +++ b/wrenchboard/src/shared_tool/account.cc @@ -1865,6 +1865,9 @@ long account_session_check(CVars in, CVars out) { long ret = PHP_INVALID_SESSION; try { long session_expire_minutes = 15; + in["session_expire_minutes"] = CfgReadChar("system.session_expire_minutes"); + session_expire_minutes = in["session_expire_minutes"].Long(); + REQ_STRING(in, "sessionid", 4, 140, "(.*)"); OPTIONAL(in, "mode") REQ_LONG(in, "mode", 1, -1); if (in["mode"].Long() == 900 ){ @@ -1901,7 +1904,9 @@ long VerifySession(CVars in, CVars &out) { REQ_STRING(in, "sessionid", 4, 140, "(.*)"); long member_id = REQ_LONG(in, "member_id", 1, -1); - long session_expire_minutes = 15; + long session_expire_minutes = 15; + in["session_expire_minutes"] = CfgReadChar("system.session_expire_minutes"); + session_expire_minutes = in["session_expire_minutes"].Long(); if (load_db_record(out, "SELECT s.* FROM members_session s LEFT JOIN members m ON m.id=s.member_id " " WHERE s.member_id=%lu AND s.updated > (now() - interval '%lu minutes') AND s.session='%s'", member_id, session_expire_minutes, in["sessionid"].c_str()) > 0) { @@ -1928,8 +1933,10 @@ long SessionCheck(long uid, const char *sessionid, int create) { if (uid < 1 || sessionid == NULL || strlen(sessionid) < 4) { return -1L; // Invalif parameters } - + CVars in; long session_expire_minutes = 15; + in["session_expire_minutes"] = CfgReadChar("system.session_expire_minutes"); + session_expire_minutes = in["session_expire_minutes"].Long(); // Clean old sessions pgsql_exec("DELETE FROM members_session WHERE member_id=%ld AND updated < (now() - interval '%lu minutes')", uid, session_expire_minutes);