1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-09 20:23:51 +03:00
Commit Graph

27 Commits

Author SHA1 Message Date
Andrew Tridgell
a58ea6b385 r8520: fixed a pile of warnings from the build farm gcc -Wall output on
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
2007-10-10 13:29:34 -05:00
Andrew Tridgell
57d7a585e8 r8483: switched our generated ejs rpc code over to the new OO interface. This
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
2007-10-10 13:23:08 -05:00
Andrew Tridgell
52db7a052b r8399: move the ejs and esp code closer to the directory layout used by the
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
2007-10-10 13:22:39 -05:00
Love Hörnquist Åstrand
07a7ab0a6a r8361: ctype is* macros needs unsigned arguments 2007-10-10 13:20:11 -05:00
Andrew Tridgell
354cdf893d r8255: enable access to the ejs constants generated by pidl from the web server esp pages 2007-10-10 13:19:26 -05:00
Andrew Tridgell
023fc567ba r7744: converted the web server to use the lib/tls/ generic tls code 2007-10-10 13:18:30 -05:00
Simo Sorce
efbfabdefa r7234: that code path is died 2007-10-10 13:17:29 -05:00
Stefan Metzmacher
0e1b1c3937 r7179: remove compiler warnings
metze
2007-10-10 13:17:23 -05:00
Stefan Metzmacher
aab9b953da r7177: fill in REMOTE_ADDR correctly
metze
2007-10-10 13:17:22 -05:00
Andrew Tridgell
0c2e42986c r7107: detect when a users session has expired and set request['SESSION_EXPIRED'] 2007-10-10 13:17:17 -05:00
Andrew Tridgell
6ca3e3af89 r7104: add support into the web server for session[] variables without cookies by using
query strings
2007-10-10 13:17:17 -05:00
Andrew Tridgell
6a876d6611 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
2007-10-10 13:17:14 -05:00
Andrew Tridgell
ab27e58c08 r7079: remember to register the esp calls 2007-10-10 13:17:13 -05:00
Andrew Tridgell
e59ae64f60 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
2007-10-10 13:17:12 -05:00
Tim Potter
f2e59d3adf r7066: Rename http_exception to ejs_exception. 2007-10-10 13:17:11 -05:00
Andrew Tridgell
fbf4552cd5 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
2007-10-10 13:17:06 -05:00
Andrew Tridgell
e0673dcfc0 r7014: added Content-Length header to both esp and non-esp output 2007-10-10 13:17:06 -05:00
Andrew Tridgell
6369dfb658 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
2007-10-10 13:17:06 -05:00
Andrew Tridgell
2614ace175 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.
2007-10-10 13:17:05 -05:00
Andrew Tridgell
5537a0d38d 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
2007-10-10 13:17:04 -05:00
Andrew Tridgell
cee3caba92 r7000: only keep session data if not empty - this saves us using lots of memory needlessly 2007-10-10 13:17:04 -05:00
Andrew Tridgell
c418b23c2e 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.
2007-10-10 13:17:03 -05:00
Andrew Tridgell
af3de9468e 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
2007-10-10 13:17:03 -05:00
Andrew Tridgell
6535611aa2 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
2007-10-10 13:17:02 -05:00
Andrew Tridgell
e54b31904c r6986: added support for <% include("somefile.ejs") %> for including common scripts 2007-10-10 13:17:02 -05:00
Andrew Tridgell
31543e1eae r6982: install the swat pages with 'make installswat' 2007-10-10 13:17:02 -05:00
Andrew Tridgell
26f0ba92c0 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.
2007-10-10 13:17:01 -05:00