1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-25 19:17:10 +03:00

236 Commits

Author SHA1 Message Date
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
2d0468ac9a r8445: if a system doesn't have "nogroup" then try "nobody"
(This used to be commit 433f9d0a619ff34a4b7506950ee091fb8d34870d)
2007-10-10 13:23:04 -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
2dce83de0c r8338: - added a substitute_var() js library function for doing hash driven
substitution of variables in strings

- the js provision script now correctly processes provision.ldif
(This used to be commit c2946003e06c4898ba0444cd0b69d3203753be94)
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
f9ff72cbda r8298: - started building a library of js routines in scripting/libjs/
- switched the existing test programs over to using the library

- added install of js lib
(This used to be commit 2a444dedbe44347268affc6458196f93ca7d372b)
2007-10-10 13:19:33 -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
Andrew Tridgell
e897a57067 r8236: fixed support for arrays of structures
(This used to be commit cbe5289ac9a8adfe68704dc16a2b32ecbd15a4eb)
2007-10-10 13:19:23 -05:00
Andrew Tridgell
f55b2b9610 r8233: - added support for more base types in pidl ejs
- 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-10 13:19:23 -05:00
Andrew Tridgell
c851532bec r8230: prevent authentication dying on a NULL domain
(This used to be commit e1cfc6d03244e04d59a96ef2abb5b48fcb157b0a)
2007-10-10 13:19:22 -05:00
Andrew Tridgell
c11204339a r8220: added auto-generation of ENUM constants in ejs wrapper. So we can now use the enum name
instead of a integer in ejs scripts making rpc calls
(This used to be commit a61cdee384c3002860016c1740276529493d318d)
2007-10-10 13:19:21 -05:00
Andrew Tridgell
5fa5eb1da0 r8216: - handle union pull in ejs pidl generation
- added debugging calls for missing structure/union elements
(This used to be commit f3ff48204cb8edeb9f42afbbefe13f7d49305506)
2007-10-10 13:19:20 -05:00
Andrew Tridgell
7fded3c856 r8215: switched the pull side of the ejs generator over to the recursive LEVELS based approach.
This allows for much more complex structure mappings to be generated.
(This used to be commit 49fc14d13291b02f7b16ab0eefe7bfb26f51b1c8)
2007-10-10 13:19:20 -05:00
Andrew Tridgell
ceb277ced9 r8213: I've started to understand the LEVELS stuff in pidl much better now,
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-10 13:19:20 -05:00
Andrew Tridgell
65ddc6e9b9 r8200: - added stub functions for union pull/push
- kill the js interpreter with an exception on internal errors
(This used to be commit 5f062d71481a0aa2d8c89099abb2d171b789879e)
2007-10-10 13:19:19 -05:00
Andrew Tridgell
f44b9ae3e6 r8198: - handled push/pull of simple strings in ejs
- 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-10 13:19:19 -05:00
Andrew Tridgell
74ac1686d5 r8195: - fixed handling of simple arrays. To keep the logic simple, I moved 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-10 13:19:18 -05:00
Andrew Tridgell
3605d2d7ab r8194: delete the old hand-written ejs code for echo_AddOne. This is now
autogenerated by pidl
(This used to be commit 697b67ed572a458494fbf9172a341f6b621c84a3)
2007-10-10 13:19:18 -05:00
Andrew Tridgell
7c3fc18315 r8192: updated the glue code for the generated ejs functions from pidl
only handles a small subset of all IDL files so far
(This used to be commit 14b6436cc51f599572932bef72c49e0da4888073)
2007-10-10 13:19:18 -05:00
Andrew Tridgell
319f19eb90 r8114: fixed the build after tpots ejs commit ....
(This used to be commit 8649945cf9932a169190727f99e352ad68b0589f)
2007-10-10 13:19:10 -05:00
Tim Potter
766e8e1acb r8105: Add ejsrpc push/pull functions for uint16 and uint8.
(This used to be commit ee27943e215126a2048d1082437ef2597d913371)
2007-10-10 13:19:08 -05:00
Andrew Tridgell
9331714787 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.
(This used to be commit b1ea58ddc482c373783d16331dd07378010ba39a)
2007-10-10 13:19:05 -05:00
Andrew Tridgell
643e5d8239 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
(This used to be commit a782541db3de6ca3b599a220265cf9e6cb0c4d7b)
2007-10-10 13:19:04 -05:00
Tim Potter
c36e1ae46c 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.
(This used to be commit 696aa182d5a159c26b80829e1eae9a9894cb7986)
2007-10-10 13:18:51 -05:00
Tim Potter
ae73a40ad4 r7924: Add mkdir() and rmdir() functions.
Write a macro to check tree handle parameters.
(This used to be commit 043feb131f1877886a9ab7e25ada5e54692f6487)
2007-10-10 13:18:51 -05:00