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

2951 Commits

Author SHA1 Message Date
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 74041b6a0a)
2003-12-14 01:09:10 +00:00
Andrew Tridgell
d262b8c3c7 completed the linkage between the endpoint mapper and the dcerpc
server endpoints. We can now successfully setup listening endpoints on
high ports, then use our endpoint mapper redirect incoming clients to
the right port.

also greatly cleanup the rpc over tcp session handling.
(This used to be commit 593bc29bbe)
2003-12-13 23:25:15 +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 9fb0f03693)
2003-12-13 10:58:48 +00:00
Andrew Tridgell
8faa77f177 rpcdump.exe now works fine against a Samba4 server
for some reason the epm_Lookup replies can't be parsed by ethereal,
although w2k parses then fine as does the Samba4 NDR code.
(This used to be commit 097e7ca99d)
2003-12-13 04:46:50 +00:00
Andrew Tridgell
da86d3af31 added the epm_Map() call.
the RPC-EPMAPPER torture test now passes
(This used to be commit fbdcf9ef54)
2003-12-13 03:23:41 +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 3f85f9b782)
2003-12-13 02:20:40 +00:00
Tim Potter
a79be6e377 Small cleanup of test code. Rename enum indexes to be the same name
for EnumKey and EnumValue.
(This used to be commit 817a2fe2e5)
2003-12-12 11:49:29 +00:00
Tim Potter
6fba6f5ca3 Got winreg_EnumValue working - what a mess!
(This used to be commit cc494086e7)
2003-12-12 06:29:21 +00:00
Tim Potter
d68d1558f7 Added routines for arrays of uint16s.
(This used to be commit 370512f664)
2003-12-12 06:26:34 +00:00
Andrew Tridgell
fece5b7aba added support for sending bind_nak replies in the rpc server
(This used to be commit 6e7c50bcd9)
2003-12-12 06:12:41 +00:00
Andrew Tridgell
16309de71d * the RPC-ECHO pipe now works in smbd, as long as the data sizes
don't cause fragmented pdus (I'll add fragments shortly)

 * change data_blob_talloc() to not zero memory when the 2nd argument
   is NULL. The zeroing just masks bugs, and can't even allow a DOS
   attack

 * modified pidl to ensure that [ref] arguments to the out side of
   functions are allocated when parsing the in side. This allows rpc
   backends to assume that [ref] variables are all setup. Doesn't work
   correctly for [ref] arrays yet

 * changed DLIST_ADD_END() to take the type instead of a tmp
   variable. This means you don't need to declare a silly tmp variable in
   the caller
(This used to be commit 46e0a35819)
2003-12-12 03:59:09 +00:00
Andrew Tridgell
fcc4efd1ea the next step in the dcerpc server code. Added the link between the
IPC IO routines and the dcerpc endpoint servers.
(This used to be commit 4929c53bc8)
2003-12-11 09:07:45 +00:00
Andrew Tridgell
e5ed18db65 more portable array of endpoints code from pidl
(This used to be commit c598590a11)
2003-12-10 23:49:55 +00:00
Andrew Tridgell
2bde98c0ee the rest of the initial rpc server side infrastructure
(This used to be commit 5fb01b0ec0)
2003-12-10 22:24:33 +00:00
Andrew Tridgell
55d2c54e03 re-wrote pidl to use Parse::Yapp instead of Parse::RecDescent, This
makes pidl about 3x faster, and also gives us much better error
reporting and a more standard grammer definition that will be much
easier to code in lex/yacc if we want to do so at a later
date. (Parse::Yapp uses essentially the same grammer file as lex/yacc)

It also means we no longer need Parse::RecDescent, which should make
pidl much more portable.
(This used to be commit 4bbaffeb44)
2003-12-07 13:38:07 +00:00
Andrew Tridgell
cdd782782f we can't have two functions with the same name
(This used to be commit 5f1cdc4839)
2003-12-04 01:19:03 +00:00
Tim Potter
61a2a79105 Updated some of the function names in the IDL.
(This used to be commit 718ee8bccc)
2003-12-03 11:31:29 +00:00
Andrew Bartlett
ec92e2f9a2 My first stab at Samba4 IDL!
This patch adds the samr_CreateUser2 function, which is create_user
in Samba 3.0.

This also adds a torture suite that checks for various valid and invalid
account flags, and that they are persistant.

Also, a patch by Anthony Liguori to fix the build

