summaryrefslogtreecommitdiff
path: root/source4/scripting
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r8337: - use 64 bit access functions in ejs callsAndrew Tridgell9-23/+230
- added access to smbd random functions - fixed ordering in join() - added sys_interfaces(), sys_hostname(), sys_nttime() and sys_ldaptime() (This used to be commit 28c1a1f3c0cd2f8228fd8c3c695ab6f45226fa3f)
2007-10-10r8333: merged with latest upstream ejs sourcesAndrew Tridgell4-12/+9
(This used to be commit b0f9ddafe95d4e8d846bc72a39e94d22da271348)
2007-10-10r8331: added split(), join() and FileLoad() functions to ejs.Andrew Tridgell1-0/+103
this gets me most of the way through a ejs provision script (This used to be commit 0ef8f0282e0490328bbcdc8c6daff3f8fac99087)
2007-10-10r8320: make sure all our returned objects are full objects, which means theyAndrew Tridgell7-16/+23
have the toString() and valueOf() default attributes this allows all our returned objects to be used in logical expressions (This used to be commit 570f071b1544b497d5f480b8ad50df097fe4c843)
2007-10-10r8318: added a bunch more ejs calls.Andrew Tridgell7-4/+249
getgr*() getpw*() strlower() strupper() IfaceList() (This used to be commit 1517ad490dd67302f38ab9dcd8a3b24b73b8d550)
2007-10-10r8316: give full access to the popt command line parsing in ejs scripts, ↵Andrew Tridgell5-27/+204
including access to the samba common options. For example: ok = GetOptions(ARGV, options, "POPT_AUTOHELP", "POPT_COMMON_SAMBA", "myopt=s", "intopt=i", "noopt"); this allows scripts to support their own extended options properly (This used to be commit 775fb56ac287b8d485b38f633b9480d7b7ab64e3)
2007-10-10r8298: - started building a library of js routines in scripting/libjs/Andrew Tridgell2-0/+223
- switched the existing test programs over to using the library - added install of js lib (This used to be commit 2a444dedbe44347268affc6458196f93ca7d372b)
2007-10-10r8297: add libinclude() function in ejs, which is like include() but ↵Andrew Tridgell1-0/+47
searches a js library path set in "js include" in smb.conf. This will allow us to start building up a library of common js code, while avoiding the problem of hard-coding include paths in scripts (This used to be commit ff60529ba2515df29a20b4a417327a3565ec8ee9)
2007-10-10r8296: - split out the ejs auth functions into a separate fileAndrew Tridgell4-121/+148
- got rid of the one line ejs_returnlist() (This used to be commit 6961fe29058cffd8e69d9ce7e7d3902f973411c0)
2007-10-10r8284: - fixed some uninitialised variables in the irpc codeAndrew Tridgell4-7/+99
- added code to send multiple irpc calls in parallel, to all servers that have registered the given name, with output going in io.results[i]. This allows you to make rpc calls to multiple servers at once, which is needed for clients like smbstatus (This used to be commit 061e20e509d95ffe16d7dd6fba7db39fc7a165ed)
2007-10-10r8281: pass the callnum and rpc interface table directly from the generatedAndrew Tridgell2-19/+26
code in pidl for ejs calls. This means that ejs_rpc_call() doesn't need to scan the rpc tables for the right interface, and doesn't need to scan for the call name (This used to be commit 1c6b1102e5c2529206b917e7c6b279c4f63d0e9a)
2007-10-10r8280: - added irpc_connect() for connecting to a irpc server by nameAndrew Tridgell3-3/+87
- make the dcerpc pipe in rpc_connect() a talloc child of the ejs connection variable. That means when the connection variable goes out of scope, the connection is automatically closed. That makes for a more natural interface for closing connections in a scripting language (tpot, you may wish to use mprSetPtrChild() in your smb glue code too) (This used to be commit 1c170138a8e82cb42958b88b94a1d567ffa88a92)
2007-10-10r8276: fixed the remaining memory leaks in smbscript. We can now loop doingAndrew Tridgell10-124/+138
lots of rpc calls without memory usage increasing. (This used to be commit 9c885a7edb771486793eb287288158157b34e8f3)
2007-10-10r8273: fixed some memory leaks in smbscript. This required convertingAndrew Tridgell4-29/+16
file_load() to use talloc, which impacted quite a few bits of code, including our smb.conf processing. took the opportunity to remove the gloabls in params.c while doing this (This used to be commit b220756cb4f1d201ba3e771ca67e4bfae5eae748)
2007-10-10r8262: - simplify the dependency handling for ejs modulesAndrew Tridgell3-106/+63
- added config.mk entries for some more pipes - simplify the handling of ejs variables in the pidl code (This used to be commit 595304708db69229495c5739b5cacab732afd55f)
2007-10-10r8260: added an init based registration system for the generated ejs rpc ↵Andrew Tridgell2-18/+47
code, so adding a new pipe only involves changes to librpc/config.mk (This used to be commit 0e54fa446665f380e9c46723a6e2be5a08b8d51c)
2007-10-10r8256: - allow rpc calls from non-command line ejs contexts by creating a setAndrew Tridgell4-2/+34
of null credentials to use if cmdline_credentials is not setup - hide the length and size elements of a lsa_String from js scripts, so you can use a lsa_String just as an ordinary string without knowing its a structure. We won't do this with all structures, just a few core ones that are used often enough to warrant it. - make sure returned ldb arrays have a length property (This used to be commit 12d2092dd8668de41776132ccbcd634790c371a9)
2007-10-10r8254: fixed a valgrind error in the unix auth codeAndrew Tridgell1-1/+1
(This used to be commit ad1a4802d0634960646a6efe039fe8b62ead63dd)
2007-10-10r8238: - fixed handling of NULL pointers from ejsAndrew Tridgell3-0/+26
- added automatic creation of all constants in IDL as ejs variables (This used to be commit 9398b02e4ba51145e447668e321ca927f44c0078)
2007-10-10r8236: fixed support for arrays of structuresAndrew Tridgell1-4/+4
(This used to be commit cbe5289ac9a8adfe68704dc16a2b32ecbd15a4eb)
2007-10-10r8233: - added support for more base types in pidl ejsAndrew Tridgell4-5/+143
- added auto generation of a header with prototypes for public ejs functions - make public functions non-static - fixed allocation of fixed sized arrays - added 'noejs' flag indicating that a typedef will be handled manually by ejs - added manual functions for sid and GUID, so they show up as nice strings in ejs scripts This allows ejs to bring in samr, security, lsa and misc IDL functions (This used to be commit a8cb2dbdcc2871090a26f580f67db8f0636d1e7e)
2007-10-10r8230: prevent authentication dying on a NULL domainAndrew Tridgell1-1/+1
(This used to be commit e1cfc6d03244e04d59a96ef2abb5b48fcb157b0a)
2007-10-10r8220: added auto-generation of ENUM constants in ejs wrapper. So we can now ↵Andrew Tridgell5-1/+41
use the enum name instead of a integer in ejs scripts making rpc calls (This used to be commit a61cdee384c3002860016c1740276529493d318d)
2007-10-10r8216: - handle union pull in ejs pidl generationAndrew Tridgell1-0/+9
- added debugging calls for missing structure/union elements (This used to be commit f3ff48204cb8edeb9f42afbbefe13f7d49305506)
2007-10-10r8215: switched the pull side of the ejs generator over to the recursive ↵Andrew Tridgell2-30/+14
LEVELS based approach. This allows for much more complex structure mappings to be generated. (This used to be commit 49fc14d13291b02f7b16ab0eefe7bfb26f51b1c8)
2007-10-10r8213: I've started to understand the LEVELS stuff in pidl much better now,Andrew Tridgell2-29/+13
and have re-coded the push side of the ejs generator to use it properly. It ends up being very neat and small, and should handle much more complex structures (like arrays of pointers to unions etc). Also added push side support for unions. This should get more of the echo pipe working via ejs. (This used to be commit 2e306be1d83f722c259c4a63233e77d8bb1d5a72)
2007-10-10r8200: - added stub functions for union pull/pushAndrew Tridgell1-0/+3
- kill the js interpreter with an exception on internal errors (This used to be commit 5f062d71481a0aa2d8c89099abb2d171b789879e)
2007-10-10r8198: - handled push/pull of simple strings in ejsAndrew Tridgell3-9/+56
- improved the error handling, so the ejs wrappers don't just ignore a type they don't handle, instead an exception is issued saying what isn't handled (This used to be commit a77c2aa8606ad668f6a513211a1d9e7d6193d741)
2007-10-10r8195: - fixed handling of simple arrays. To keep the logic simple, I moved ↵Andrew Tridgell2-17/+17
to making all push functions taking a constant pointer to the type rather than having a different calling convention for scalars and pointers - fixed the setting of the 'length' element in arrays (This used to be commit 431b4b6888434daa8d1306f0e98bae7b2fe0fddd)
2007-10-10r8194: delete the old hand-written ejs code for echo_AddOne. This is nowAndrew Tridgell1-45/+0
autogenerated by pidl (This used to be commit 697b67ed572a458494fbf9172a341f6b621c84a3)
2007-10-10r8192: updated the glue code for the generated ejs functions from pidlAndrew Tridgell5-30/+155
only handles a small subset of all IDL files so far (This used to be commit 14b6436cc51f599572932bef72c49e0da4888073)
2007-10-10r8114: fixed the build after tpots ejs commit ....Andrew Tridgell1-0/+11
(This used to be commit 8649945cf9932a169190727f99e352ad68b0589f)
2007-10-10r8105: Add ejsrpc push/pull functions for uint16 and uint8.Tim Potter2-12/+55
(This used to be commit ee27943e215126a2048d1082437ef2597d913371)
2007-10-10r8073: a successful rpc call from ejs!Andrew Tridgell6-13/+292
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. (This used to be commit b1ea58ddc482c373783d16331dd07378010ba39a)
2007-10-10r8069: the beginnings of code to allow rpc calls to be made from ejsAndrew Tridgell6-39/+194
tpot, note that this shows how you can modify passed in MprVar variables in C call (This used to be commit a782541db3de6ca3b599a220265cf9e6cb0c4d7b)
2007-10-10r7928: Add rename, unlink and list commands.Tim Potter1-2/+139
list() returns a list of strings, but maybe it should be a list of objects with size, attrib, short name etc. (This used to be commit 696aa182d5a159c26b80829e1eae9a9894cb7986)
2007-10-10r7924: Add mkdir() and rmdir() functions.Tim Potter1-2/+81
Write a macro to check tree handle parameters. (This used to be commit 043feb131f1877886a9ab7e25ada5e54692f6487)
2007-10-10r7922: Comment out complicated connect/session/tree API for the moment. ReplaceTim Potter1-2/+83
with tree_connect() and tree_disconnect() functions. (This used to be commit 9ed763f7fa9e6138d8c1da29c1e0adf2e18cb5e1)
2007-10-10r7633: this patch started as an attempt to make the dcerpc code use a givenAndrew Tridgell2-2/+5
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 (This used to be commit 3a3025485bdb8f600ab528c0b4b4eef0c65e3fc9)
2007-10-10r7570: Add tree, session and socket disconnect ejs functions.Tim Potter1-8/+114
(This used to be commit 63577628b0ee7e6b33053484190189e99cb56a5b)
2007-10-10r7530: Simply calling convention of lp_load().Andrew Bartlett1-1/+1
This always loads all the services, as we now don't have an easy way to split out smbd. Andrew Bartlett (This used to be commit 990e061939c76b559c4f5914c5fc6ca1b13e19dd)
2007-10-10r7505: Add more argument forms for session_setup().Tim Potter1-1/+34
Throw an exception if tree connect fails. (This used to be commit 5b67f2c3d91487fec38b300b4f71792cd9164a78)
2007-10-10r7501: Fix credential initialisation in ejs session setup. Implement fourTim Potter1-7/+127
arg and anonymous version of command. Implement ejs tconx. (This used to be commit 3b7df1037de813d93b284d3b4438b083e668e29f)
2007-10-10r7500: Initialise module subsystems.Tim Potter1-0/+2
(This used to be commit 564dfe14d00e80a0d373ab0fc17803ffaac0892e)
2007-10-10r7477: Add MPR_TYPE_PTR to ejs_typeof().Tim Potter1-1/+2
(This used to be commit 8574f64ca2bda864f472067ae594285b6f5dc957)
2007-10-10r7461: this is the start of some code for mapping IDL onto ejs. This is handAndrew Tridgell1-0/+197
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) (This used to be commit 30e876e9c2ba73a3bc26e7708110e00a8552a75e)
2007-10-10r7457: Return an ejs C pointer object from the ejs connect() function.Tim Potter1-16/+62
Add a session_setup() function that does an anonymous session setup. Will add credential passing later. (This used to be commit 832332de5db7102085e7c44d4256fb199d8123eb)
2007-10-10r7422: Create a ejs object to wrap a smbcli_transport pointer.Tim Potter1-0/+18
(This used to be commit a55e40651d06f416871ccbe04ad3b7d25444d645)
2007-10-10r7355: this should fix the link problem metze hit with smbscriptAndrew Tridgell1-1/+1
(This used to be commit 067255909ed381d397dfc82e4bca219da40810d9)
2007-10-10r7351: Start of ejs smb client library. I need to figure out a nice API hereTim Potter3-0/+91
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. (This used to be commit 8062e808ef5102b96e1b3de046c858e4a69b4d82)