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