Andrew Bartlett
(This used to be commit 53e657b745)
2003-12-03 03:10:10 +00:00
Andrew Tridgell
ea507ee605 added netr_LogonControl2Ex()
I also added IDL for netr_DatabaseRedo() but I don't yet know how it
works

thats the last of the netlogon IDL !
(This used to be commit 387d8f25ff)
2003-12-02 12:16:08 +00:00
Andrew Tridgell
de32d669c6 added netr_DatabaseSync2()
(This used to be commit 0f6af0c4bd)
2003-12-02 12:01:10 +00:00
Andrew Tridgell
9ebe4489e7 added netr_LogonControl2() and netr_ServerAuthenticate2()
(This used to be commit cc4123db4b)
2003-12-02 11:43:09 +00:00
Andrew Tridgell
10ad200350 added netr_LogonControl() and netr_GetAnyDCName()
(This used to be commit 17b2be4e85)
2003-12-02 10:34:06 +00:00
Andrew Tridgell
02df116352 added netr_GetDcName() - quite a useful call
(This used to be commit 63f46b223e)
2003-12-02 10:08:26 +00:00
Andrew Tridgell
16c688c9ea added netr_AccountSync(), another NT_STATUS_NOT_IMPLEMENTED call
according to w2k3
(This used to be commit b2ca00ebc5)
2003-12-02 10:04:10 +00:00
Andrew Tridgell
9ec4269760 added netr_AccountDeltas(), which w2k3 gives
"NT_STATUS_NOT_IMPLEMENTED" for
(This used to be commit aaf776a1c1)
2003-12-02 09:52:15 +00:00
Andrew Tridgell
cea22e94fc netr_DatabaseDeltas() now works. We ask for the deltas associated with
the last two sequence numbers on each database.
(This used to be commit f9377c8603)
2003-12-02 08:04:37 +00:00
Andrew Tridgell
a11727b930 * made some field names more consistent, and worked out that
unknown1 is profile_path

If we are going to use automatic backend database generation then we
are going to have to move to really consistent field names in all our
IDL. Thats the only way we are going to be able to automate it a
lot. That will take a couple of days to do when we get to it.
(This used to be commit 1732aae562)
2003-12-02 05:37:49 +00:00
Andrew Tridgell
c7a1a69d2c don't pollute the structure name space so much
(This used to be commit 107307b4c6)
2003-12-02 05:17:02 +00:00
Andrew Tridgell
399496d9d9 netr_DatabaseSync() now works fully for databases 0, 1 and 2
(This used to be commit c4c09e9413)
2003-12-02 04:59:18 +00:00
Andrew Tridgell
9632db5a19 netr_DatabaseSync() now works fully for database 0
(This used to be commit 360d03bb56)
2003-12-02 04:33:57 +00:00
Andrew Tridgell
f9419900d3 initial netlogon database sync partly works - needs some IDL tweaks
(This used to be commit 75ea276c14)
2003-12-02 04:05:05 +00:00
Andrew Tridgell
d65f0095c9 added netr_DatabaseSync(). It doesn't work as I haven't done schannel
yet, but at least the request is understood by w2k3

Also modified pidl to allow multiple branches in a union to have the
same element. This is used in netlogon.
(This used to be commit 983c0e9683)
2003-12-02 03:06:21 +00:00
Andrew Tridgell
2e70035f87 another big improvement in the credentials API. I think it now
actually makes sense, and as a nice side effect it matches the debug
output of the w2k3 netlogon.log
(This used to be commit 3c7287c24e)
2003-12-02 02:15:33 +00:00
Andrew Tridgell
06ae424835 * netr_ServerPasswordSet() now works - the test suite changes the
machine account password.

  * neater handling on value() options in IDL. The auto-print code
    will now display the right value so you don't need to initialise
    it in your C code
