1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-01 21:18:10 +03:00
Commit Graph

351 Commits

Author SHA1 Message Date
Andrew Tridgell
e0ac659917 signed DCERPC over TCP now works !
* moved ntlmssp code into libcli/auth/, and updated to latest ntlmssp
   code from samba3 (thanks Andrew! the new interface is great)

 * added signing/ntlmssp support in the dcerpc code

 * added a dcerpc_auth.c module for the various dcerpc auth mechanisms
(This used to be commit c18c9b5585)
2003-11-26 01:16:41 +00:00
Andrew Tridgell
06942f3ddb added some paranoid checking for enums
(This used to be commit 3492f37b0b)
2003-11-26 01:13:00 +00:00
Tim Potter
49a85dc890 Spoolss functions return WERROR not NTSTATUS.
Start writing idl for forms RPCs.
(This used to be commit 9274ef60b6)
2003-11-25 11:24:49 +00:00
Jelmer Vernooij
a846e59205 CVS: ----------------------------------------------------------------------
CVS: Enter Log.  Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: 	Makefile.in configure.in include/includes.h include/ntvfs.h
CVS: 	include/smb.h lib/iconv.c lib/module.c ntvfs/ntvfs_base.c
CVS: 	ntvfs/cifs/vfs_cifs.c ntvfs/ipc/vfs_ipc.c
CVS: 	ntvfs/posix/vfs_posix.c ntvfs/print/vfs_print.c
CVS: 	ntvfs/reference/vfs_ref.c ntvfs/simple/vfs_simple.c
CVS: 	passdb/pdb_interface.c
CVS: Added Files:
CVS: 	include/module.h
CVS: ----------------------------------------------------------------------
Update to the modules system. Fixed:
 - get rid of smb_probe_module
 - merge older updates from 3.0
 - introduced register_subsystem() and register_backend() functions
 - adapt ntvfs and charset to use new register functions
 - made smb_load_modules() work recursively (e.g. 'preload modules = /usr/lib/samba')
 - got rid of some old remains

