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

397 Commits

Author SHA1 Message Date
Andrew Tridgell
14b6436cc5 r8192: updated the glue code for the generated ejs functions from pidl
only handles a small subset of all IDL files so far
2007-10-10 13:19:18 -05:00
Andrew Tridgell
8649945cf9 r8114: fixed the build after tpots ejs commit .... 2007-10-10 13:19:10 -05:00
Tim Potter
ee27943e21 r8105: Add ejsrpc push/pull functions for uint16 and uint8. 2007-10-10 13:19:08 -05:00
Andrew Tridgell
b1ea58ddc4 r8073: a successful rpc call from ejs!
the ejs_echo.c code is the stuff that needs to be auto-generated by
pidl. It only does echo_AddOne so far.

We also need a table for registering these calls. The code is
hard-wired for echo_AddOne for now.
2007-10-10 13:19:05 -05:00
Andrew Tridgell
a782541db3 r8069: the beginnings of code to allow rpc calls to be made from ejs
tpot, note that this shows how you can modify passed in MprVar
variables in C call
2007-10-10 13:19:04 -05:00
Tim Potter
696aa182d5 r7928: Add rename, unlink and list commands.
list() returns a list of strings, but maybe it should be a list of
objects with size, attrib, short name etc.
2007-10-10 13:18:51 -05:00
Tim Potter
043feb131f r7924: Add mkdir() and rmdir() functions.
Write a macro to check tree handle parameters.
2007-10-10 13:18:51 -05:00
Tim Potter
9ed763f7fa r7922: Comment out complicated connect/session/tree API for the moment. Replace
with tree_connect() and tree_disconnect() functions.
2007-10-10 13:18:50 -05:00
Andrew Tridgell
3a3025485b r7633: this patch started as an attempt to make the dcerpc code use a given
event_context for the socket_connect() call, so that when things that
use dcerpc are running alongside anything else it doesn't block the
whole process during a connect.

Then of course I needed to change any code that created a dcerpc
connection (such as the auth code) to also take an event context, and
anything that called that and so on .... thus the size of the patch.

There were 3 places where I punted:

  - abartlet wanted me to add a gensec_set_event_context() call
    instead of adding it to the gensec init calls. Andrew, my
    apologies for not doing this. I didn't do it as adding a new
    parameter allowed me to catch all the callers with the
    compiler. Now that its done, we could go back and use
    gensec_set_event_context()

  - the ejs code calls auth initialisation, which means it should pass
    in the event context from the web server. I punted on that. Needs fixing.

  - I used a NULL event context in dcom_get_pipe(). This is equivalent
    to what we did already, but should be fixed to use a callers event
    context. Jelmer, can you think of a clean way to do that?

I also cleaned up a couple of things:

 - libnet_context_destroy() makes no sense. I removed it.

 - removed some unused vars in various places
2007-10-10 13:18:15 -05:00
Tim Potter
63577628b0 r7570: Add tree, session and socket disconnect ejs functions. 2007-10-10 13:18:10 -05:00
Andrew Bartlett
990e061939 r7530: Simply calling convention of lp_load().
This always loads all the services, as we now don't have an easy way
to split out smbd.

Andrew Bartlett
2007-10-10 13:18:07 -05:00
Tim Potter
5b67f2c3d9 r7505: Add more argument forms for session_setup().
Throw an exception if tree connect fails.
2007-10-10 13:18:01 -05:00
Tim Potter
3b7df1037d r7501: Fix credential initialisation in ejs session setup. Implement four
arg and anonymous version of command.

Implement ejs tconx.
2007-10-10 13:18:01 -05:00
Tim Potter
564dfe14d0 r7500: Initialise module subsystems. 2007-10-10 13:18:01 -05:00
Tim Potter
8574f64ca2 r7477: Add MPR_TYPE_PTR to ejs_typeof(). 2007-10-10 13:17:57 -05:00
Andrew Tridgell
30e876e9c2 r7461: this is the start of some code for mapping IDL onto ejs. This is hand
written code, and it doesn't work or even compile yet. I am committing
it to make it easier to discuss the approach with jelmer and tpot.