(This used to be commit 3dd978b12b)
2003-12-02 00:31:54 +00:00
Andrew Tridgell
8b30b0071c * another small API change in the credentials code
* don't use static variables in the smbdes code
(This used to be commit e6e0906464)
2003-12-01 22:13:11 +00:00
Andrew Tridgell
f9e2a8af39 neater credentials handling in netlogon client code
(This used to be commit b7d748f499)
2003-12-01 12:41:54 +00:00
Andrew Tridgell
a6cf6cada9 added netr_LogonSamLogon() and test code
(This used to be commit 4fa3ad3ecb)
2003-12-01 09:28:10 +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 8c7a9446a0)
2003-12-01 04:13:43 +00:00
Andrew Tridgell
5b46116923 added netr_ServerReqChallenge and cleaned up byte array printing
(This used to be commit bb42107dcc)
2003-12-01 03:19:43 +00:00
Andrew Tridgell
b0531a38cc started adding netlogon IDL and test suite
(This used to be commit 3d64eefb46)
2003-12-01 01:41:38 +00:00
Tim Potter
d944b9780a Added EnumPrinterDriver, GetPrinterDriver (still in progress)
(This used to be commit a818439b59)
2003-11-30 11:57:40 +00:00
Tim Potter
2bb7ff5915 GetPrinterDataEx, SetPrinterDataEx, DeletePrinterDataEx.
(This used to be commit e8367f5735)
2003-11-28 11:50:33 +00:00
Tim Potter
d55fc1c9f2 Add SetPrinterData, DeletePrinterData.
(This used to be commit ea534f82d0)
2003-11-28 10:34:58 +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 d5afe7c6a8)
2003-11-28 08:51:09 +00:00
Tim Potter
b0ba0462a4 Fix bug in EnumPrinterData test.
Implement GetPrinterData RPC.
(This used to be commit 270c4fe389)
2003-11-28 06:39:06 +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 c8b8480244)
2003-11-28 05:20:11 +00:00
Tim Potter
d419464d87 Added EnumJobs, GetJob, SetJob RPCs.
(This used to be commit a06cbbbf1f)
2003-11-28 05:02:32 +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 a2bdf0be01)
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 ccd9ddeed6)
2003-11-28 00:48:05 +00:00
Tim Potter
abff8aac56 Implemented SetForm RPC.
(This used to be commit bdb0dfc370)
2003-11-27 20:55:13 +00:00
Tim Potter
6aee8274ef Add DeleteForm, start cleaning up tests.
(This used to be commit 10b31623fd)
2003-11-27 09:50:25 +00:00
Andrew Tridgell
c7c9e61987 more epmapper and mgmt magic
protocol 0x1f is interesting - its ncacn_http !
(This used to be commit e3d40e3da6)
2003-11-27 07:28:46 +00:00
Tim Potter
4884a97f3b Implemented AddForm RPC. The mystery of the useless_ptr has been
solved.  It was a pointer in a union member.

RPC-SPOOLSS tests a bit messy and could do with a cleanup.
(This used to be commit cf8cd44852)
2003-11-27 06:15:06 +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 f5821b2468)
2003-11-27 05:34:28 +00:00
Andrew Tridgell
61bb3c865c use EPMAPPER_PORT constant instead of 135
(This used to be commit 953ab587dc)
2003-11-27 04:04:31 +00:00
Andrew Tridgell
a9203bf02b a couple of tidyups
* don't try to map the epmapper uuid !

 * some preliminary support for alter context pdus
