summaryrefslogtreecommitdiff
path: root/source4/web_server
AgeCommit message (Collapse)AuthorFilesLines
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-10r7086: make include() recognise the ".esp" extension and include the file asAndrew Tridgell1-5/+17
an esp script instead of as a ejs script (This used to be commit af97ded8d4151d33767d2b98bfcc3ca9a4fedc10)
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 Tridgell3-357/+2
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-10r7068: Missed one!Tim Potter1-0/+2
(This used to be commit cebbce9bf57d293dad3c35b1c76c74dd917620e0)
2007-10-10r7067: older versions of gnutls don't have GNUTLS_KP_TLS_WWW_SERVERAndrew Tridgell1-0/+2
(This used to be commit 9b568eb957c8ecbe8ebe29bcffdcad3bf7eef8c2)
2007-10-10r7066: Rename http_exception to ejs_exception.Tim Potter1-5/+5
(This used to be commit f2e59d3adfd7813c3c2090350f8ff2a99a5533e9)
2007-10-10r7065: Move ejs from web_server to lib so it can be shared with smbscript.Tim Potter14-9685/+3
(This used to be commit b83dc8fbfb9ffe30654bc4869398f50dd9ccccb7)
2007-10-10r7060: Fix use of uninitialised variable.Tim Potter1-1/+1
(This used to be commit 7568fcbfc58c91a81a8fcbadea48ffdc9e58bb27)
2007-10-10r7058: Add experimenthal pam authentication for web pagesSimo Sorce4-3/+426
(This used to be commit 36d905407465cb9d8950da86322531e3c3102642)
2007-10-10r7057: remove some ^M at end of linesSimo Sorce1-20/+20
(This used to be commit 1fb60dc07dbf6f1faa0d7af3959c20469a8e36f6)
2007-10-10r7055: automatically add the dn to all ldbSearch resultsAndrew Tridgell1-1/+8
(This used to be commit d6fa28080831700f80ff46320e0b0831337b822a)
2007-10-10r7053: added a ldbSearch() call to espAndrew Tridgell1-13/+191
It takes two forms, one with a set of attributes, the other without: res = ldbSearch("dbfile", "expression"); var attrs = new Array("attr1", "attr2", "attr3"); res = ldbSearch("dbfile", "expression", attrs); (This used to be commit 1ba602e32ba116016af6fb72e5929cdc026c8f0d)
2007-10-10r7051: remove an unused fileAndrew Tridgell1-2259/+0
(This used to be commit 7e6fbd4889a92ec985b8c6c70005cab76d64d262)
2007-10-10r7050: fix linking of smbdStefan Metzmacher1-1/+1
metze (This used to be commit d2af8eaefa58b56dbacfce10d74152a03d1becc2)
2007-10-10r7048: added auto-generation of TLS self-signed certificates if none exist ↵Andrew Tridgell3-8/+164
already This allows smbd to be setup from scratch over ssl without having to know how to create valid certificates (which can be quite tricky unless you've done it before) Of course, a good admin will provide real certificates, and smbd will use them if specified (This used to be commit 00b67efc99eac7bca386dea03f03bbb9470ab002)
2007-10-10r7047: rearranged the tls code a bit, and improved the error messages when ↵Andrew Tridgell1-119/+131
it fails (This used to be commit f54533dfba4286a3dbab26f1812a926fa6408efd)
2007-10-10r7023: reduced the number of warnings in building ejs and espAndrew Tridgell10-17/+21
(This used to be commit ef998f9f8fb9759e5a4572acb3f9038efc019e5e)
2007-10-10r7019: - added esp call lpServices() which returns a list of services in ↵Andrew Tridgell1-15/+41
smb.conf. - added a test of lpServices() in the esptest scripts (This used to be commit 94308d8fed7796ddfc32883a1c27ec8ebfff842d)
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-10r7016: - added smb.conf parm 'web tls = true/false'Andrew Tridgell1-1/+1
- by default enable tls if the certfile is set in smb.conf and gnutls library was compiled in (This used to be commit bbafdeae3a68c0ff1170b0a4ecc568664ec1a925)
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 Tridgell6-27/+419
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-10r7009: the correct for maing it all build with my gcc-4.0Stefan Metzmacher1-1/+3
I assume the problem is caused by including a precompiled header twice... metze (This used to be commit 45f8b5dfa1d003666b551c95d4e3dce942c1a10e)
2007-10-10r7008: - split out the loadparm type definitions so loadparm internals can ↵Andrew Tridgell3-8/+110
be accessed externally - moved esp_lpGet() to web_server/calls.c - attempt to fixup ejs build with includes.h again (This used to be commit 592a81c347981420154ddf3b8d4252d3bb08bc86)
2007-10-10r7007: try to get ejs compiling againAndrew Tridgell1-1/+3
(This used to be commit 9bba51330d79283d1a5af7becde8655dd2146f94)
2007-10-10r7006: fix a build problem with my gcc-4.0Stefan Metzmacher1-1/+4
metze (This used to be commit 3e2b4eda5f23433f5629b696954eb6856e154164)
2007-10-10r7004: added support for exceptions generated in the esp library. If the OSAndrew Tridgell3-4/+33
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 Tridgell7-11/+86
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 Tridgell5-72/+287
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-10r6990: apparently some systems define UNUSED :-)Andrew Tridgell2-3/+3
(This used to be commit 696b6f2a9b085dca6cea678b19cb76e1e62d673b)
2007-10-10r6989: - added support for esp style includes (which include a esp file, ↵Andrew Tridgell2-2/+13
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 Tridgell3-45/+44
- 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 Tridgell2-4/+4
(This used to be commit 31543e1eae03d22343ea8c970494af36eb07b41f)
2007-10-10r6981: first version of the builtin web server for Samba4Andrew Tridgell21-0/+14575
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)