1
0
mirror of https://github.com/samba-team/samba.git synced 2025-05-03 02:50:23 +03:00

408 Commits

Author SHA1 Message Date
Andrew Tridgell
86d628a292 r8639: moved loadparm calls into an ejs object
(This used to be commit 2dc493eea6f9d87c40ad0dc755f528ce0b33ca47)
2007-10-10 13:29:48 -05:00
Andrew Tridgell
620301858a r8638: continue the trend of maknig our C functions true ejs objects by 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-10 13:29:48 -05:00
Andrew Tridgell
3d59490a40 r8637: added sys.stat() and sys.lstat() calls
(This used to be commit 5dbdf4fb3317964541339615b7ecbf174a2dc00b)
2007-10-10 13:29:48 -05:00
Andrew Tridgell
240ca36cf2 r8635: make object inheritance with the builtin objects easy by allowing
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-10 13:29:47 -05:00
Andrew Tridgell
d6c20a5c8a r8633: check for valid input to ejs_userAuth()
(This used to be commit 8e788ae3094220e5ea195cdf85abb6763a834abd)
2007-10-10 13:29:46 -05:00
Andrew Tridgell
e9c925f872 r8629: - moved the getDomainList() call out of smbcalls_auth.c and into 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-10 13:29:46 -05:00
Andrew Tridgell
da88ef65e0 r8602: allow options in ldb connect calls
(This used to be commit 4c1d6a97c0c9df2848a16afb1b4eed4b20963bef)
2007-10-10 13:29:44 -05:00
Andrew Tridgell
afe0fffc44 r8582: added sys.httptime() call, to display a NTTIME as a http time string
(This used to be commit 632f7bbe3e81af1ee89301765f8bfb72d4c9f3d7)
2007-10-10 13:29:41 -05:00
Andrew Tridgell
6615b40601 r8581: fixed handling of 64 bit integers in rpc calls from ejs
(This used to be commit 2ae6a338466bf287ea2180d5ad7313ba116b88ca)
2007-10-10 13:29:41 -05:00
Andrew Tridgell
09708a2012 r8569: delete is a js reserved word, so use del instead
(This used to be commit 9af48b8fc201822e290a1071d9e61afe519558f5)
2007-10-10 13:29:39 -05:00
Andrew Tridgell
f1245d4ac1 r8561: as with the other ejs subsystems, make nss into a object
(This used to be commit a3f3292e6698ce9be6a5036f47dd4fa81a1dfd4e)
2007-10-10 13:29:38 -05:00
Andrew Tridgell
0752efe055 r8557: expose ldb_errstring() in ldb ejs code
(This used to be commit 21ca972d06bbf4694569855f39a1649d799c05c7)
2007-10-10 13:29:37 -05:00
Andrew Tridgell
e835621799 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
(This used to be commit a58ea6b3854973b694d2b1e22323ed7eb00e3a3f)
2007-10-10 13:29:34 -05:00
Simo Sorce
54c30b0585 r8516: let us use all parameters of ldbsearch in ldb.search
(This used to be commit e709e3792846e2bd48b55112c74395d1ab3a1b6a)
2007-10-10 13:29:33 -05:00
Simo Sorce
7d4004a129 r8499: clearer function name
(This used to be commit 5a6c2170ff83c29ed1d7f0f5329f2d9aa00c223a)
2007-10-10 13:23:10 -05:00
Andrew Tridgell
84e3efd8ea r8489: neaten up the object handling
(This used to be commit ccf20b2b13b11ac07b59988809b6c5160388a616)
2007-10-10 13:23:09 -05:00
Andrew Tridgell
94d99612b9 r8488: after discussions with simo, moved to a full OO interface, so you 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-10 13:23:08 -05:00
Andrew Tridgell
4f62205cad r8486: switched to a separate connection operation in ldb interface
(a suggestion from simo)
(This used to be commit 98c9c4ecb87e1b140002390067892806464849da)
2007-10-10 13:23:08 -05:00
Andrew Tridgell
7913cbbe11 r8484: switched the sys_*() calls to the OO interface
tim, do you want to do the cli_*() calls now?
(This used to be commit 9991e924e9dacec663a5d040ccfc878927fc3afa)
2007-10-10 13:23:08 -05:00
Andrew Tridgell
a0bc4da1a3 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
(This used to be commit 57d7a585e8162d21c7152952aa0cc7471968784f)
2007-10-10 13:23:08 -05:00
Andrew Tridgell
63535f566e r8481: switched ldb ejs called over to an OO interface, so you do:
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-10 13:23:07 -05:00
Andrew Tridgell
0e5907d57c r8452: allow for the ugly hack:
#!/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-10 13:23:05 -05:00
Andrew Tridgell
a3b0bb89b4 r8411: we need to use mprVarToNumber() instead of var->integer now, to cope with
the 64 bit integer support