(This used to be commit f9857e5685)
2003-11-27 04:02:15 +00:00
Andrew Tridgell
1cab707f0b switched to WERROR return codes in the management IDL
(This used to be commit a81f659e9e)
2003-11-27 04:01:18 +00:00
Andrew Tridgell
1ca1b85c4c by default sign RPC over TCP but not RPC over SMB. I will add command line control soon
(This used to be commit 215852116c)
2003-11-26 12:29:08 +00:00
Tim Potter
ee67d68f1c Implemented EnumForms and GetForm.
(This used to be commit 822750592c)
2003-11-26 06:26:18 +00:00
Andrew Tridgell
2edb73fbe9 added a link to opengroup PDU definitions
(This used to be commit 939d832e5e)
2003-11-26 04:32:39 +00:00
Tim Potter
33844ade40 Add bind nak to dcerpc_payload.
(This used to be commit 0deb9179f0)
2003-11-26 04:23:24 +00:00
Andrew Tridgell
c168ca2157 transfer syntax V2 isn't as magic as I thought
(This used to be commit bb3bb5dc8d)
2003-11-26 03:43:04 +00:00
Andrew Tridgell
fca5f78032 use the IDL defined NDR version number
(This used to be commit 00e0c14b76)
2003-11-26 03:41:06 +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 4abf5376b0)
2003-11-26 03:36:17 +00:00
Andrew Tridgell
c123c84541 fixed some memory leaks in the dcerpc use of ntlmssp signing
(This used to be commit abbc9993b8)
2003-11-26 02:08:41 +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 c18c9b5585)
2003-11-26 01:16:41 +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
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
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
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
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
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
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
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
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
2ca65a99c7 added some explanations for epmapper IDL and dom_sid2
(This used to be commit 5962f1cffa)
2003-11-22 01:27:40 +00:00
Andrew Tridgell
0739d3dafd cleaner handling of relative pointers to strings
(This used to be commit 4022e71075)
2003-11-21 22:00:00 +00:00
Andrew Tridgell
7c5f6ead80 don't ignore .h files here
(This used to be commit b1863f897f)
2003-11-21 21:25:48 +00:00
Andrew Tridgell
e1260ef0eb forgot to commit this, sorry
(This used to be commit ff883d1cba)
2003-11-21 21:25:03 +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 d2665f36a7)
2003-11-21 13:14:17 +00:00
Tim Potter
82d6f5587b Implement DeleteKey, DeleteValue, FlushKey.
(This used to be commit 49f1654510)
2003-11-21 06:14:14 +00:00
Tim Potter
49c02c6634 Start of winreg idl. Implement OpenHKLM, GetVersion and CloseKey.
(This used to be commit c8b87f5feb)
2003-11-21 05:28:36 +00:00
Tim Potter
a20352959e More work on eventlog - still doesn't work. (-:
(This used to be commit 9109cb832a)
2003-11-21 03:07:02 +00:00
Andrew Tridgell
1d7534efd7 avoid calling the print routines completely if debug level < 2
(This used to be commit 63b9d2803c)
2003-11-21 02:50:40 +00:00
Andrew Tridgell
236e44c65a only display really verbose packet dumps when smbtorture is run at
debug level 2 or above. This is more useful for checking that
something hasn't broken without swamping yourself with output.
(This used to be commit 53ff3a572a)
2003-11-21 02:44:31 +00:00
Andrew Tridgell
38ce2ef4bb added 4 more levels to samr_QueryDisplayInfo()
(This used to be commit f4cc593a5c)
2003-11-21 02:19:47 +00:00
Andrew Tridgell
4fd867a240 Todd Sabin pointed out that a couple of the values I marked as hyper_t
are in fact 4 byte aligned. Create a ULONG8 type in samr for
those. This type should probably be made global later.
(This used to be commit e7dd116138)
2003-11-20 22:47:20 +00:00
Tim Potter
20730626af Add initial work on eventlog - doesn't quite work yet.
(This used to be commit 99fff7b1e2)
2003-11-20 21:52:40 +00:00
Andrew Tridgell
ddd2f9ced0 added samr_QueryDisplayInfo() (only level 1 so far)
(This used to be commit 8601305c81)
2003-11-20 12:10:41 +00:00
Andrew Tridgell
b1e5882eb3 * fixed libndr.h header
* "make clean" now removed the generated files
(This used to be commit 683259a4dd)
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 49c72d4276)
2003-11-20 11:09:53 +00:00
Andrew Tridgell
fe6fd991ee extensive samr_SetUserInfo/samr_QueryUserInfo testing, with
cross-checking of all settable fields
(This used to be commit 3337906d52)
2003-11-20 10:53:08 +00:00
Andrew Tridgell
d4dfcda78e * fixed level2 of QueryUserInfo
* added per-field testing of SetUserInfo

 * fixed strlen_m()
(This used to be commit 26238b0f8a)
2003-11-20 10:29:54 +00:00
Andrew Tridgell
f3a4d83711 started on samr_SetUserInfo()
cope with the 'samrtorturetest' user already existing in the samr test
(to cope with previously failed runs)
(This used to be commit 47128b3d50)
2003-11-20 07:20:59 +00:00
Andrew Tridgell
a6e5654b3d fixed srvsvc_NetShareEnumAll()
(This used to be commit ab4056e25c)
2003-11-20 05:34:02 +00:00
Richard Sharpe
4730469cd8 Add a 1004 level for srvsvc.
(This used to be commit 9810e6f180)
2003-11-20 04:45:16 +00:00
Tim Potter
8f0f97b078 Added ATSVC pipe.
(This used to be commit 2740584867)
2003-11-20 03:27:56 +00:00
Andrew Tridgell
52cae6b908 added samr_LookupRids() and test code
(This used to be commit c32c33a791)
2003-11-20 03:18:07 +00:00
Andrew Tridgell
308cc429eb added samr_LookupNames() and test code
(This used to be commit f8397cbc85)
2003-11-20 03:09:19 +00:00
Andrew Tridgell
8a8b2da9c9 make the echo idl match the win32 IDL again
(This used to be commit 4b901bd717)
2003-11-20 01:32:43 +00:00
Andrew Tridgell
f01e89e9e0 EnumPrinterData in spoolss now works
(This used to be commit af07ca7fbc)
2003-11-20 01:28:33 +00:00
Andrew Tridgell
66a827c921 * changed to midl syntax using [case(x)] instead of case(x)
* use empty defaults instead of a dummy empty structure
(This used to be commit 555a340d3c)
2003-11-20 00:57:59 +00:00
Andrew Tridgell
25de3041e6 fixed wkssvc idl and test code for TransportEnum
(This used to be commit 42639a8f66)
2003-11-19 23:18:35 +00:00
Andrew Tridgell
10ee36bede switched to a new way of handling unions, so that we can handle
alignment correctly for unions that have non-uint16 discriminants