The intention is that this code will eventually end up being mostly
auto-generated (with the utility functions split out, just like
librpc/ndr/*.c)
2007-10-10 13:17:55 -05:00
Tim Potter
832332de5d r7457: Return an ejs C pointer object from the ejs connect() function.
Add a session_setup() function that does an anonymous session setup.  Will
add credential passing later.
2007-10-10 13:17:55 -05:00
Tim Potter
a55e40651d r7422: Create a ejs object to wrap a smbcli_transport pointer. 2007-10-10 13:17:51 -05:00
Tim Potter
8062e808ef r7351: Start of ejs smb client library. I need to figure out a nice API here
that doesn't expose too much of the cifs protocol but still allows
people to do neat things.

Also, talloc lifetimes need to be thought about properly.
2007-10-10 13:17:45 -05:00
Tim Potter
ada0045957 r7350: Remove unused label. 2007-10-10 13:17:45 -05:00
Simo Sorce
ddd7454cb3 r7268: allocate the strings to avoid them disappearing under our feet 2007-10-10 13:17:34 -05:00
Simo Sorce
41bae267e2 r7267: REMOTE_HOST is a better choice 2007-10-10 13:17:34 -05:00
Tim Potter
b086768589 r7266: Split the different types of js function defines into separate files,
as there are going to be a lot more of them.
2007-10-10 13:17:34 -05:00
Tim Potter
c77a232b11 r7263: Exit smbscript with the intepreter return value (defaults to 0).
Change the exit value for an exception, usage error and other non-js
errors to 127 which is kinda like the return value for the system(3)
function.
2007-10-10 13:17:33 -05:00
Tim Potter
4b775c619b r7262: Add a length property to ARGV array. 2007-10-10 13:17:33 -05:00
Tim Potter
1a4a549317 r7261: Pass by reference is done in js via MPR_TYPE_OBJECT. Update argument
parsing and example for resolveName().
2007-10-10 13:17:33 -05:00
Tim Potter
aef99859f2 r7255: Change syntax of resolveName() js function to be more like the
resolve_name() C function.  I can't figure out how to return variables
by reference though.  Writing to argv[] doesn't seem to work.
2007-10-10 13:17:32 -05:00
Tim Potter
2fa6f7bb2b r7254: Add a mprWERROR() function with the same attributes as mprNTSTATUS. 2007-10-10 13:17:32 -05:00
Simo Sorce
8a98572a3b r7238: Add pam auth support in swat 2007-10-10 13:17:30 -05:00
Tim Potter
d81d5f8317 r7225: Create a MprVar object from a NTSTATUS, e.g:
res: {
  is_err: true,
  is_ok: false,
  errstr: "NT_STATUS_IO_TIMEOUT",
  v: -1073741643
}
2007-10-10 13:17:28 -05:00
Tim Potter
31b9fadbed r7223: Advance script past interpreter line. 2007-10-10 13:17:27 -05:00
Tim Potter
14a2053c04 r7215: Convert smbscript to use ejsEvalScript() and file_load() instead of
ejsEvalFile().

Still need to add advancement of the script past the hash-bang line but
it's home time now!!
2007-10-10 13:17:27 -05:00
Andrew Tridgell
29ab4cc6cb r7135: make typeof() complient with ECMA 11.4.3 2007-10-10 13:17:21 -05:00
Tim Potter
6911e46c6a r7083: Add a ejs hook to the resolve_name() function.
We need to figure out what the best way to return NTSTATUS codes.  In the
Python wrappers I threw an exception which could be caught by some code,
but I'm not sure whether this is possible in ejs.
2007-10-10 13:17:14 -05:00
Tim Potter
54051bf8bb r7082: Call load_interfaces() in smbscript initialisation. 2007-10-10 13:17:13 -05:00
Tim Potter
790a46f53b r7081: Add mprToInt() function. 2007-10-10 13:17:13 -05:00
Tim Potter
fcf177c86e r7080: Fix typo in error message. 2007-10-10 13:17:13 -05:00
Andrew Tridgell
45ea1b6441 r7078: - fix an uninitialised variable in smbscript
- fixed handle passing in the smb/ejs interface calls, so they can be called
  safely from esp
2007-10-10 13:17:13 -05:00
Andrew Tridgell
3db568eb6b r7075: added support for ARGV[] in ejs scripts 2007-10-10 13:17:12 -05:00
Andrew Tridgell
92f85507df r7074: we should load all shares in smbscript 2007-10-10 13:17:12 -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
Volker Lendecke
06d27a1921 r7069: Add a little usage message to smbscript and fix a compiler warning. My
compiler still complains about "handle" (scripting/ejs/smbscrip.c:46) possibly
not being initialized and to me this looks true.

Running smbscript with the trivial write("Hello, world\n"); also leaves some
memory around.

Volker
2007-10-10 13:17:11 -05:00
Tim Potter
f2e59d3adf r7066: Rename http_exception to ejs_exception. 2007-10-10 13:17:11 -05:00
Tim Potter
b83dc8fbfb r7065: Move ejs from web_server to lib so it can be shared with smbscript. 2007-10-10 13:17:11 -05:00
Tim Potter
805b6c7cf0 r7064: Clean up handle parameter passing after peeking at tridge's ejstest.c 2007-10-10 13:17:11 -05:00
Tim Potter
5e2458ae6c r7063: Do error checking on the ejs functions.
Tridge says there is a bug in defining per-engine CFunction's so move
calls to ejsDefineStringCFunction() above the ejsOpenEngine() call.

Test script now works!
2007-10-10 13:17:10 -05:00
Tim Potter
3444cd5429 r7061: A ejs scripting client. This should allow javascript to be run in a
command line environment instead of inside the web server.

It doesn't work yet though, rather an exception is thrown when trying
to call ejsDefineStringCFunction().
2007-10-10 13:17:10 -05:00