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

62 Commits

Author SHA1 Message Date
Andrew Tridgell
e7721c0021 "make idl" is now incremental and "make idl_full" is a full idl build
(This used to be commit 113e772e3750ca1e661157394ccff1b59da76ceb)
2003-12-15 05:41:05 +00:00
Andrew Tridgell
e0dc5a0ff3 don't try and build the libclient stuff in samba4 yet
(This used to be commit 65d2bda9509a9455f70eceac51ecef9b2048773d)
2003-12-15 04:07:16 +00:00
Andrew Tridgell
d009dc61f9 ntlmssp over rpc over tcp now fully works
I needed to hack the ntlmssp code a little, as the auth code in samba4
is out of date relative to the samba3 auth code. I need to do a merge :)
(This used to be commit 6ee0935afe9444bf9bb24eed4e02e8377dc746b7)
2003-12-14 10:45:50 +00:00
Andrew Tridgell
8f6b3eb1a9 fixed a bug handling multiple PDUs being read from a socket at one
time in the rpc server.

started on the framework for the dcerpc authentication server code
(This used to be commit 74041b6a0a60d792e1b220496d66ec27b9ee6c25)
2003-12-14 01:09:10 +00:00
Andrew Tridgell
d4705378ce dcerpc over tcp in the samba4 server now works to some extent. It
needs quite a bit more work to get it finished. The biggest missing
feature is the lack of NTLMSSP which is needed for basic
authentication over tcp
(This used to be commit 9fb0f0369356909c99389e2cbc525be27c08793c)
2003-12-13 10:58:48 +00:00
Andrew Tridgell
340d9b71f9 added a basic dcerpc endpoint mapper to Samba4. Currently only
implements the epm_Lookup() call, I'll add the other important calls
soon. I was rather pleased to find that epm_Lookup() worked first
time, which is particularly surprising given its complexity.

This required quite a bit of new infrastructure:

  * a generic way of handling dcerpc policy handles in the rpc server

  * added type checked varients of talloc. These are much less error
    prone. I'd like to move to using these for nearly all uses of
    talloc.

  * added more dcerpc fault handling code, and translation from
    NTSTATUS to a dcerpc fault code

  * added data_blob_talloc_zero() for allocating an initially zero
    blob

  * added a endpoint enumeration hook in the dcerpc endpoint server
    operations
(This used to be commit 3f85f9b782dc17417baf1ca557fcae22f5b6a83a)
2003-12-13 02:20:40 +00:00
Andrew Tridgell
f7065cc0a5 after chatting with jeremy I decided to use a separate directory for
each rpc endpoint implementation, so we will have rpc_server/samr/
rpc_server/lsa/ etc.

this should encourage each pipe to be written in a more complete
manner, as it gives easy ways to split the pipe into multiple modules.
(This used to be commit 30a996b68222de72dd7959a09ff884f266f2fc9a)
2003-12-12 22:48:57 +00:00
Andrew Tridgell
2bde98c0ee the rest of the initial rpc server side infrastructure
(This used to be commit 5fb01b0ec0321724c25669151ea7c20e6ec182d0)
2003-12-10 22:24:33 +00:00
Andrew Tridgell
3c76426f2e * removed some unused code
* updated tdb to latest version from Samba3

 * removed some extraneous ';' in tdbutil.c (Thanks to Erlend Aasland
   for pointing this out)
(This used to be commit f3eaf270e57d8d2e2157a6a36e260860c7f71c19)
2003-12-10 03:02:12 +00:00
Andrew Tridgell
303454cae1 remove the tdbsam code for now. I have other plans for SAM backends :)
(This used to be commit bbd35e7c31310f012bf328329ad11d4ed62903bc)
2003-12-08 08:21:04 +00:00
Andrew Tridgell
8fa36b1fbc some systems don't have "which" and some systems don't have the "-nt"
flag to test. It's amazing that systems like that are ever sold.
(This used to be commit fe91635da87104544946983c7c63d5c584db614a)
2003-12-08 07:37:38 +00:00
Andrew Tridgell
989788a7e8 "make proto" now depends on "make idl_test"
this should give the build farm a fighting chance
(This used to be commit 9246b4a331d7399e201bdf81e73ab7072ea862e7)
2003-12-08 03:54:30 +00:00
Andrew Tridgell
42c6a2548a merged more updates from Jim Myers
(This used to be commit 03bf30659640d684073f92d64da6e911edb65a73)
2003-12-04 11:01:58 +00:00
Andrew Tridgell
b4b0177fdb added netr_ServerAuthenticate() and test code
I would like the netlogon test suite to eventually do a new domain
join using a fake workstation name, then remove itself afterwards, but
for now I'm assuming we are already joined to the domain when the
testsuite runs. This means you need to use the Samba3 net command to
do a join before running RPC-NETLOGON
(This used to be commit 8c7a9446a0892a4f7722cced5019667f7a9fafdd)
2003-12-01 04:13:43 +00:00
Andrew Tridgell
b0531a38cc started adding netlogon IDL and test suite
(This used to be commit 3d64eefb464d09fb6e84d6139f801887a278cf86)
2003-12-01 01:41:38 +00:00
Andrew Tridgell
7602aa50fd * got rid of UNISTR2 and everything that depends on it
* removed a bunch of code that needs to be rewritten using the new
    interfaces