fixed the union handling in srvsvc.idl. (metze, please take a look at
the changes, your IDL did match what was one the wire in most cases,
but isn't the way IDL is usually coded)
(This used to be commit 7b5d028729)
2003-11-19 22:10:20 +00:00
Richard Sharpe
5a51af0685 Fix up some things in the IDL, and fix up a mistake I made before.
entriesreturned does not appear as a top-level IDL item. It appears in the
structure that is returned.

I have traces of TransportEnum that Ethereal properly dissects ...
(This used to be commit e3f0460378)
2003-11-19 19:44:17 +00:00
Richard Sharpe
7b3f7cd7fd Some simple tweaks to the IDL to make it more correct ...
I am also concerned about the difference between NetShareEnum and
NetShareEnumAll. I would be interested to see a trace of NetShareEnumAll.

I also think we should stick to the names used in MSDN where possible, as
that makes it easier for people who are familiar with MSDN to help us get
this right.
(This used to be commit 580939e62e)
2003-11-19 19:32:28 +00:00
Andrew Tridgell
1941b5cef0 started to expand the echo tests to include more interesting test
cases. We fail one of the alignment tests.
(This used to be commit 5bb21e57b8)
2003-11-19 12:03:11 +00:00
Andrew Tridgell
4e18040236 srvsvc IDL and test code from metze. Thanks!
(This used to be commit 54d3cb22dc)
2003-11-19 09:15:46 +00:00
Andrew Tridgell
de3f0b424f after discussions with lukeh, I think we found a alignment bug in old
versions of midl, as used to build LSA. Work around it here.
(This used to be commit b3bd2bf10b)
2003-11-19 07:31:17 +00:00
Andrew Tridgell
897b9d8872 removed an unused structure
(This used to be commit 005614ef78)
2003-11-19 05:54:21 +00:00
Andrew Tridgell
6786811f65 change to AuditEventsInfo struct from lukeh
(This used to be commit 670c0cbe03)
2003-11-19 05:53:05 +00:00
Andrew Tridgell
a0cd1069ce fixed country code field in samr_UserInfo5
(This used to be commit d194247b1b)
2003-11-19 05:26:11 +00:00
Andrew Tridgell
025236281b possibly better handling of NULL secdesc (thanks to lukeh)
(This used to be commit a1230f1b4b)
2003-11-19 04:44:47 +00:00
Andrew Tridgell
13e10b47fb separate the reason and result codes in a bind_ack. This is needed for
interop with the opengroup dcerpc code
(This used to be commit 8d9061dcd0)
2003-11-19 03:01:57 +00:00
Andrew Tridgell
22ef16aa44 added a thanks to Todd Sabin (with his permission)
(This used to be commit 9d5d6b2f93)
2003-11-18 22:35:39 +00:00
Andrew Tridgell
0c10913303 added another wkssvc info level
(This used to be commit fb0aa83a2b)
2003-11-18 11:52:06 +00:00
Andrew Tridgell
bdf0578621 added samr_CreateUser() samr_DeleteUser(). The test suite creates a
test user called "samrtorturetest" and then deletes it. The next step
is to do all possible user operations on that temporary user.
(This used to be commit 41fc922954)
2003-11-18 10:21:05 +00:00
Andrew Tridgell
20f1530a11 changed wks to wkssvc (suggestion from metze). Started adding samr_CreateUser().
(This used to be commit 04e9269c1e)
2003-11-18 08:03:06 +00:00
Tim Potter
30daed2f7c Working on EnumPrinterData. There appears to be an alignment problem
after reading a non-empty DATA_BLOB in the reply.
(This used to be commit 3165bf532f)
2003-11-18 05:54:14 +00:00
Andrew Tridgell
06d0f61aa4 added samr_QuerySecurity() call that displays the ACL for any handle.
(This used to be commit 5bbeaaa3d1)
2003-11-18 05:20:54 +00:00
Andrew Tridgell
9b7b5e5c51 use the auto-generated UUID, version and name rather than listing them
in the dcerpc core code
(This used to be commit 16ffeb7c80)
2003-11-18 05:01:10 +00:00
Andrew Tridgell
ec7a2944cd fill in skeletons for the rest of the function calls in wkssvc (based
on function names in ethereal)

implement TransportEnum - quite a cute call, you can ask for the
workstations list of network transports, including its ethernet
address.
(This used to be commit 62d7e9819c)
2003-11-18 03:28:01 +00:00
Andrew Tridgell
ca20fa1057 ignore c and h files in the idl dir. This makes it easier to
experiment with pidl in that dir without mucking up cvs
(This used to be commit 1b691927ac)
2003-11-18 01:34:09 +00:00
Andrew Tridgell
2c0a7165ef * use the new auto-generated debug code method.
* add a couple more info levels to wkssvc
(This used to be commit c69161bdb1)
2003-11-18 01:18:24 +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 3305226140)
2003-11-17 12:43:18 +00:00
Andrew Tridgell
d285c6f14f * add another WERR err code
* use the top-level function argument printing to show more detail in
   RPC-* tests
