summaryrefslogtreecommitdiff
path: root/source4/scripting/ejs/mprutil.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r11458: fixed our ejs smbscript interfaces to use arrays where appropriate. InAndrew Tridgell1-10/+17
js arrays are a special type of object where the length property is automatic, and cannot be modified manually. Our code was manually setting length, which made it abort when someone passed in a real ejs array. To fix this we need to create real arrays instead of objects, and remove the code that manually sets the length (This used to be commit ebdd1393fde44a0a35446d1a922d29a7c1769ba7)
2007-10-10r9700: Change DATA_BLOB in ejs back to struct datablobJelmer Vernooij1-3/+3
Support writing idmap mappings to winbind.ldif (This used to be commit 3709def35303f1afed0f344628fe2c89250ee087)
2007-10-10r9698: Fix a bit of memory managementJelmer Vernooij1-1/+1
More minor bugfixes Support mapping objectclasses and do mapping on 'dn' field as well (not just msg->dn) (This used to be commit b7b079167d5c6616f7c5c4afb7dd80c15707cfd9)
2007-10-10r9464: fixed a problem with child pointers copied into non-allocated mpr ↵Andrew Tridgell1-2/+4
variables. We now use the same free technique as is used for mpr strings, rather than relying on being a child of the variable (This used to be commit 3d6739eaa6e1b56d67bc7d9b5350a6911c96597a)
2007-10-10r9391: Convert all the code to use struct ldb_dn to ohandle ldap like ↵Simo Sorce1-2/+2
distinguished names Provide more functions to handle DNs in this form (This used to be commit 692e35b7797e39533dd2a1c4b63d9da30f1eb5ba)
2007-10-10r9339: treat arrays of uint8 values as a special DATA_BLOB type in the ejsAndrew Tridgell1-0/+25
interfaces to RPC. This makes large blobs of data much saner. Tim, you will probably want to do the same for the smb_interfaces.h generated code. Next we will need ways of extracting different data types from these blobs, for example asking for the blob to be interpreted as a utf16 string, or as a little-endian integer. That will allow for registry scripting to be quite sane. (This used to be commit a8bca2e8e27c953c0413693326ec3b5ecf17ba41)
2007-10-10r9210: fixed support for a credentials element in a rpc object in ejs to notAndrew Tridgell1-4/+5
give lots of warnings of missing properties (This used to be commit 15737abd747cea561eca92103919f4adc22c6fcd)
2007-10-10r9171: - support putting a credentials object in a rpc pipe object to allow ↵Andrew Tridgell1-5/+4
authentication with other than the command line credentials in a rpc pipe (This used to be commit aae05ebc9c3dc7ad367aed09c54b85184ba7a82e)
2007-10-10r9096: Spelling.Tim Potter1-1/+1
(This used to be commit c61b29bdf043792d885528bd7666c9bea9107928)
2007-10-10r8742: fixed handling of zero length names in mprObject()Andrew Tridgell1-1/+1
(This used to be commit 8086c37df65ac666aa340141d3584e9bc2c81278)
2007-10-10r8659: return ldif formatted attributes in the ejs ldb search call, so sids ↵Andrew Tridgell1-7/+23
show up as strings not binary blobs (This used to be commit d2c29a5a51f68cabb9ef587376bf0a6b936cdd76)
2007-10-10r8635: make object inheritance with the builtin objects easy by allowingAndrew Tridgell1-0/+14
callers to optionally supply an existing object to add the properties to. So you can do: var rpc = samr_init(); lsa_init(rpc); and you end up with 'rpc' having both the samr and lsa functions and constants available. (This used to be commit 6a1ed328e27769bd52899fc2437a43fc17104eff)
2007-10-10r8489: neaten up the object handlingAndrew Tridgell1-0/+18
(This used to be commit ccf20b2b13b11ac07b59988809b6c5160388a616)
2007-10-10r8488: after discussions with simo, moved to a full OO interface, so you ↵Andrew Tridgell1-2/+5
don't need to keep a 'db' variable around. The ldb object knows what it is connected to. Added a simple ldb testsuite in testprogs/ldb.js (This used to be commit cf35818648b5b649d0cd25f115a04b7b5b5311aa)
2007-10-10r8481: switched ldb ejs called over to an OO interface, so you do:Andrew Tridgell1-0/+15
var ldb = ldb_init(); res = ldb.search(dbfile, "(objectClass=user)"); you can also do: ldbSearch = ldb.search; res = ldbSearch(dbfile, "(objectClass=user)"); if you want the old interface (ie. you can use this to import functions into the global or local namespace). (This used to be commit 3093057d9735cbb62f57e7159264d5a28b85320f)
2007-10-10r8399: move the ejs and esp code closer to the directory layout used by theAndrew Tridgell1-1/+1
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 (This used to be commit 52db7a052baeb0f11361ed69b71cb790039e3cc9)
2007-10-10r8340: - added sys_gmtime()Andrew Tridgell1-7/+7
- added sys_unlink() - added sys_file_load() and sys_file_save() - use mprString() instead of mprCreateStringVar() to cope with NULL strings - removed smbcalls_irpc.c as its not needed any more - allow ldbAdd() and ldbModify() to take multiple ldif records - added a sprintf() function to ejs. Quite complex, but very useful! (This used to be commit 625628a3f6e78349d2240ebcc79081f350672070)
2007-10-10r8337: - use 64 bit access functions in ejs callsAndrew Tridgell1-3/+35
- 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 Tridgell1-3/+3
(This used to be commit b0f9ddafe95d4e8d846bc72a39e94d22da271348)
2007-10-10r8320: make sure all our returned objects are full objects, which means theyAndrew Tridgell1-8/+15
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 Tridgell1-0/+12
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 Tridgell1-0/+3
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-10r8284: - fixed some uninitialised variables in the irpc codeAndrew Tridgell1-3/+3
- 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-10r8280: - added irpc_connect() for connecting to a irpc server by nameAndrew Tridgell1-0/+9
- 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 Tridgell1-31/+95
lots of rpc calls without memory usage increasing. (This used to be commit 9c885a7edb771486793eb287288158157b34e8f3)
2007-10-10r8256: - allow rpc calls from non-command line ejs contexts by creating a setAndrew Tridgell1-0/+1
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-10r8073: a successful rpc call from ejs!Andrew Tridgell1-2/+2
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 Tridgell1-0/+26
tpot, note that this shows how you can modify passed in MprVar variables in C call (This used to be commit a782541db3de6ca3b599a220265cf9e6cb0c4d7b)
2007-10-10r7254: Add a mprWERROR() function with the same attributes as mprNTSTATUS.Tim Potter1-0/+24
(This used to be commit 2fa6f7bb2b8390f6486f6531212b556e98a6c528)
2007-10-10r7225: Create a MprVar object from a NTSTATUS, e.g:Tim Potter1-0/+23
res: { is_err: true, is_ok: false, errstr: "NT_STATUS_IO_TIMEOUT", v: -1073741643 } (This used to be commit d81d5f8317ca82a08e6fc38ef7313fad2e631281)
2007-10-10r7081: Add mprToInt() function.Tim Potter1-0/+9
(This used to be commit 790a46f53bd5b6994cbf6aed670df1407a44e2f3)
2007-10-10r7072: moved the esp hooks calls to the ejs level, so we can call them fromAndrew Tridgell1-0/+159
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)