diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-05-27 00:29:58 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:17:03 -0500 |
commit | fc45b63e478f6f891f0d04bf49423be30a63617d (patch) | |
tree | b5671673fed4e1aef23ca21d840acd1c04bf287e /source4/web_server/web_server.c | |
parent | b7158885afc40bcac857e6fc2cfd97e6c8f4c4f8 (diff) | |
download | samba-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.c | 7 |
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: |