(This used to be commit 33bb878562)
2003-11-17 11:55:56 +00:00
Andrew Tridgell
e62c5c9a8d use [subcontext] to make GetPrinter a bit easier in smbtorture
(This used to be commit a5140985d8)
2003-11-17 09:34:19 +00:00
Andrew Tridgell
59df3ce5b5 security descriptors are no longer a "special" type, they are handled
using the [relative] property

this also fixes level3 of PrinterInfo (a relative secdesc)
(This used to be commit d5a15257fd)
2003-11-17 06:27:45 +00:00
Andrew Tridgell
d1feb4c6d5 call OpenPrinterEx on each printer on the server, and then call
GetPrinter with all info levels on each printer
(This used to be commit 136b3cfc04)
2003-11-17 04:56:59 +00:00
Andrew Tridgell
bf48b6e69a added OpenPrinter and a test function. Note that the Samba3 structure
for OpenPrinter was wrong.
(This used to be commit 186ddbbf87)
2003-11-17 03:38:13 +00:00
Andrew Tridgell
90916de4a5 * more info levels for EnumPrinter
* use WERROR return type in spoolss EnumPrinter
(This used to be commit 8301a6b6ad)
2003-11-17 02:58:10 +00:00
Andrew Tridgell
657b4d2abd nicer method of handling spoolss EnumPrinters
this also handles the return of several printers (an array of relative
subcontexts)
(This used to be commit 060421c7dc)
2003-11-17 02:18:11 +00:00
Andrew Tridgell
ae4cb40100 use nstring and [relative] to support levels 1 and 2 of EnumPrinters
fully
(This used to be commit 69c6017c94)
2003-11-16 13:49:14 +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 e18dba7d5a)
2003-11-16 11:36:59 +00:00
Tim Potter
7ca3720acb Initial version of printer info 1 for tridge.
(This used to be commit 03185769be)
2003-11-16 06:08:43 +00:00
Andrew Tridgell
4e959703a2 ignore .pidl files
(This used to be commit 8b2a0988e8)
2003-11-16 06:01:07 +00:00
Andrew Tridgell
7b40bd0a5f use the "subcontext" magic flag for sec_desc_buf
(This used to be commit 05ed2f6dc9)
2003-11-16 06:00:15 +00:00
Andrew Tridgell
4d48e84ffa slightly more efficient strlen setting in lsa and samr strings (calls
strlen_m() once, not twice)
(This used to be commit 468c2dc632)
2003-11-16 05:07:07 +00:00
Tim Potter
1f4fe8e486 Commit autogenerated code for EnumPrinters and ClosePrinter.
(This used to be commit 1a0271fc34)
2003-11-16 04:25:45 +00:00
Tim Potter
fc55fd3e33 Added push/pull routines for uint8_buf IDL type used for spoolss buffers,
and possibly other places.
(This used to be commit 8fcac6742f)
2003-11-16 04:22:20 +00:00
Tim Potter
6098faca03 Added IDL for EnumPrinters and ClosePrinter.
(This used to be commit 5eba47a4a3)
2003-11-16 04:19:12 +00:00
Andrew Tridgell
5bd51a1d5d the returned policy handle in spoolss_OpenPrinterEx() is pass by
reference

