summaryrefslogtreecommitdiff
path: root/source4/scripting/ejs
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r8700: Propmted by tridge's need to do plaintext auth in ejs, rework theAndrew Bartlett1-10/+25
user_info strcture in auth/ This moves it to a pattern much like that found in ntvfs, with functions to migrate between PAIN, HASH and RESPONSE passwords. Instead of make_user_info*() functions, we simply fill in the control block in the callers, per recent dicussions on the lists. This removed a lot of data copies as well as error paths, as we can grab much of it with talloc. Andrew Bartlett (This used to be commit ecbd2235a3e2be937440fa1dc0aecc5a047eda88)
2007-10-10r8678: setup for gdb backtrace in 'make test'Andrew Tridgell1-0/+1
(This used to be commit acf8c8fd4995acef47390df5a7d4e611c597367d)
2007-10-10r8661: added strstr() ejs function in string libAndrew Tridgell1-0/+17
(This used to be commit a569fc8924e8c8edbdfa7efc89ad99659af8c379)
2007-10-10r8659: return ldif formatted attributes in the ejs ldb search call, so sids ↵Andrew Tridgell2-8/+24
show up as strings not binary blobs (This used to be commit d2c29a5a51f68cabb9ef587376bf0a6b936cdd76)
2007-10-10r8643: - make lp_configfile() work againAndrew Tridgell2-5/+42
- get rid of redundeny dyn_CONFIGFILE argument to lp_load() - fixed provisioning to work with completely pristine install, creating an initial smb.conf is none is present - added lp.set() and lp.reload() to loadparm ejs object interface (This used to be commit c2691ef7126ddcee5f95970b78759b40a049d0a7)
2007-10-10r8640: continue the trend by moving the ejs random calls into an objectAndrew Tridgell1-4/+15
(This used to be commit ed4fb68ef7c28e415408e923bd9eefcd2d60f355)
2007-10-10r8639: moved loadparm calls into an ejs objectAndrew Tridgell1-2/+13
(This used to be commit 2dc493eea6f9d87c40ad0dc755f528ce0b33ca47)
2007-10-10r8638: continue the trend of maknig our C functions true ejs objects by ↵Andrew Tridgell1-7/+19
making the string functions into an object. To keep existing code working I have added: string_init(global); into base.js. That brings the functions into the global scope for our existing scripts (This used to be commit a978484738168b82441c4dc4f5f803d349769a4b)
2007-10-10r8637: added sys.stat() and sys.lstat() callsAndrew Tridgell1-0/+71
(This used to be commit 5dbdf4fb3317964541339615b7ecbf174a2dc00b)
2007-10-10r8635: make object inheritance with the builtin objects easy by allowingAndrew Tridgell4-22/+29
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-10r8633: check for valid input to ejs_userAuth()Andrew Tridgell1-0/+5
(This used to be commit 8e788ae3094220e5ea195cdf85abb6763a834abd)
2007-10-10r8629: - moved the getDomainList() call out of smbcalls_auth.c and into ↵Andrew Tridgell1-27/+8
libjs/auth.js - tried to make the ejs_userAuth() call work for the sam, not just for unix auth. I didn't get this working. Andrew, when you get a chance can you see what I'm doing wrong? I suspect its because we aren't supplying a challenge, but a challenge doesn't really make sense in a 'is this username/password' correct call. (This used to be commit 9e07c08a71908e99c2f44efc40a3249facd6850f)
2007-10-10r8602: allow options in ldb connect callsAndrew Tridgell1-2/+3
(This used to be commit 4c1d6a97c0c9df2848a16afb1b4eed4b20963bef)
2007-10-10r8582: added sys.httptime() call, to display a NTTIME as a http time stringAndrew Tridgell1-0/+19
(This used to be commit 632f7bbe3e81af1ee89301765f8bfb72d4c9f3d7)
2007-10-10r8581: fixed handling of 64 bit integers in rpc calls from ejsAndrew Tridgell1-14/+8
(This used to be commit 2ae6a338466bf287ea2180d5ad7313ba116b88ca)
2007-10-10r8569: delete is a js reserved word, so use del insteadAndrew Tridgell1-1/+1
(This used to be commit 9af48b8fc201822e290a1071d9e61afe519558f5)
2007-10-10r8561: as with the other ejs subsystems, make nss into a objectAndrew Tridgell1-8/+23
(This used to be commit a3f3292e6698ce9be6a5036f47dd4fa81a1dfd4e)
2007-10-10r8557: expose ldb_errstring() in ldb ejs codeAndrew Tridgell1-0/+19
(This used to be commit 21ca972d06bbf4694569855f39a1649d799c05c7)
2007-10-10r8520: fixed a pile of warnings from the build farm gcc -Wall output onAndrew Tridgell1-1/+1
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 (This used to be commit a58ea6b3854973b694d2b1e22323ed7eb00e3a3f)
2007-10-10r8516: let us use all parameters of ldbsearch in ldb.searchSimo Sorce1-8/+31
(This used to be commit e709e3792846e2bd48b55112c74395d1ab3a1b6a)
2007-10-10r8499: clearer function nameSimo Sorce1-5/+5
(This used to be commit 5a6c2170ff83c29ed1d7f0f5329f2d9aa00c223a)
2007-10-10r8489: neaten up the object handlingAndrew Tridgell2-4/+20
(This used to be commit ccf20b2b13b11ac07b59988809b6c5160388a616)
2007-10-10r8488: after discussions with simo, moved to a full OO interface, so you ↵Andrew Tridgell2-41/+44
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-10r8486: switched to a separate connection operation in ldb interfaceAndrew Tridgell1-73/+101
(a suggestion from simo) (This used to be commit 98c9c4ecb87e1b140002390067892806464849da)
2007-10-10r8484: switched the sys_*() calls to the OO interfaceAndrew Tridgell1-8/+22
tim, do you want to do the cli_*() calls now? (This used to be commit 9991e924e9dacec663a5d040ccfc878927fc3afa)
2007-10-10r8483: switched our generated ejs rpc code over to the new OO interface. ThisAndrew Tridgell6-60/+6
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 (This used to be commit 57d7a585e8162d21c7152952aa0cc7471968784f)
2007-10-10r8481: switched ldb ejs called over to an OO interface, so you do:Andrew Tridgell3-5/+35
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-10r8452: allow for the ugly hack:Andrew Tridgell1-9/+9
#!/bin/sh exec smbscript "$0" ${1+"$@"} which is needed because bloody solaris puts 'env' in /bin instead of /usr/bin also neaten up the #! handling code. (This used to be commit 778bcd3738e42d8adfd4529f790c898f0d904363)
2007-10-10r8411: we need to use mprVarToNumber() instead of var->integer now, to cope withAndrew Tridgell1-1/+1
the 64 bit integer support this fixes the exit status from smbscript (This used to be commit f476e7aeec56a921fd286d3fe2cb0a229e57a9e8)
2007-10-10r8406: make sure we give an error in ldbAdd() if any record failsAndrew Tridgell1-0/+1
(This used to be commit 632f99017ded607c80022f730b6ec7e37bd13642)
2007-10-10r8399: move the ejs and esp code closer to the directory layout used by theAndrew Tridgell16-16/+16
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-10r8394: Make sure the argument to ctype is*(3) macros are unsigned char asLove Hörnquist Åstrand1-1/+1
required by ISO C99. (This used to be commit 56fd21c806e816cf4c3d23881f26474f858b45e2)
2007-10-10r8372: - split out provisioning logic into a separate ejs libraryAndrew Tridgell1-0/+15
- added a provisioning web page (This used to be commit 7476cb94132cf2849ec19360468904ca6fe8de2c)
2007-10-10r8358: Return an error message if js include path not set instead of silentlyTim Potter1-0/+1
failing. (This used to be commit 797d9cf0c72992b2d5b9912d0f41873b6acc3195)
2007-10-10r8357: Call lp_load() so we can access the various lp_functions().Tim Potter1-0/+2
(This used to be commit f76a7ec2a2ef5db7ca7dced519474495d7ea02dc)
2007-10-10r8355: - added a vsprintf() functionAndrew Tridgell1-0/+36
- removed the --outputdir option from provision, as its not used any more (as ejs knows the real paths) (This used to be commit abbf9c703c17c2edc2d978dade3619a96c38d0d9)
2007-10-10r8340: - added sys_gmtime()Andrew Tridgell10-234/+236
- 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-10r8339: added ldbAdd(), ldbModify(), ldbDelete() and ldbRename() to ejs ldb ↵Andrew Tridgell1-0/+144
functions (This used to be commit 322c2137835ff2d76b3183901bf680780f164b5e)
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 Tridgell6-3/+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-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)