svn commit: samba r7107 - in branches/SAMBA_4_0/source/web_server: .
tridge at samba.org
tridge at samba.org
Mon May 30 12:57:31 GMT 2005
Author: tridge
Date: 2005-05-30 12:57:31 +0000 (Mon, 30 May 2005)
New Revision: 7107
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=7107
Log:
detect when a users session has expired and set request['SESSION_EXPIRED']
Modified:
branches/SAMBA_4_0/source/web_server/http.c
Changeset:
Modified: branches/SAMBA_4_0/source/web_server/http.c
===================================================================
--- branches/SAMBA_4_0/source/web_server/http.c 2005-05-30 12:21:30 UTC (rev 7106)
+++ branches/SAMBA_4_0/source/web_server/http.c 2005-05-30 12:57:31 UTC (rev 7107)
@@ -675,6 +675,7 @@
const char *key = NULL;
struct esp_data *edata = talloc_get_type(esp->web->task->private, struct esp_data);
struct session_data *s;
+ BOOL generated_key = False;
/* look for our session key */
if (cookie && (p = strstr(cookie, session_key)) &&
@@ -687,6 +688,7 @@
key = esp->web->input.session_key;
} else if (key == NULL) {
key = generate_random_str_list(esp, 16, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");
+ generated_key = True;
}
/* try to find this session in the existing session list */
@@ -706,6 +708,10 @@
s->lifetime = lp_parm_int(-1, "web", "sessiontimeout", 300);
DLIST_ADD(edata->sessions, s);
talloc_set_destructor(s, session_destructor);
+ if (!generated_key) {
+ mprSetPropertyValue(&esp->variables[ESP_REQUEST_OBJ],
+ "SESSION_EXPIRED", mprCreateStringVar("True", 0));
+ }
}
http_setCookie(esp->web, session_key, key, s->lifetime, "/", 0);
More information about the samba-cvs
mailing list