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)
Andrew Tridgell [Fri, 28 Nov 2003 00:48:05 +0000 (00:48 +0000)]
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.
Tim Potter [Thu, 27 Nov 2003 20:55:13 +0000 (20:55 +0000)]
Implemented SetForm RPC.
Tim Potter [Thu, 27 Nov 2003 09:50:25 +0000 (09:50 +0000)]
Add DeleteForm, start cleaning up tests.
Andrew Tridgell [Thu, 27 Nov 2003 07:28:46 +0000 (07:28 +0000)]
more epmapper and mgmt magic
protocol 0x1f is interesting - its ncacn_http !
Tim Potter [Thu, 27 Nov 2003 06:15:06 +0000 (06:15 +0000)]
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.
Andrew Tridgell [Thu, 27 Nov 2003 05:34:28 +0000 (05:34 +0000)]
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 :)
Andrew Tridgell [Thu, 27 Nov 2003 04:04:31 +0000 (04:04 +0000)]
use EPMAPPER_PORT constant instead of 135
Andrew Tridgell [Thu, 27 Nov 2003 04:02:15 +0000 (04:02 +0000)]
a couple of tidyups
* don't try to map the epmapper uuid !
* some preliminary support for alter context pdus
Andrew Tridgell [Thu, 27 Nov 2003 04:01:18 +0000 (04:01 +0000)]
switched to WERROR return codes in the management IDL
Andrew Tridgell [Thu, 27 Nov 2003 04:00:21 +0000 (04:00 +0000)]
added -m for 'max protocol' as a standard option
Andrew Tridgell [Wed, 26 Nov 2003 21:57:29 +0000 (21:57 +0000)]
fixed default port handling pointed out by Tom Jansen
Andrew Tridgell [Wed, 26 Nov 2003 12:29:08 +0000 (12:29 +0000)]
by default sign RPC over TCP but not RPC over SMB. I will add command line control soon
Tim Potter [Wed, 26 Nov 2003 06:26:18 +0000 (06:26 +0000)]
Implemented EnumForms and GetForm.
Andrew Tridgell [Wed, 26 Nov 2003 04:32:39 +0000 (04:32 +0000)]
added a link to opengroup PDU definitions
Andrew Tridgell [Wed, 26 Nov 2003 04:32:04 +0000 (04:32 +0000)]
show an error when the epmapper fails to find an interface
Tim Potter [Wed, 26 Nov 2003 04:23:24 +0000 (04:23 +0000)]
Add bind nak to dcerpc_payload.
Andrew Tridgell [Wed, 26 Nov 2003 03:43:04 +0000 (03:43 +0000)]
transfer syntax V2 isn't as magic as I thought
Andrew Tridgell [Wed, 26 Nov 2003 03:41:06 +0000 (03:41 +0000)]
use the IDL defined NDR version number
Andrew Tridgell [Wed, 26 Nov 2003 03:36:17 +0000 (03:36 +0000)]
added auto-determination of the DCERPC over TCP port number by asking
the servers endpoint mapper
Andrew Tridgell [Wed, 26 Nov 2003 02:08:41 +0000 (02:08 +0000)]
fixed some memory leaks in the dcerpc use of ntlmssp signing
Andrew Tridgell [Wed, 26 Nov 2003 01:16:41 +0000 (01:16 +0000)]
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
Andrew Tridgell [Wed, 26 Nov 2003 01:13:00 +0000 (01:13 +0000)]
added some paranoid checking for enums
Tim Potter [Tue, 25 Nov 2003 11:24:49 +0000 (11:24 +0000)]
Spoolss functions return WERROR not NTSTATUS.
Start writing idl for forms RPCs.
Jelmer Vernooij [Tue, 25 Nov 2003 03:15:26 +0000 (03:15 +0000)]
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
Jelmer Vernooij [Tue, 25 Nov 2003 02:09:40 +0000 (02:09 +0000)]
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
Andrew Tridgell [Mon, 24 Nov 2003 13:19:00 +0000 (13:19 +0000)]
* fixed byte order in epmapper parsing
* allow rpc transport to be specified on command line in smbtorture
Andrew Tridgell [Mon, 24 Nov 2003 12:40:47 +0000 (12:40 +0000)]
initial implementation of dcerpc over tcp. RPC-EPMAPPER works, now to
add epm_Map calls and support the rest of the pipes
Andrew Tridgell [Mon, 24 Nov 2003 11:45:33 +0000 (11:45 +0000)]
* prepared the dcerpc subsystem for adding the RPC over TCP transport
* fixed a uninitialised variable bug in pidl (found by valgrind)
Andrew Tridgell [Mon, 24 Nov 2003 10:37:24 +0000 (10:37 +0000)]
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.
Andrew Tridgell [Mon, 24 Nov 2003 10:15:17 +0000 (10:15 +0000)]
added tests for epm_Map endpointer map calls
Andrew Tridgell [Mon, 24 Nov 2003 05:28:10 +0000 (05:28 +0000)]
give far more detail in the EPMAPPER results
Andrew Tridgell [Mon, 24 Nov 2003 03:31:03 +0000 (03:31 +0000)]
make sure we don't try to update a constant
Andrew Tridgell [Mon, 24 Nov 2003 03:21:49 +0000 (03:21 +0000)]
added tests for the remaining calls on the rpc management interface
Andrew Tridgell [Mon, 24 Nov 2003 01:24:29 +0000 (01:24 +0000)]
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 !
Andrew Tridgell [Sun, 23 Nov 2003 21:51:24 +0000 (21:51 +0000)]
* better diagnostics in ndrdump
* added samr_Connect2()
Andrew Tridgell [Sun, 23 Nov 2003 13:44:19 +0000 (13:44 +0000)]
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.
Tim Potter [Sun, 23 Nov 2003 11:57:15 +0000 (11:57 +0000)]
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.
Tim Potter [Sun, 23 Nov 2003 11:05:31 +0000 (11:05 +0000)]
Removed unused variable.
Tim Potter [Sun, 23 Nov 2003 10:51:39 +0000 (10:51 +0000)]
Check NT_STATUS code from dcerpc call function before checking the
WERROR code.
Tim Potter [Sun, 23 Nov 2003 10:50:52 +0000 (10:50 +0000)]
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.
Andrew Tridgell [Sun, 23 Nov 2003 07:14:17 +0000 (07:14 +0000)]
fixed the handling of value() attributes on scalars in IDL that
reference other elements of the same structure
Tim Potter [Sun, 23 Nov 2003 06:54:18 +0000 (06:54 +0000)]
Actually call right function name.
Tim Potter [Sun, 23 Nov 2003 06:38:37 +0000 (06:38 +0000)]
Call enumkey for tridge.
Tim Potter [Sun, 23 Nov 2003 06:31:10 +0000 (06:31 +0000)]
String termination fix.
Re-arrange winreg tests - currently it's failing with an input validation
error on tridge's test pull/push test code.
Tim Potter [Sun, 23 Nov 2003 06:29:11 +0000 (06:29 +0000)]
Strings in the winreg pipe are terminated.
Andrew Tridgell [Sun, 23 Nov 2003 06:28:12 +0000 (06:28 +0000)]
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.
Andrew Tridgell [Sun, 23 Nov 2003 03:42:20 +0000 (03:42 +0000)]
save about 35% of the time for "make idl" by processing multiple IDL
files at once, which means less perl startup time.
Andrew Tridgell [Sun, 23 Nov 2003 03:10:50 +0000 (03:10 +0000)]
get rid of some more unused headers
Andrew Tridgell [Sun, 23 Nov 2003 03:03:27 +0000 (03:03 +0000)]
by using a single proto.h we gain another factor of 4 in the speed of
"make proto"
Andrew Tridgell [Sun, 23 Nov 2003 02:44:23 +0000 (02:44 +0000)]
final bit of tidyup and speedup
Andrew Tridgell [Sun, 23 Nov 2003 02:33:46 +0000 (02:33 +0000)]
much faster inner loop and neater code
Andrew Tridgell [Sun, 23 Nov 2003 02:11:55 +0000 (02:11 +0000)]
fixed loadparm handling properly
Andrew Tridgell [Sun, 23 Nov 2003 02:00:40 +0000 (02:00 +0000)]
nicer base type handling
Andrew Tridgell [Sun, 23 Nov 2003 01:53:54 +0000 (01:53 +0000)]
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.
Andrew Tridgell [Sun, 23 Nov 2003 01:31:40 +0000 (01:31 +0000)]
we don't need awk now
Andrew Tridgell [Sun, 23 Nov 2003 01:30:58 +0000 (01:30 +0000)]
get rid of our awk scripts
Andrew Tridgell [Sun, 23 Nov 2003 01:29:42 +0000 (01:29 +0000)]
changed to perl for mkproto, patch from vance
Andrew Tridgell [Sat, 22 Nov 2003 22:53:08 +0000 (22:53 +0000)]
added support for enumerated types in IDL files. This makes unions
easier to work with.
Andrew Tridgell [Sat, 22 Nov 2003 22:09:10 +0000 (22:09 +0000)]
added support for 'const' in IDL files. This makes it easy to define
symbolic names for bitfields etc.
Andrew Tridgell [Sat, 22 Nov 2003 12:25:20 +0000 (12:25 +0000)]
added the beginnings of an IDL validator, to give clearer errors when
IDL is not valid
Andrew Tridgell [Sat, 22 Nov 2003 11:49:22 +0000 (11:49 +0000)]
* fixed null terminated string handling
* fixed nested relative offsets in push functions
the spoolss torture test now passes!
Andrew Tridgell [Sat, 22 Nov 2003 10:37:00 +0000 (10:37 +0000)]
* fixed handling of relative subcontext unions
* fixed GetPrinter in spoolss after OpenPrinter
Andrew Tridgell [Sat, 22 Nov 2003 09:45:40 +0000 (09:45 +0000)]
dfs torture test now passes
Andrew Tridgell [Sat, 22 Nov 2003 09:32:35 +0000 (09:32 +0000)]
* 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
Andrew Tridgell [Sat, 22 Nov 2003 08:41:40 +0000 (08:41 +0000)]
* 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
Andrew Tridgell [Sat, 22 Nov 2003 08:11:32 +0000 (08:11 +0000)]
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
Andrew Tridgell [Sat, 22 Nov 2003 06:10:32 +0000 (06:10 +0000)]
* 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]
Tim Potter [Sat, 22 Nov 2003 05:34:25 +0000 (05:34 +0000)]
Convert all NTSTATUS return codes to WERROR.
Implement all OpenXXX calls, EnumKey, OpenKey, QueryInfoKey.
Started EnumValue but it doesn't work yet.
Andrew Tridgell [Sat, 22 Nov 2003 01:40:24 +0000 (01:40 +0000)]
added Parse::RecDescent module into pidl to ensure we all use the same
version. This should fix the problems Richard was seeing.
Andrew Tridgell [Sat, 22 Nov 2003 01:27:40 +0000 (01:27 +0000)]
added some explanations for epmapper IDL and dom_sid2
Andrew Tridgell [Fri, 21 Nov 2003 22:34:45 +0000 (22:34 +0000)]
fixed a bug with pushing non-pointer unions
Andrew Tridgell [Fri, 21 Nov 2003 22:00:38 +0000 (22:00 +0000)]
fix a smbtorture memory leak
Andrew Tridgell [Fri, 21 Nov 2003 22:00:00 +0000 (22:00 +0000)]
cleaner handling of relative pointers to strings
Andrew Tridgell [Fri, 21 Nov 2003 21:25:48 +0000 (21:25 +0000)]
don't ignore .h files here
Andrew Tridgell [Fri, 21 Nov 2003 21:25:03 +0000 (21:25 +0000)]
forgot to commit this, sorry
Andrew Tridgell [Fri, 21 Nov 2003 13:27:58 +0000 (13:27 +0000)]
print out the UUIDs from the end point mapper
Andrew Tridgell [Fri, 21 Nov 2003 13:14:17 +0000 (13:14 +0000)]
* 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.