(tim, my apoligies if this conflicts with an uncomitted fix from you)
(This used to be commit fa0872e663)
2003-11-15 20:56:18 +00:00
Andrew Tridgell
c24f56e71c remember to samr_Close() policy handles after use
(This used to be commit 8b4e5c65e0)
2003-11-15 20:47:59 +00:00
Andrew Tridgell
8c90fcd32b added OpenAlias and QueryAliasInfo levels 1 to 3
(This used to be commit 2ed8cfdf66)
2003-11-15 12:38:06 +00:00
Andrew Tridgell
4d00dd9d5d added OpenGroup and QueryGroupInfo levels 1 to 4
(This used to be commit ffe4fcaab0)
2003-11-15 12:14:22 +00:00
Andrew Tridgell
e7d70e40d5 added UserInfo level 21
(This used to be commit b90eff794f)
2003-11-15 11:34:01 +00:00
Andrew Tridgell
8f09c940b7 added samr UserInfo levels 4 to 20
(This used to be commit 5bbe63a7bb)
2003-11-15 11:13:49 +00:00
Andrew Tridgell
e92419e2d3 added samr_UserInfo2 and samr_UserInfo3
(This used to be commit 5e852f694c)
2003-11-15 10:58:29 +00:00
Andrew Tridgell
42a25ebb75 added samr_OpenUser, samr_EnumDomainAliases and samr_QueryUserInfo level 1
(This used to be commit e7edeec60e)
2003-11-15 10:03:12 +00:00
Andrew Tridgell
4063fd08d4 added samr_EnumDomainGroups and samr_EnumDomainUsers
(This used to be commit f8d690fb2b)
2003-11-15 09:39:48 +00:00
Andrew Tridgell
4cadb043d7 added another 11 levels of QueryDomainInfo
(This used to be commit 219cfabaeb)
2003-11-15 09:18:02 +00:00
Andrew Tridgell
497e01e93e added samr_OpenDomain() and samr_QueryDomainInfo() level 1
(This used to be commit 2d9c055c1b)
2003-11-15 08:06:39 +00:00
Andrew Tridgell
bcfbaa312a run LookupDomain on each domain returned from EnumDomains in samr
(This used to be commit 947b9f8ced)
2003-11-15 07:51:19 +00:00
Andrew Tridgell
ba5a060136 added the first couple of calls from samr as IDL
samr_EnumDomains() works nicely
(This used to be commit 7c162eaf3b)
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 35e889cf33)
2003-11-15 05:42:49 +00:00
Andrew Tridgell
099899a7cc added lsa_QuerySecObj() and the necessary sec_desc_buf supporting code
also adding printing of security descriptors
(This used to be commit 1f93cbc1d5)
2003-11-15 04:42:48 +00:00
Andrew Tridgell
5a1779b982 it turns out that all MS servers ignore the artifact struct_len fields
in OpenPolicy and OpenPolicy2, so we don't in fact need the
[struct_len] attribute. This makes our IDL much closer to the MS IDL.
(This used to be commit f0a8f063a6)
2003-11-14 21:39:13 +00:00
Andrew Tridgell
f147a70795 added the dfs_GetInfo all - all levels
(This used to be commit 638eae6bae)
2003-11-14 13:16:34 +00:00
Andrew Tridgell
15b258051c * added levels 4, 200 and 300 to NetDfsEnum. 200 and 300 don't work
properly, I'm still investigating that.

* changed dcerpc fault status code to NT_STATUS_NETWORK_WRITE_FAULT,
  which I think is a better mapping
(This used to be commit 9ad28f6ddb)
2003-11-14 08:27:39 +00:00
Andrew Tridgell
57529207ca * fixed lsa_LookupPrivName
* added levels 2 and 3 of dfs_Enum
(This used to be commit 3fa61c1982)
2003-11-14 07:56:43 +00:00
Andrew Tridgell
e8a3825ebc we can now do a level1 NetDfsEnum()
(This used to be commit f32641f73f)
2003-11-14 07:20:46 +00:00
Andrew Tridgell
aeda2f8152 more dfs work
(This used to be commit d9eb4511d0)
2003-11-13 10:15:08 +00:00
Andrew Tridgell
3031937d56 * fixed conformant arrays in structures
* expanded the rpcecho test