(This used to be commit 9b02b486ef5906516f8cad79dbff5e3dd54cde66)
2003-12-01 00:17:30 +00:00
Andrew Tridgell
7ec0ead48a the beginnings of an automated tool for working out IDL properties of
a pipe. I'm not sure how possible this will be without lots of human
intervention, but its an interesting thing to try.
(This used to be commit d5afe7c6a8651457da9438fcf0035c792701ac86)
2003-11-28 08:51:09 +00:00
Andrew Tridgell
ba33beec05 * added a bunch of placeholder IDL files
* allow for an interface to list its endpoints in the IDL file, so we
   can automatically make the server listen on the right pipes, and
   can scan pipes more easily (I don't take advantage of this yet,
   just putting the infrastructure in place)
(This used to be commit c8b8480244b4ab6204403dc65e92e4317b410a84)
2003-11-28 05:20:11 +00:00
Andrew Tridgell
07fdc2c73e * support multiple interfaces in one IDL file in pidl
* make far more generated functions static

 * get rid of gen_rpc, and include the client calls in ndr_*.c

 * added placeholder IDL for a number of intefaces (dcom, wzcsvc, browser etc)
(This used to be commit a2bdf0be0119023df3c2b9ea515ed355020f2625)
2003-11-28 03:47:45 +00:00
Andrew Tridgell
df5949efb4 added auto-generation of the IDL interface tables. This makes two less
places that need to be edited when someone adds a new IDL file.
(This used to be commit ccd9ddeed679baa6cbb05ac728b381b50420e00f)
2003-11-28 00:48:05 +00:00
Andrew Tridgell
ab3d728b7e added an rpc scanner. This prints messages like this:
uuid 82273fdc-e32a-18c3-3f78-827929dc23ea  version 0x0000:0x0000  'eventlog'
        24 calls available
        WARNING: local IDL defines 4 calls

when all the WARNINGs are gone then we know we have all the calls :)
(This used to be commit f5821b2468a0c46d0e5590de59562926d746c349)
2003-11-27 05:34:28 +00:00
Andrew Tridgell
fffd741a7a added auto-determination of the DCERPC over TCP port number by asking
the servers endpoint mapper
(This used to be commit 4abf5376b00f580eb69196e55a792cc7eb4c9880)
2003-11-26 03:36:17 +00:00
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 c18c9b5585a3e5f7868562820c14f7cb529cdbcd)
2003-11-26 01:16:41 +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 3433c4c71f20dde96d30e02a49bbe09a9ce6c036)
2003-11-25 02:09:40 +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 39add481582609ddb9d0b3bae45fde3226ece481)
2003-11-24 12:40:47 +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 0fedafd7a026c8a793a1478d8a989f0c930092b4)
2003-11-24 10:37:24 +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 f94bc079902d725b63155d8d2de5bf408c6e7335)
2003-11-24 01:24:29 +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 229a325c3cf0d4dc1e910ed32e1d7391040aeba1)
2003-11-23 13:44:19 +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 92bcad02587c3c1b31b523ee9fa46658a6cef9ff)
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 64b2c67e479ddc754d18f752d347ba22a6d77682)
2003-11-23 03:42:20 +00:00
Andrew Tridgell
231ae2430e get rid of some more unused headers
(This used to be commit 48276c768bc58aa531771e0172a7480ec94d3254)
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 f6bb118799887e8e29399343e377ba8e9f059f20)
2003-11-23 03:03:27 +00:00
Andrew Tridgell
fec4b5b0cc changed to perl for mkproto, patch from vance
(This used to be commit 9386326868f43dab95b5508ce0ca5a9c1160a2eb)
2003-11-23 01:29:42 +00:00
Andrew Tridgell
a465add90f * changed the way strings are handled in pidl to a much more general
interface. We now support an arbitrary set of flags to each parser,
  and these can be used to control the string types. I have provided
  some common IDL string types in librpc/idl/idl_types.h which needs to
  be included in every IDL file.

