Andrew Tridgell [Mon, 15 Dec 2003 03:29:55 +0000 (03:29 +0000)]
allow the specification of full dcerpc endpoint binding strings on the
command line. This allows you to (for example) control signing/sealing
of smbtorture RPC sessions
Andrew Tridgell [Mon, 15 Dec 2003 01:09:45 +0000 (01:09 +0000)]
switch off the default of ntlmssp on rpc on smb as some windows pipes
can't handle it (I'd switched it on while experimenting, and forgot to
switch it off before committing)
Andrew Tridgell [Mon, 15 Dec 2003 01:07:08 +0000 (01:07 +0000)]
fixed the handling of zero-length top level arrays in pidl
Andrew Tridgell [Mon, 15 Dec 2003 01:06:01 +0000 (01:06 +0000)]
zero length echo is not an error
Andrew Tridgell [Mon, 15 Dec 2003 00:40:57 +0000 (00:40 +0000)]
fixed the transfer syntax in the dcerpc bind reply
Andrew Tridgell [Sun, 14 Dec 2003 13:22:12 +0000 (13:22 +0000)]
added auto-generation of the server side boilerplate code for each
pipe.
The server side code gets generated as librpc/gen_ndr/ndr_NAME_s.c and
gets included in the pipe module
Simo Sorce [Sun, 14 Dec 2003 12:27:51 +0000 (12:27 +0000)]
typo
Andrew Tridgell [Sun, 14 Dec 2003 12:21:21 +0000 (12:21 +0000)]
fixed fragmented signed connections to our rpc server over SMB
Simo Sorce [Sun, 14 Dec 2003 12:04:55 +0000 (12:04 +0000)]
reduce double explanation of FIXED ARRAYS
Andrew Tridgell [Sun, 14 Dec 2003 10:45:50 +0000 (10:45 +0000)]
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 :)
Andrew Tridgell [Sun, 14 Dec 2003 08:44:38 +0000 (08:44 +0000)]
fix _ptr_ declaration
Andrew Tridgell [Sun, 14 Dec 2003 03:51:48 +0000 (03:51 +0000)]
fixed some memory leaks in the rpc server code
Andrew Tridgell [Sun, 14 Dec 2003 01:09:10 +0000 (01:09 +0000)]
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
Andrew Tridgell [Sat, 13 Dec 2003 23:30:43 +0000 (23:30 +0000)]
add the ntlmssp calls back into smbtorture on rpc over tcp. The samba4
rpc server doesn't do ntlmssp yet, so this breaks the tests, but that
is the next step.
Andrew Tridgell [Sat, 13 Dec 2003 23:25:15 +0000 (23:25 +0000)]
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.
Andrew Tridgell [Sat, 13 Dec 2003 11:44:28 +0000 (11:44 +0000)]
make the IO in the dcerpc over TCP server completely async, handling
partial packets on both input and output
Andrew Tridgell [Sat, 13 Dec 2003 10:58:48 +0000 (10:58 +0000)]
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
Andrew Tridgell [Sat, 13 Dec 2003 04:46:50 +0000 (04:46 +0000)]
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.
Andrew Tridgell [Sat, 13 Dec 2003 03:23:41 +0000 (03:23 +0000)]
added the epm_Map() call.
the RPC-EPMAPPER torture test now passes
Andrew Tridgell [Sat, 13 Dec 2003 02:20:40 +0000 (02:20 +0000)]
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
Andrew Tridgell [Fri, 12 Dec 2003 22:48:57 +0000 (22:48 +0000)]
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.
Tim Potter [Fri, 12 Dec 2003 11:49:29 +0000 (11:49 +0000)]
Small cleanup of test code. Rename enum indexes to be the same name
for EnumKey and EnumValue.
Tim Potter [Fri, 12 Dec 2003 06:29:21 +0000 (06:29 +0000)]
Got winreg_EnumValue working - what a mess!
Tim Potter [Fri, 12 Dec 2003 06:26:34 +0000 (06:26 +0000)]
Added routines for arrays of uint16s.
Andrew Tridgell [Fri, 12 Dec 2003 06:12:41 +0000 (06:12 +0000)]
added support for sending bind_nak replies in the rpc server
Andrew Tridgell [Fri, 12 Dec 2003 05:40:26 +0000 (05:40 +0000)]
added the echo pipe test calls
Andrew Tridgell [Fri, 12 Dec 2003 05:30:00 +0000 (05:30 +0000)]
we now support pdu fragmentation on both input and output in the rpc
server code
Andrew Tridgell [Fri, 12 Dec 2003 05:01:41 +0000 (05:01 +0000)]
added handling of fragmented requests in the rpc server
now we just need to handle fragmented replies ....
Andrew Tridgell [Fri, 12 Dec 2003 04:18:21 +0000 (04:18 +0000)]
handle the auto-allocation of [ref] output arrays in pidl. This
can simplify rpc servers a lot.
Andrew Tridgell [Fri, 12 Dec 2003 03:59:09 +0000 (03:59 +0000)]
* 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
Andrew Tridgell [Thu, 11 Dec 2003 09:07:45 +0000 (09:07 +0000)]
the next step in the dcerpc server code. Added the link between the
IPC IO routines and the dcerpc endpoint servers.
Andrew Tridgell [Wed, 10 Dec 2003 23:49:55 +0000 (23:49 +0000)]
more portable array of endpoints code from pidl
Andrew Tridgell [Wed, 10 Dec 2003 22:24:33 +0000 (22:24 +0000)]
the rest of the initial rpc server side infrastructure
Andrew Tridgell [Wed, 10 Dec 2003 22:21:04 +0000 (22:21 +0000)]
initial rpc server side infrastructure
Andrew Tridgell [Wed, 10 Dec 2003 03:02:12 +0000 (03:02 +0000)]
* 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)
Andrew Tridgell [Mon, 8 Dec 2003 08:21:04 +0000 (08:21 +0000)]
remove the tdbsam code for now. I have other plans for SAM backends :)
Andrew Tridgell [Mon, 8 Dec 2003 07:37:38 +0000 (07:37 +0000)]
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.
Andrew Tridgell [Mon, 8 Dec 2003 04:05:57 +0000 (04:05 +0000)]
fixed shell scripting error
Andrew Tridgell [Mon, 8 Dec 2003 03:57:03 +0000 (03:57 +0000)]
cope with yapp not being installed
Andrew Tridgell [Mon, 8 Dec 2003 03:54:30 +0000 (03:54 +0000)]
"make proto" now depends on "make idl_test"
this should give the build farm a fighting chance
Andrew Tridgell [Mon, 8 Dec 2003 02:55:28 +0000 (02:55 +0000)]
commit idl.pm now, as many build farm machines don't have 'yapp'
Andrew Tridgell [Mon, 8 Dec 2003 02:24:40 +0000 (02:24 +0000)]
* reduced the number of grammer conflicts a lot using (arbitrary)
precedence rules
* build a standalone parser. When we come to distributing Samba4 we
can just include idl.pm and other developers won't need Parse::Yapp
installed
* avoid the recursive make in most cases in build_idl.sh
Andrew Tridgell [Sun, 7 Dec 2003 23:47:35 +0000 (23:47 +0000)]
don't save the intermediate form to disk unless we need to
Andrew Tridgell [Sun, 7 Dec 2003 13:51:23 +0000 (13:51 +0000)]
a bit more speed and better line matching in errors
Andrew Tridgell [Sun, 7 Dec 2003 13:39:45 +0000 (13:39 +0000)]
make pidl a little less verbose
Andrew Tridgell [Sun, 7 Dec 2003 13:38:07 +0000 (13:38 +0000)]
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.
Andrew Tridgell [Thu, 4 Dec 2003 11:02:22 +0000 (11:02 +0000)]
removed an unused file
Andrew Tridgell [Thu, 4 Dec 2003 11:01:58 +0000 (11:01 +0000)]
merged more updates from Jim Myers
Andrew Tridgell [Thu, 4 Dec 2003 09:52:14 +0000 (09:52 +0000)]
* added a debug thread id hook from jim myers
* change to select() from sys_select() in events.c, as sys_select() is
not thread safe. We need a new unified signal handling scheme for
Samba4, but for now just use select()
Andrew Tridgell [Thu, 4 Dec 2003 02:03:06 +0000 (02:03 +0000)]
* patch based on work by Jim Myers to unify the ioctl handling to be
more like the other major SMB functions
* added SMBntrename code
Andrew Tridgell [Thu, 4 Dec 2003 01:59:24 +0000 (01:59 +0000)]
don't use c++ comments
Andrew Tridgell [Thu, 4 Dec 2003 01:19:03 +0000 (01:19 +0000)]
we can't have two functions with the same name
Andrew Tridgell [Thu, 4 Dec 2003 01:18:34 +0000 (01:18 +0000)]
don't use c++ style comments
Andrew Tridgell [Thu, 4 Dec 2003 01:17:59 +0000 (01:17 +0000)]
some OSes already have a uint_t
Andrew Tridgell [Thu, 4 Dec 2003 01:17:00 +0000 (01:17 +0000)]
my debian unstable box uses "autoconf2.50" - i wish there were a
better way than this!
Tim Potter [Wed, 3 Dec 2003 11:31:29 +0000 (11:31 +0000)]
Updated some of the function names in the IDL.
Andrew Bartlett [Wed, 3 Dec 2003 03:10:10 +0000 (03:10 +0000)]
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
Andrew Tridgell [Tue, 2 Dec 2003 12:16:08 +0000 (12:16 +0000)]
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 !
Andrew Tridgell [Tue, 2 Dec 2003 12:01:10 +0000 (12:01 +0000)]
added netr_DatabaseSync2()
Andrew Tridgell [Tue, 2 Dec 2003 11:43:09 +0000 (11:43 +0000)]
added netr_LogonControl2() and netr_ServerAuthenticate2()
Jelmer Vernooij [Tue, 2 Dec 2003 11:10:56 +0000 (11:10 +0000)]
Initial step at cleaning and splitting up configure.in.
Andrew Tridgell [Tue, 2 Dec 2003 10:34:06 +0000 (10:34 +0000)]
added netr_LogonControl() and netr_GetAnyDCName()
Jelmer Vernooij [Tue, 2 Dec 2003 10:13:18 +0000 (10:13 +0000)]
Add script useful for finding checks for headers that are never used
Andrew Tridgell [Tue, 2 Dec 2003 10:08:26 +0000 (10:08 +0000)]
added netr_GetDcName() - quite a useful call
Andrew Tridgell [Tue, 2 Dec 2003 10:04:10 +0000 (10:04 +0000)]
added netr_AccountSync(), another NT_STATUS_NOT_IMPLEMENTED call
according to w2k3
Andrew Tridgell [Tue, 2 Dec 2003 09:52:15 +0000 (09:52 +0000)]
added netr_AccountDeltas(), which w2k3 gives
"NT_STATUS_NOT_IMPLEMENTED" for
Andrew Tridgell [Tue, 2 Dec 2003 09:16:53 +0000 (09:16 +0000)]
make sure we can expand the critical versions structure without
causing crashes in old modules. Thanks to metze for pointing this out!
Andrew Tridgell [Tue, 2 Dec 2003 08:04:37 +0000 (08:04 +0000)]
netr_DatabaseDeltas() now works. We ask for the deltas associated with
the last two sequence numbers on each database.
Tim Potter [Tue, 2 Dec 2003 05:38:27 +0000 (05:38 +0000)]
Hide gcc error message if using a compiler that can't precompile headers.
Andrew Tridgell [Tue, 2 Dec 2003 05:37:49 +0000 (05:37 +0000)]
* 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.
Andrew Tridgell [Tue, 2 Dec 2003 05:17:02 +0000 (05:17 +0000)]
don't pollute the structure name space so much
Andrew Tridgell [Tue, 2 Dec 2003 04:59:18 +0000 (04:59 +0000)]
netr_DatabaseSync() now works fully for databases 0, 1 and 2
Andrew Tridgell [Tue, 2 Dec 2003 04:33:57 +0000 (04:33 +0000)]
netr_DatabaseSync() now works fully for database 0
Andrew Tridgell [Tue, 2 Dec 2003 04:05:05 +0000 (04:05 +0000)]
initial netlogon database sync partly works - needs some IDL tweaks
Andrew Tridgell [Tue, 2 Dec 2003 03:06:21 +0000 (03:06 +0000)]
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.
Andrew Tridgell [Tue, 2 Dec 2003 02:15:33 +0000 (02:15 +0000)]
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
Andrew Tridgell [Tue, 2 Dec 2003 00:31:54 +0000 (00:31 +0000)]
* 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
Andrew Tridgell [Mon, 1 Dec 2003 22:13:11 +0000 (22:13 +0000)]
* another small API change in the credentials code
* don't use static variables in the smbdes code
Andrew Tridgell [Mon, 1 Dec 2003 12:41:54 +0000 (12:41 +0000)]
neater credentials handling in netlogon client code
Andrew Tridgell [Mon, 1 Dec 2003 10:07:24 +0000 (10:07 +0000)]
fixed NTLMSSP_SIGN_VERSION (which I broke earlier today)
Andrew Tridgell [Mon, 1 Dec 2003 09:28:10 +0000 (09:28 +0000)]
added netr_LogonSamLogon() and test code
Andrew Tridgell [Mon, 1 Dec 2003 04:13:43 +0000 (04:13 +0000)]
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
Andrew Tridgell [Mon, 1 Dec 2003 03:19:43 +0000 (03:19 +0000)]
added netr_ServerReqChallenge and cleaned up byte array printing
Andrew Tridgell [Mon, 1 Dec 2003 01:41:38 +0000 (01:41 +0000)]
started adding netlogon IDL and test suite
Andrew Tridgell [Mon, 1 Dec 2003 00:38:30 +0000 (00:38 +0000)]
removed more old code
Andrew Tridgell [Mon, 1 Dec 2003 00:29:13 +0000 (00:29 +0000)]
got rid of more group mapping code
Andrew Tridgell [Mon, 1 Dec 2003 00:17:30 +0000 (00:17 +0000)]
* got rid of UNISTR2 and everything that depends on it
* removed a bunch of code that needs to be rewritten using the new
interfaces
Andrew Tridgell [Sun, 30 Nov 2003 23:40:04 +0000 (23:40 +0000)]
* removed a bunch of unused code
* made some functions static
Tim Potter [Sun, 30 Nov 2003 11:57:40 +0000 (11:57 +0000)]
Added EnumPrinterDriver, GetPrinterDriver (still in progress)
Andrew Tridgell [Sun, 30 Nov 2003 11:45:08 +0000 (11:45 +0000)]
more unused headers
Andrew Tridgell [Sun, 30 Nov 2003 11:39:03 +0000 (11:39 +0000)]
got rid of a bunch of unused header files (now replaced with IDL
generated headers)
Tim Potter [Fri, 28 Nov 2003 11:50:33 +0000 (11:50 +0000)]
GetPrinterDataEx, SetPrinterDataEx, DeletePrinterDataEx.
Tim Potter [Fri, 28 Nov 2003 10:34:58 +0000 (10:34 +0000)]
Add SetPrinterData, DeletePrinterData.
Andrew Tridgell [Fri, 28 Nov 2003 09:05:44 +0000 (09:05 +0000)]
fixed some warnings
Andrew Tridgell [Fri, 28 Nov 2003 08:51:09 +0000 (08:51 +0000)]
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.
Tim Potter [Fri, 28 Nov 2003 06:39:06 +0000 (06:39 +0000)]
Fix bug in EnumPrinterData test.
Implement GetPrinterData RPC.
Andrew Tridgell [Fri, 28 Nov 2003 05:32:40 +0000 (05:32 +0000)]
make sure there is at least one valid interface in an IDL file
Andrew Tridgell [Fri, 28 Nov 2003 05:20:11 +0000 (05:20 +0000)]
* 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)
Tim Potter [Fri, 28 Nov 2003 05:02:32 +0000 (05:02 +0000)]
Added EnumJobs, GetJob, SetJob RPCs.
Andrew Tridgell [Fri, 28 Nov 2003 03:47:45 +0000 (03:47 +0000)]
* 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)