Things that still need work:
 - Did I break tankFS? I don't think so, but I can't test it here :-(
 - Add 'postload modules = ' (for modules that need to be loaded after fork() in smbd, if applicable)
 - Convert RPC, auth, passdb, etc to use new register_{subsystem,backend}() functions
 - Accept wildcards in 'preload modules' option, instead of loading recursively
(This used to be commit 7512b9ab1a)
2003-11-25 03:15:26 +00:00
Jelmer Vernooij
97dbe926ec Update to the modules system. Fixed:
- get rid of smb_probe_module
 - merge older updates from 3.0
 - introduced register_subsystem() and register_backend() functions
 - adapt ntvfs and charset to use new register functions
 - made smb_load_modules() work recursively (e.g. 'preload modules = /usr/lib/samba')
 - got rid of some old remains

Things that still need work:
 - Did I break tankFS? I don't think so, but I can't test it here :-(
 - Add 'postload modules = ' (for modules that need to be loaded after fork() in smbd, if applicable)
 - Convert RPC, auth, passdb, etc to use new register_{subsystem,backend}() functions
 - Accept wildcards in 'preload modules' option, instead of loading recursively
(This used to be commit 3433c4c71f)
2003-11-25 02:09:40 +00:00
Andrew Tridgell
f4e485117a * fixed byte order in epmapper parsing
* allow rpc transport to be specified on command line in smbtorture
(This used to be commit 8a82050fd6)
2003-11-24 13:19:00 +00:00
Andrew Tridgell
7befc0648e initial implementation of dcerpc over tcp. RPC-EPMAPPER works, now to
add epm_Map calls and support the rest of the pipes
(This used to be commit 39add48158)
2003-11-24 12:40:47 +00:00
Andrew Tridgell
bbb11d4a0d * prepared the dcerpc subsystem for adding the RPC over TCP transport
* fixed a uninitialised variable bug in pidl (found by valgrind)
(This used to be commit 8bce61b8af)
2003-11-24 11:45:33 +00:00
Andrew Tridgell
5e64ecac2f removed the STFS specific flags in the Makefile.
Jim, we are going to need to redo the STFS backend as a module, as
otherwise maintaining it outside of the samba.org tree will become too
awkward.
(This used to be commit 0fedafd7a0)
2003-11-24 10:37:24 +00:00
Andrew Tridgell
f5fe95abd2 added tests for epm_Map endpointer map calls
(This used to be commit 570ad78525)
2003-11-24 10:15:17 +00:00
Andrew Tridgell
7d36545d33 give far more detail in the EPMAPPER results
(This used to be commit 4203019698)
2003-11-24 05:28:10 +00:00
Andrew Tridgell
3114289c64 make sure we don't try to update a constant
(This used to be commit 4a6034f2e3)
2003-11-24 03:31:03 +00:00
Andrew Tridgell
e4773b184c added tests for the remaining calls on the rpc management interface
(This used to be commit 00f9b0e120)
2003-11-24 03:21:49 +00:00
Andrew Tridgell
c7fd83d0b2 added the dcerpc remote management interfaces as mgmt.idl, and wrote a
test suite. The test suite dumps all of the interfaces available on
all pipes. There sure are a lot more interfaces on w2k3 than w2k !
(This used to be commit f94bc07990)
2003-11-24 01:24:29 +00:00
Andrew Tridgell
27b1dbaea6 * better diagnostics in ndrdump
* added samr_Connect2()
(This used to be commit 6b262ca37c)
2003-11-23 21:51:24 +00:00
Andrew Tridgell
3d0e6b3835 added a tool called 'ndrdump' that allows you to dump NDR data
according to the current IDL taking the data from a file. In
combination with a little hack to ethereal to extract data this is a
quite powerful IDL development tool.
(This used to be commit 229a325c3c)
2003-11-23 13:44:19 +00:00
Tim Potter
66694c571f Modify WINREG test program to recursively enumerate keys in all known
hives.  Limit the recursion depth to ensure the test doesn't run too long.
(This used to be commit 152af383b8)
2003-11-23 11:57:15 +00:00
Tim Potter
c32a03ad12 Removed unused variable.
(This used to be commit 40ccaeefed)
2003-11-23 11:05:31 +00:00
Tim Potter
29ee36d0c9 Check NT_STATUS code from dcerpc call function before checking the
WERROR code.
(This used to be commit b4792b7b31)
2003-11-23 10:51:39 +00:00
Tim Potter
c071301a77 Add a strlen_m_term() function for returning the length of a string
including the termination.  Using value(strlen_m((r->name)+1)*2) gives
the wrong answer for the NULL string.
(This used to be commit 7ae329e663)
2003-11-23 10:50:52 +00:00
Andrew Tridgell
1b9452ffc5 fixed the handling of value() attributes on scalars in IDL that
reference other elements of the same structure
(This used to be commit d8d17be290)
2003-11-23 07:14:17 +00:00
Tim Potter
03eda90641 Actually call right function name.
(This used to be commit 634ea43720)
2003-11-23 06:54:18 +00:00
Tim Potter
8cd945501b Call enumkey for tridge.
(This used to be commit cc71bd2a90)
2003-11-23 06:38:37 +00:00
Tim Potter
136c2d7961 String termination fix.
Re-arrange winreg tests - currently it's failing with an input validation
error on tridge's test pull/push test code.
(This used to be commit 8f154f8b9f)
2003-11-23 06:31:10 +00:00
Tim Potter
aa42dd6269 Strings in the winreg pipe are terminated.
(This used to be commit 1f56d4cd04)
2003-11-23 06:29:11 +00:00
Andrew Tridgell
800d3e0134 ooh, this is fun!
I have recoded the core dcerpc packet structures (all the PDUs etc) in
terms of IDL, which means we now use pidl to generate all the code for
handling the most basic dcerpc packets. This is not normally possible
as it isn't completely valid NDR, but pidl has a number of extensions
that make it quite easy.

This also means we get the server side dcerpc
marshalling/unmarshalling code for free.
(This used to be commit 92bcad0258)
2003-11-23 06:28:12 +00:00
Andrew Tridgell
02dc7536dd save about 35% of the time for "make idl" by processing multiple IDL
files at once, which means less perl startup time.
(This used to be commit 64b2c67e47)
2003-11-23 03:42:20 +00:00
Andrew Tridgell
231ae2430e get rid of some more unused headers
(This used to be commit 48276c768b)
2003-11-23 03:10:50 +00:00
Andrew Tridgell
11e9184895 by using a single proto.h we gain another factor of 4 in the speed of
"make proto"
(This used to be commit f6bb118799)
2003-11-23 03:03:27 +00:00
Andrew Tridgell
1bd5a8ac1a final bit of tidyup and speedup
(This used to be commit 1c980e6c4e)
2003-11-23 02:44:23 +00:00
Andrew Tridgell
5577992f25 much faster inner loop and neater code
(This used to be commit 9ea02c51d4)
2003-11-23 02:33:46 +00:00
Andrew Tridgell
b9dd8d34a0 fixed loadparm handling properly
(This used to be commit 945ada7e7e)
2003-11-23 02:11:55 +00:00
Andrew Tridgell
4df03a8921 nicer base type handling
(This used to be commit e58384eb53)
2003-11-23 02:00:40 +00:00
Andrew Tridgell
d47d14f2ff reduced the number of magic types we need in mkproto.pl
In general I prefer "struct foo" to just "foo" for most
structures. There are exceptions.
(This used to be commit 04eb12b56c)
2003-11-23 01:53:54 +00:00
Andrew Tridgell
7ab05c2ffa we don't need awk now
(This used to be commit db6d7daaef)
2003-11-23 01:31:40 +00:00
Andrew Tridgell
5052c65fd3 get rid of our awk scripts
(This used to be commit f11f757c87)
2003-11-23 01:30:58 +00:00
Andrew Tridgell
fec4b5b0cc changed to perl for mkproto, patch from vance
(This used to be commit 9386326868)
2003-11-23 01:29:42 +00:00
Andrew Tridgell
868555bca5 added support for enumerated types in IDL files. This makes unions
easier to work with.
(This used to be commit 60be15d306)
2003-11-22 22:53:08 +00:00
Andrew Tridgell
e79e6bc472 added support for 'const' in IDL files. This makes it easy to define
symbolic names for bitfields etc.
(This used to be commit 344a6e1682)
2003-11-22 22:09:10 +00:00
Andrew Tridgell
277322b9d4 added the beginnings of an IDL validator, to give clearer errors when
IDL is not valid
(This used to be commit c1b708708e)
2003-11-22 12:25:20 +00:00
Andrew Tridgell
be77d9c60d * fixed null terminated string handling
* fixed nested relative offsets in push functions

the spoolss torture test now passes!
(This used to be commit 60ced76160)
2003-11-22 11:49:22 +00:00
Andrew Tridgell
677fb26deb * fixed handling of relative subcontext unions
* fixed GetPrinter in spoolss after OpenPrinter
(This used to be commit 4aea2d79dd)
2003-11-22 10:37:00 +00:00
Andrew Tridgell
0b0ca9f754 dfs torture test now passes
(This used to be commit 201cb6116d)
2003-11-22 09:45:40 +00:00
Andrew Tridgell
4666ec9301 * fixed NDR flag inheritance across push subcontexts
* don't consider not doing lsa_QueryInfoPolicy level 11 a failure
   (w2k3 doesn't have this level, w2k does)

 * on a NDR validation failure dump the failed data at level 3
(This used to be commit 9d5078962f)
2003-11-22 09:32:35 +00:00
Andrew Tridgell
175e947579 * enable RPC/NDR validation in all smbtorture code
* allow us to distinguish between null arrays and zero length arrays,
   by making the allocation size a minimum of 1 on array pull
(This used to be commit 11c0fe548e)
2003-11-22 08:41:40 +00:00
Andrew Tridgell
86a604429e a fairly major upgrade to the dcerpc system
* added a NDR validator. The way it works is that when the
   DCERPC_DEBUG_VALIDATE_* flags are set the dcerpc system will
   perform NDR buffer validation. On sending a request the packet is
   first marshalled, then unmarahslled, then marshalled again, and it is
   confirmed that the two marshalling results are idential. This
   ensures that our pull and push routines are absolutely in sync, so
   that we can be very confident that if a routine works in the client
   then the corresponding routine must work on the server side. A
   similar validation is performed on all replies.

 * a result of this change is that pidl is fussier about the [ref]
   tag. You can only use it on pointers (which is the only place it
   makes sense)

 * fixed a basic alignment bug in the push side of the NDR code

 * added server side pull/push support. Our dcerpc system is now fully
   ready to be used on the server side.

 * fixed the relative offset pointer list. It must be traversed in
   reverse order on push

 * added automatic value setting for the size parameter in outgoing
   SdBuf structures.

 * expanded the ndr debugging code to always give a message on any
   failure

 * fixed the subcontext push code

 * fixed some memory leaks in smbtorture RPC tests
(This used to be commit 8ecf720206)
2003-11-22 08:11:32 +00:00
Andrew Tridgell
5950020266 * you can't have two parameters with the same name (pidl doesn't enforce
that currently, but will in a couple of hours when I've finished my
   NDR validator code)

 * only a pointer can be [ref]
(This used to be commit 4e174564ae)
2003-11-22 06:10:32 +00:00
Tim Potter
c674672a08 Convert all NTSTATUS return codes to WERROR.
Implement all OpenXXX calls, EnumKey, OpenKey, QueryInfoKey.

Started EnumValue but it doesn't work yet.
(This used to be commit 5cba48252a)
2003-11-22 05:34:25 +00:00
Andrew Tridgell
3f2598abad added Parse::RecDescent module into pidl to ensure we all use the same
version. This should fix the problems Richard was seeing.
(This used to be commit 76c24a5cb0)
2003-11-22 01:40:24 +00:00
Andrew Tridgell
2ca65a99c7 added some explanations for epmapper IDL and dom_sid2
(This used to be commit 5962f1cffa)
2003-11-22 01:27:40 +00:00