* started adding the NETDFS pipe
(This used to be commit 095ab42cbd)
2003-11-13 09:26:53 +00:00
Andrew Tridgell
6714815f01 lsa_PrivilegeSet seems to be a very strange beast indeed. It has a
constant sized array of size 1 at the end?
(This used to be commit 2cc354bd82)
2003-11-12 05:34:21 +00:00
Andrew Tridgell
8830a20bce added 9 more info levels to lsa_QueryInfoPolicy
(This used to be commit b2ced24fc0)
2003-11-11 07:57:08 +00:00
Andrew Tridgell
c614ea5435 added QueryPolicyInfo/PrimaryDomainInfo idl and test code
(This used to be commit b754ad2eae)
2003-11-11 06:54:54 +00:00
Andrew Tridgell
bde602b9e1 support lsa_AuditEventsInfo
(This used to be commit 7e7cb97593)
2003-11-11 06:22:58 +00:00
Andrew Tridgell
deeb8d98a1 start using automatic union printing
(This used to be commit e81040a902)
2003-11-11 04:38:51 +00:00
Andrew Tridgell
cecbf0cd8b automatically generate ndr_print_*() functions for every IDL
structure. This allows easy debug and test tool writing without having
to write functions that print every element of complex structures.
(This used to be commit 81d6181172)
2003-11-11 04:04:36 +00:00
Andrew Tridgell
a934f89549 started adding support for lsa_QueryInfoPolicy
(This used to be commit 5b2d577969)
2003-11-11 02:02:29 +00:00
Andrew Tridgell
657dc577b6 added idl and test code for lsa_LookupPrivName()
(This used to be commit c742227ec3)
2003-11-10 12:42:45 +00:00
Andrew Tridgell
4659d4f9e2 added IDL and test for lsa_EnumAccountRights()
interestingly, win2000 doesn't return the same list of rights via
lsa_EnumAccountRights() and lsa_EnumPrivsAccount()
(This used to be commit 447c5f13d4)
2003-11-10 12:12:22 +00:00
Andrew Tridgell
a9fbdd4838 added IDL and test for lsa_EnumPrivsAccount()
(This used to be commit f8bbce69bf)
2003-11-10 11:37:19 +00:00
Andrew Tridgell
3fa8da4d26 - fixed lsa_EnumTrustDom
- added lsa_OpenAccount

- handle STATUS_SOME_UNMAPPED
(This used to be commit e5d93cf996)
2003-11-09 11:01:39 +00:00
Andrew Tridgell
3c669340f5 added lsa_EnumTrustDom
(This used to be commit ef60a70912)
2003-11-09 10:01:24 +00:00
Andrew Tridgell
4bba087298 added lsa_EnumPrivs idl and test code
(This used to be commit fe12f81ba4)
2003-11-09 09:44:06 +00:00
Andrew Tridgell
e3581c28bb added a test for lsa_Close()
(This used to be commit dbadbbf1a7)
2003-11-09 09:04:28 +00:00
Andrew Tridgell
2f6adaadbb i forgot to commit the rpcecho idl file
(This used to be commit 6c50589a9c)
2003-11-09 08:31:36 +00:00
Andrew Tridgell
44dfd03963 - added the rest of the LSA calls as stubs
- auto-generate the client calls with 'make idl'
(This used to be commit 8e52381313)
2003-11-09 08:30:29 +00:00
Andrew Tridgell
adf6142953 converted the rpcecho pipe to use IDL
(This used to be commit 1b7a7bc464)
2003-11-09 07:24:06 +00:00
Andrew Tridgell
363754a865 use a more consistent style for the client stubs
(This used to be commit 9946532f97)
2003-11-09 04:40:50 +00:00
Andrew Tridgell
4991e27bbc get rid of some prototypes that aren't needed any more
(This used to be commit 6151e5a214)
2003-11-09 02:25:03 +00:00
Andrew Tridgell
946d358646 lsa_LookupNames now works
(This used to be commit fba3a7ad22)
2003-11-09 02:21:24 +00:00
Andrew Tridgell
cff32d6b0a added idl, generated code and test code for lsa_LookupSids
(This used to be commit afa1ff5f08)
2003-11-09 00:58:40 +00:00
Andrew Tridgell
668c938678 - more generation fixes
- added auto-generation from the Makefile. Only called when you run "make idl"
(This used to be commit 47a17e5a08)
2003-11-08 13:23:20 +00:00
Andrew Tridgell
7d212460a5 - corrected some lsa idl
- updated lsa parse code from pidl
(This used to be commit 3983b2aee7)
2003-11-08 11:21:57 +00:00
Andrew Tridgell
4fa0f615f2 another major bit of restructuring of rpc in Samba4. Mostly moving
files around, but also added the first bits of auto-generated code for
the lsa pipe.

I haven't updated the Makefile to call pidl yet, so for now the code
was cut-and-pasted into librpc/ndr/ndr_lsa.c manually
(This used to be commit 6b222d3b65)
2003-11-06 12:34:04 +00:00