this fixes the exit status from smbscript
(This used to be commit f476e7aeec56a921fd286d3fe2cb0a229e57a9e8)
2007-10-10 13:22:59 -05:00
Andrew Tridgell
e2881aca86 r8406: make sure we give an error in ldbAdd() if any record fails
(This used to be commit 632f99017ded607c80022f730b6ec7e37bd13642)
2007-10-10 13:22:58 -05:00
Andrew Tridgell
adbb1612c1 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
(This used to be commit 52db7a052baeb0f11361ed69b71cb790039e3cc9)
2007-10-10 13:22:39 -05:00
Love Hörnquist Åstrand
61edb97bdf r8394: Make sure the argument to ctype is*(3) macros are unsigned char as
required by ISO C99.
(This used to be commit 56fd21c806e816cf4c3d23881f26474f858b45e2)
2007-10-10 13:20:14 -05:00
Andrew Tridgell
adb7fd18e5 r8372: - split out provisioning logic into a separate ejs library
- added a provisioning web page
(This used to be commit 7476cb94132cf2849ec19360468904ca6fe8de2c)
2007-10-10 13:20:13 -05:00
Tim Potter
24f4236a9f r8358: Return an error message if js include path not set instead of silently
failing.
(This used to be commit 797d9cf0c72992b2d5b9912d0f41873b6acc3195)
2007-10-10 13:20:11 -05:00
Tim Potter
6b38e62f0a r8357: Call lp_load() so we can access the various lp_functions().
(This used to be commit f76a7ec2a2ef5db7ca7dced519474495d7ea02dc)
2007-10-10 13:20:11 -05:00
Andrew Tridgell
26a55c330a r8355: - added a vsprintf() function
- 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-10 13:20:10 -05:00
Andrew Tridgell
9f86e20286 r8340: - added sys_gmtime()
- 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-10 13:20:08 -05:00
Andrew Tridgell
1bb2b06031 r8339: added ldbAdd(), ldbModify(), ldbDelete() and ldbRename() to ejs ldb functions
(This used to be commit 322c2137835ff2d76b3183901bf680780f164b5e)
2007-10-10 13:20:08 -05:00
Andrew Tridgell
b1e93b296e r8337: - use 64 bit access functions in ejs calls
- 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-10 13:20:07 -05:00
Andrew Tridgell
ba1ee57df4 r8333: merged with latest upstream ejs sources
(This used to be commit b0f9ddafe95d4e8d846bc72a39e94d22da271348)
2007-10-10 13:20:07 -05:00
Andrew Tridgell
c30c711292 r8331: added split(), join() and FileLoad() functions to ejs.
this gets me most of the way through a ejs provision script
(This used to be commit 0ef8f0282e0490328bbcdc8c6daff3f8fac99087)
2007-10-10 13:20:06 -05:00
Andrew Tridgell
887461327a r8320: make sure all our returned objects are full objects, which means they
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-10 13:20:06 -05:00
Andrew Tridgell
683432660e r8318: added a bunch more ejs calls.
getgr*()
  getpw*()
  strlower()
  strupper()
  IfaceList()
(This used to be commit 1517ad490dd67302f38ab9dcd8a3b24b73b8d550)
2007-10-10 13:20:06 -05:00
Andrew Tridgell
f583a85d4d r8316: give full access to the popt command line parsing in ejs scripts, 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-10 13:20:05 -05:00
Andrew Tridgell
b2f1321821 r8297: add libinclude() function in ejs, which is like include() but 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-10 13:19:32 -05:00
Andrew Tridgell
b2f84fef13 r8296: - split out the ejs auth functions into a separate file
- got rid of the one line ejs_returnlist()
(This used to be commit 6961fe29058cffd8e69d9ce7e7d3902f973411c0)
2007-10-10 13:19:32 -05:00
Andrew Tridgell
056096c30b r8284: - fixed some uninitialised variables in the irpc code
- 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-10 13:19:31 -05:00
Andrew Tridgell
0871be3f35 r8281: pass the callnum and rpc interface table directly from the generated
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-10 13:19:31 -05:00
Andrew Tridgell
f3c6f290f0 r8280: - added irpc_connect() for connecting to a irpc server by name
- 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-10 13:19:30 -05:00
Andrew Tridgell
60ec75cbc7 r8276: fixed the remaining memory leaks in smbscript. We can now loop doing
lots of rpc calls without memory usage increasing.
(This used to be commit 9c885a7edb771486793eb287288158157b34e8f3)
2007-10-10 13:19:30 -05:00
Andrew Tridgell
76ecf81428 r8273: fixed some memory leaks in smbscript. This required converting
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-10 13:19:29 -05:00
Andrew Tridgell
b4e53e6705 r8262: - simplify the dependency handling for ejs modules
- 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-10 13:19:27 -05:00
Andrew Tridgell
cd88764ba1 r8260: added an init based registration system for the generated ejs rpc code, so
adding a new pipe only involves changes to librpc/config.mk
(This used to be commit 0e54fa446665f380e9c46723a6e2be5a08b8d51c)
2007-10-10 13:19:27 -05:00
Andrew Tridgell
7efeb8f451 r8256: - allow rpc calls from non-command line ejs contexts by creating a set
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-10 13:19:26 -05:00
Andrew Tridgell
fe1cf1eeb7 r8254: fixed a valgrind error in the unix auth code
(This used to be commit ad1a4802d0634960646a6efe039fe8b62ead63dd)
2007-10-10 13:19:26 -05:00
Andrew Tridgell
987e67df52 r8238: - fixed handling of NULL pointers from ejs
- added automatic creation of all constants in IDL as ejs variables
(This used to be commit 9398b02e4ba51145e447668e321ca927f44c0078)
2007-10-10 13:19:23 -05:00