* added IDL for the endpoint mapper. Added a test suite that enumerates
  all endpoints on the server.
(This used to be commit d2665f36a75b482ff82733f72ffac938c2acf87a)
2003-11-21 13:14:17 +00:00
Tim Potter
49c02c6634 Start of winreg idl. Implement OpenHKLM, GetVersion and CloseKey.
(This used to be commit c8b87f5feb7756c7a5b38135517788c9f4ade36f)
2003-11-21 05:28:36 +00:00
Tim Potter
20730626af Add initial work on eventlog - doesn't quite work yet.
(This used to be commit 99fff7b1e24ee7231fa41ca9cb85382637f2b2b0)
2003-11-20 21:52:40 +00:00
Andrew Tridgell
b1e5882eb3 * fixed libndr.h header
* "make clean" now removed the generated files
(This used to be commit 683259a4dd30861ed24e8e5df918c8725ae13800)
2003-11-20 11:17:06 +00:00
Andrew Tridgell
b008369175 moved the pidl auto-generated files out of CVS
(This used to be commit 49c72d42766a55e2833c004e721a47115000626b)
2003-11-20 11:09:53 +00:00
Tim Potter
8f0f97b078 Added ATSVC pipe.
(This used to be commit 274058486766f7a1094918702e7bc225aa938b2e)
2003-11-20 03:27:56 +00:00
Andrew Tridgell
4e18040236 srvsvc IDL and test code from metze. Thanks!
(This used to be commit 54d3cb22dc0ddc46eb114aa104e0660b3a437cb2)
2003-11-19 09:15:46 +00:00
Andrew Tridgell
c88b0b2bb2 remove some old junk from the Makefile
(This used to be commit 8d9d620e10833e5b1803b1e810a4c4a48094dc16)
2003-11-18 04:59:59 +00:00
Andrew Tridgell
892aa2fc75 added wkssvc.idl and test code
I think this is our first complete pipe for Samba4 (albeit a simple
one). Of course, there may be lots more info levels that Samba3 didn't
do. Time to explore :)
(This used to be commit 3305226140793f39af827b63c270486c1966718e)
2003-11-17 12:43:18 +00:00
Andrew Tridgell
ea266c0625 added support for level1 of EnumPrinters in spoolss. This uses a
number of "magic" add-ons to IDL to make it less painful, hopefully
this will make IDL generation useful for horrible systems like spoolss
(This used to be commit e18dba7d5a957ef82e8f91733a0bf95d579dcd7a)
2003-11-16 11:36:59 +00:00
Andrew Tridgell
05557d9ac8 run the basic build tests on sub-builds like "make torture" as well
(This used to be commit 67e826923cffdeba91319a4845681a5a586bce49)
2003-11-15 21:28:00 +00:00
Andrew Tridgell
6a991bb9b0 simple method for auto-building rpc files if idl changes, and
auto-building proto.h if it doesn't exist. This should make life a
little easier for developers
(This used to be commit ab5939e79600841c5e7e31e9da8742bf2da4a184)
2003-11-15 21:25:03 +00:00
Andrew Tridgell
ba5a060136 added the first couple of calls from samr as IDL
samr_EnumDomains() works nicely
(This used to be commit 7c162eaf3bb0195f9a2da05d6acd3c8e620f08d1)
2003-11-15 06:00:21 +00:00
Tim Potter
78b7118d1a Skeleton IDL for SPOOLSS pipe. For this inital version, only OpenPrinterEx
works but without a devicemode.
(This used to be commit 35e889cf339f4ed62d4953b4cb5da2f21cf249a2)
2003-11-15 05:42:49 +00:00
Andrew Tridgell
062670f00c removed a bunch of the old rpc code in preparation for replacing it all with auto-generated code
(This used to be commit 874bf4689d2816474b33eb1ac21530186319ed62)
2003-11-13 10:15:48 +00:00
Andrew Tridgell
3031937d56 * fixed conformant arrays in structures
* expanded the rpcecho test

* started adding the NETDFS pipe
(This used to be commit 095ab42cbdd5c1c5ab753e2eb275742ba822c8b9)
2003-11-13 09:26:53 +00:00
Jelmer Vernooij
e69987090f Add make rule for smbiconv
(This used to be commit 4c0226c71820c18725fd44dc66e1db36037c6a70)
2003-11-09 16:24:31 +00:00