1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-07 04:02:58 +03:00

mod_session: Reset the max-age on session save. PR 47476.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1531683 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Graham Leggett
2013-10-13 13:07:19 +00:00
parent 0d9b5c81a5
commit c8b1ad8f55
2 changed files with 13 additions and 3 deletions

View File

@@ -144,9 +144,11 @@ static apr_status_t ap_session_load(request_rec * r, session_rec ** z)
}
}
/* make sure the expiry is set, if present */
if (!zz->expiry && dconf->maxage) {
zz->expiry = now + dconf->maxage * APR_USEC_PER_SEC;
/* make sure the expiry and maxage are set, if present */
if (dconf->maxage) {
if (!zz->expiry) {
zz->expiry = now + dconf->maxage * APR_USEC_PER_SEC;
}
zz->maxage = dconf->maxage;
}
@@ -194,6 +196,11 @@ static apr_status_t ap_session_save(request_rec * r, session_rec * z)
z->maxage = dconf->maxage;
}
/* reset the expiry before saving if present */
if (z->dirty && z->maxage) {
z->expiry = now + z->maxage * APR_USEC_PER_SEC;
}
/* encode the session */
rv = ap_run_session_encode(r, z);
if (OK != rv) {