summaryrefslogtreecommitdiff
path: root/source4/web_server/http.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r9504: use some low level ejs hackery to give much better exception error ↵Andrew Tridgell1-16/+10
messages in both the web server and smbscript. We can now give backtraces for all internal asserts, not just high level errors (This used to be commit 84c756b25ccb2bd75360bdb9b7b7643975d1f3b3)
2007-10-10r9409: fix a problem that volker noticed with web page timeouts causing smbdAndrew Tridgell1-1/+10
to crash. This is one of the downsides of the fact that the ejs engine is not event driven, resulting in the rendering of each web page being 'semi-async'. We need to protect the web context from the timeout processing until we have unwound the stack back to the point that the 'web' variable representing the page rendering logic won't be used any more. (This used to be commit 97e3c9eaf1a917eb504a2c3414c5d2b64cd4539a)
2007-10-10r9183: more workarounds for the global variables in ejs. I will discuss ↵Andrew Tridgell1-0/+6
getting rid of these with the mbedthis people. (This used to be commit a5b9e74a5c23e724ae4ee222e6f128133b175494)
2007-10-10r9179: cope with simultaneous web requests using the same session variableAndrew Tridgell1-0/+6
(This used to be commit 7d6e6012198d6fd3770da22ec5e1770c9bcd4ed7)
2007-10-10r8726: increase default session timeout to 15 minutes to be less painful for ↵Andrew Tridgell1-1/+1
developers (This used to be commit d40e590674a20528a5649e1cfd377ee661265bb9)
2007-10-10r8665: fixed a segv at high debug level in the web serverAndrew Tridgell1-1/+4
thanks to volker for finding this (This used to be commit e02d7753f77327e3ca295a86afde9ea74ddcf5e0)
2007-10-10r8632: use <pre> around displayed exceptionsAndrew Tridgell1-1/+3
(This used to be commit 001917cc9dec4bdf8839ef175edad352b2763239)
2007-10-10r8520: fixed a pile of warnings from the build farm gcc -Wall output onAndrew Tridgell1-1/+1
S390. This is an attempt to avoid the panic we're seeing in the automatic builds. The main fixes are: - assumptions that sizeof(size_t) == sizeof(int), mostly in printf formats - use of NULL format statements to perform dn searches. - assumption that sizeof() returns an int (This used to be commit a58ea6b3854973b694d2b1e22323ed7eb00e3a3f)
2007-10-10r8483: switched our generated ejs rpc code over to the new OO interface. ThisAndrew Tridgell1-2/+0
means we don't pollute the name space, and also makes for faster startup times as we only create variables for the pipes that we use, not all pipes (This used to be commit 57d7a585e8162d21c7152952aa0cc7471968784f)
2007-10-10r8399: move the ejs and esp code closer to the directory layout used by theAndrew Tridgell1-1/+1
upstream sources. This makes it much easier to keep it up to date. I will separate out the mpr code into lib/appweb/mpr next (This used to be commit 52db7a052baeb0f11361ed69b71cb790039e3cc9)
2007-10-10r8361: ctype is* macros needs unsigned argumentsLove Hörnquist Åstrand1-1/+1
(This used to be commit 07a7ab0a6af7224c4290043442a304baef656e94)
2007-10-10r8255: enable access to the ejs constants generated by pidl from the web ↵Andrew Tridgell1-0/+2
server esp pages (This used to be commit 354cdf893d7ce36afd6f2776308b3c864f29ce0b)
2007-10-10r7744: converted the web server to use the lib/tls/ generic tls codeAndrew Tridgell1-4/+8
(This used to be commit 023fc567badba38b87895ea73515b2ce0b703a8c)
2007-10-10r7234: that code path is diedSimo Sorce1-1/+0
(This used to be commit efbfabdefab621eca0b644f22b887ae2cdd50bf2)
2007-10-10r7179: remove compiler warningsStefan Metzmacher1-4/+3
metze (This used to be commit 0e1b1c393718cbffea391ba753cf19d359ff36d6)
2007-10-10r7177: fill in REMOTE_ADDR correctlyStefan Metzmacher1-1/+2
metze (This used to be commit aab9b953da8e9416e0756f760a717cf9013b772b)
2007-10-10r7107: detect when a users session has expired and set ↵Andrew Tridgell1-0/+6
request['SESSION_EXPIRED'] (This used to be commit 0c2e42986ca3d10fbd19c91e2ea59af20e4fce30)
2007-10-10r7104: add support into the web server for session[] variables without ↵Andrew Tridgell1-14/+27
cookies by using query strings (This used to be commit 6ca3e3af89df534704eb5cbefb84bba7257f82bb)
2007-10-10r7087: always run the /scripting/preauth.esp page before processing anyAndrew Tridgell1-15/+55
request. If this page produces any output then that output is sent to the browser and the request is not processed This allows us to ensure that all pages are authenticated (This used to be commit 6a876d66119a79f7922f44d36c116eee72dd76f9)
2007-10-10r7079: remember to register the esp callsAndrew Tridgell1-0/+1
(This used to be commit ab27e58c08a065a5a84fcd763d0b4b070eb07886)
2007-10-10r7072: moved the esp hooks calls to the ejs level, so we can call them fromAndrew Tridgell1-1/+1
both esp scripts and ejs scripts. This allows the smbscript program to call all the existing extension calls like lpGet() and ldbSearch() Also fixed smbscript to load smb.conf, and setup logging for DEBUG() I left the unixAuth() routine in web_server/calls.c at the moment, as that is really only useful for esp scripts. I imagine that as we extend esp/ejs, we will put some functions in scripting/ejs/ for use in both ejs and esp, and some functions in web_server/ where they will only be accessed by esp web scripts (This used to be commit e59ae64f60d388a5634559e4e0887e4676b70871)
2007-10-10r7066: Rename http_exception to ejs_exception.Tim Potter1-5/+5
(This used to be commit f2e59d3adfd7813c3c2090350f8ff2a99a5533e9)
2007-10-10r7017: added a esp variable server['TLS_SUPPORT'] which tells the script if ↵Andrew Tridgell1-1/+3
the server can support TLS. This will allow us to auto-redirect if a user connects using the wrong protocol (This used to be commit fbf4552cd5e27863ee1de7d03e4da0fc10f429df)
2007-10-10r7014: added Content-Length header to both esp and non-esp outputAndrew Tridgell1-1/+10
(This used to be commit e0673dcfc0056b3a1b72ef0b10d82948ca8c9819)
2007-10-10r7013: added tls support to the builtin web server. It auto-detects if the ↵Andrew Tridgell1-23/+14
client is using tls by looking at the first byte on the connection. This allows both https and http services to be on the same port (This used to be commit 6369dfb6585ce4d4e3028c557395f2d73c290c92)
2007-10-10r7004: added support for exceptions generated in the esp library. If the OSAndrew Tridgell1-0/+28
supports setjmp/longjmp then the exception will generate a error in the web page and the Samba log. If the OS doesn't support setjmp then we will abort. (This used to be commit 2614ace175a51cfb4b1e0e3ca3db405a19f7ab18)
2007-10-10r7002: added support for getting at loadparm config parameters via lpGet() ↵Andrew Tridgell1-0/+2
in esp scripts lpGet takes 4 forms v = lpGet("type:parm"); gets a parametric variable v = lpGet("share", "type:parm"); gets a parametric variable on a share v = lpGet("parm"); gets a global variable v = lpGet("share", "parm"); gets a share variable in all cases a ejs object of the appropriate type for the variable is returned. This commit also adds the function typeof() which returns the type of an object (This used to be commit 5537a0d38d4805cbc2dad0d6f76db15173b1fd60)
2007-10-10r7000: only keep session data if not empty - this saves us using lots of ↵Andrew Tridgell1-7/+13
memory needlessly (This used to be commit cee3caba9239b1e66c7f50d3f808b53e9fc22a53)
2007-10-10r6998: - added support for application[] data, which is global to all ↵Andrew Tridgell1-61/+268
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)
2007-10-10r6989: - added support for esp style includes (which include a esp file, ↵Andrew Tridgell1-1/+12
instead of a ejs file) - added a test of esp style includes to the esptest html (This used to be commit af3de9468ee5ba490c991901b7a4aa260c839876)
2007-10-10r6987: - make sure esp pages cannot read data outside of the swat directoryAndrew Tridgell1-42/+37
- don't expose the real system path to esp scripts - fixed absolute paths in include() calls (This used to be commit 6535611aa22f51b7376be3c15715e8040a059736)
2007-10-10r6986: added support for <% include("somefile.ejs") %> for including common ↵Andrew Tridgell1-23/+38
scripts (This used to be commit e54b31904c69b1aaad748e5be6dce1c882d02c67)
2007-10-10r6982: install the swat pages with 'make installswat'Andrew Tridgell1-3/+3
(This used to be commit 31543e1eae03d22343ea8c970494af36eb07b41f)
2007-10-10r6981: first version of the builtin web server for Samba4Andrew Tridgell1-0/+627
This includes an embedded server side scripting system called 'esp' (see http://www.appwebserver.org/products/esp/esp.html) and javascript based scripting language called 'esj' (see http://www.appwebserver.org/products/ejs/ejs.html) The justification for including this scripting language is that it should make it much easier to write a high quality web interface for Samba4. The scripting language can call into any Samba4 library code (so for example it will be able to make ldb and loadparm calls), plus it provides easy support for forms, cookies, sessions etc. There is still quite a bit more work to do on the web server, but there is enough here now for people to look at and comment. I will be committing some sample web pages that test esp functionality shortly. (This used to be commit 26f0ba92c0c565ac9e4cb5a079d795d4262497dd)