summaryrefslogtreecommitdiff
path: root/source4/web_server/web_server.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-05-27 00:29:58 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:17:03 -0500
commitfc45b63e478f6f891f0d04bf49423be30a63617d (patch)
treeb5671673fed4e1aef23ca21d840acd1c04bf287e /source4/web_server/web_server.c
parentb7158885afc40bcac857e6fc2cfd97e6c8f4c4f8 (diff)
downloadsamba-fc45b63e478f6f891f0d04bf49423be30a63617d.tar.gz
samba-fc45b63e478f6f891f0d04bf49423be30a63617d.tar.bz2
samba-fc45b63e478f6f891f0d04bf49423be30a63617d.zip
r6998: - added support for application[] data, which is global to all clients using the web server.
This allows for things like application['state'] = "shuttting down" and then every web client can see that the server is going down - added support for session[] data. This allows web pages to store long term data specific to this client. It relies on cookies. Sessions auto timeout (default timeout 5 minutes). The timeout can be set in the scripts. - changed from processing all .html files as esp, to only processing .esp files as esp. This makes it easier to compare the samba web server to appWeb as a reference implementation. - expanded the number of standard variables setup by esp. See the showvars.esp example page for all variables. (This used to be commit c418b23c2ea383da8fad21b62213ec01fd135ebb)
Diffstat (limited to 'source4/web_server/web_server.c')
-rw-r--r--source4/web_server/web_server.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source4/web_server/web_server.c b/source4/web_server/web_server.c
index 656e101c11..9bbf423d29 100644
--- a/source4/web_server/web_server.c
+++ b/source4/web_server/web_server.c
@@ -169,11 +169,13 @@ static void websrv_send(struct stream_connection *conn, uint16_t flags)
*/
static void websrv_accept(struct stream_connection *conn)
{
+ struct task_server *task = talloc_get_type(conn->private, struct task_server);
struct websrv_context *web;
web = talloc_zero(conn, struct websrv_context);
if (web == NULL) goto failed;
+ web->task = task;
web->conn = conn;
conn->private = web;
web->output.fd = -1;
@@ -228,6 +230,11 @@ static void websrv_task_init(struct task_server *task)
if (!NT_STATUS_IS_OK(status)) goto failed;
}
+ /* startup the esp processor - unfortunately we can't do this
+ per connection as that wouldn't allow for session variables */
+ status = http_setup_esp(task);
+ if (!NT_STATUS_IS_OK(status)) goto failed;
+
return;
failed: