1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-04 17:47:26 +03:00

23 Commits

Author SHA1 Message Date
Andrew Tridgell
8ca17e2f47 r8255: enable access to the ejs constants generated by pidl from the web server esp pages
(This used to be commit 354cdf893d7ce36afd6f2776308b3c864f29ce0b)
2007-10-10 13:19:26 -05:00
Andrew Tridgell
822498b7f5 r7744: converted the web server to use the lib/tls/ generic tls code
(This used to be commit 023fc567badba38b87895ea73515b2ce0b703a8c)
2007-10-10 13:18:30 -05:00
Simo Sorce
d640d12673 r7234: that code path is died
(This used to be commit efbfabdefab621eca0b644f22b887ae2cdd50bf2)
2007-10-10 13:17:29 -05:00
Stefan Metzmacher
b60ea95547 r7179: remove compiler warnings
metze
(This used to be commit 0e1b1c393718cbffea391ba753cf19d359ff36d6)
2007-10-10 13:17:23 -05:00
Stefan Metzmacher
b035f34168 r7177: fill in REMOTE_ADDR correctly
metze
(This used to be commit aab9b953da8e9416e0756f760a717cf9013b772b)
2007-10-10 13:17:22 -05:00
Andrew Tridgell
43bc09e2aa r7107: detect when a users session has expired and set request['SESSION_EXPIRED']
(This used to be commit 0c2e42986ca3d10fbd19c91e2ea59af20e4fce30)
2007-10-10 13:17:17 -05:00
Andrew Tridgell
5aaaa7ef0e r7104: add support into the web server for session[] variables without cookies by using
query strings
(This used to be commit 6ca3e3af89df534704eb5cbefb84bba7257f82bb)
2007-10-10 13:17:17 -05:00
Andrew Tridgell
bb2a811bf4 r7087: always run the /scripting/preauth.esp page before processing any
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-10 13:17:14 -05:00
Andrew Tridgell
6782622296 r7079: remember to register the esp calls
(This used to be commit ab27e58c08a065a5a84fcd763d0b4b070eb07886)
2007-10-10 13:17:13 -05:00
Andrew Tridgell
8754c793bf r7072: moved the esp hooks calls to the ejs level, so we can call them from
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-10 13:17:12 -05:00
Tim Potter
7756b990f3 r7066: Rename http_exception to ejs_exception.
(This used to be commit f2e59d3adfd7813c3c2090350f8ff2a99a5533e9)
2007-10-10 13:17:11 -05:00
Andrew Tridgell
67a38fc159 r7017: added a esp variable server['TLS_SUPPORT'] which tells the script if 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-10 13:17:06 -05:00
Andrew Tridgell
b63ce2f479 r7014: added Content-Length header to both esp and non-esp output
(This used to be commit e0673dcfc0056b3a1b72ef0b10d82948ca8c9819)
2007-10-10 13:17:06 -05:00
Andrew Tridgell
ebb0b35242 r7013: added tls support to the builtin web server. It auto-detects if the 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-10 13:17:06 -05:00
Andrew Tridgell
2cdce8d1aa r7004: added support for exceptions generated in the esp library. If the OS
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-10 13:17:05 -05:00
Andrew Tridgell
1511cde44c r7002: added support for getting at loadparm config parameters via lpGet() 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-10 13:17:04 -05:00
Andrew Tridgell
1ddf07bd63 r7000: only keep session data if not empty - this saves us using lots of memory needlessly
(This used to be commit cee3caba9239b1e66c7f50d3f808b53e9fc22a53)
2007-10-10 13:17:04 -05:00
Andrew Tridgell
fc45b63e47 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)
2007-10-10 13:17:03 -05:00
Andrew Tridgell
74dda39226 r6989: - added support for esp style includes (which include a esp file, instead of a ejs file)
- added a test of esp style includes to the esptest html
(This used to be commit af3de9468ee5ba490c991901b7a4aa260c839876)
2007-10-10 13:17:03 -05:00
Andrew Tridgell
44d2a46580 r6987: - make sure esp pages cannot read data outside of the swat directory
- don't expose the real system path to esp scripts

- fixed absolute paths in include() calls
(This used to be commit 6535611aa22f51b7376be3c15715e8040a059736)
2007-10-10 13:17:02 -05:00
Andrew Tridgell
e8e8eab400 r6986: added support for <% include("somefile.ejs") %> for including common scripts
(This used to be commit e54b31904c69b1aaad748e5be6dce1c882d02c67)
2007-10-10 13:17:02 -05:00
Andrew Tridgell
7e58231952 r6982: install the swat pages with 'make installswat'
(This used to be commit 31543e1eae03d22343ea8c970494af36eb07b41f)
2007-10-10 13:17:02 -05:00
Andrew Tridgell
d70912a26a r6981: first version of the builtin web server for Samba4
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)
2007-10-10 13:17:01 -05:00