1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-08 04:58:40 +03:00

342 Commits

Author SHA1 Message Date
Stefan Metzmacher
1890e6a659 r2992: drsuapi uses WERROR not NTSTATUS
metze
(This used to be commit 757f67c08b0b1309d8a0b900539111c7bc430b0e)
2007-10-10 12:59:55 -05:00
Stefan Metzmacher
f4e4989cb7 r2991: add drsuapi_DsGetDomainControllerInfo() idl and torture test
metze
(This used to be commit 98ca7640c59aa8694abde03f5661b8908cf088bb)
2007-10-10 12:59:55 -05:00
Stefan Metzmacher
20ed511c1b r2971: fix DsBind idl
metze
(This used to be commit 9e50b3214b9de84811640296c19d6068936dfd54)
2007-10-10 12:59:53 -05:00
Stefan Metzmacher
64344b88d1 r2970: - give somefields names and typdef enums for the possible values
- do more crackname tests in the torture test

- move server code for cracknames to a different file

metze
(This used to be commit 18050ea6037b3c0c7cfe975eb9c872368b9e3328)
2007-10-10 12:59:53 -05:00
Andrew Tridgell
f345c4281a r2969: inet_ntoa() takes an address in network byte order, so now that we
parse the RHS as IDL, we need to use htonl() to convert back to
network byte order before we can display the IP
(This used to be commit 45508b85dabf8aa66bff9aeebf99c1faf3d475ec)
2007-10-10 12:59:53 -05:00
Stefan Metzmacher
78e29c0491 r2952: add idl and torture test for DsCrackNames
(I need to find out what the fields mean but it works)

metze
(This used to be commit eff51fc623f2e7b57e7e53eb81760684815db2f4)
2007-10-10 12:59:51 -05:00
Jelmer Vernooij
ae0aa86039 r2938: Use IDL to dissect the RHS of floors in protocol towers
(This used to be commit 273d0049b5339e3288b264e5a4393bfab1d4e239)
2007-10-10 12:59:50 -05:00
Jelmer Vernooij
e2d27b9d23 r2921: Add a few more protocols and fix the numbers associated with some of
the current ones. It took me three hours to realise that the DCOM standard
contains false protocol numbers (apparently someone converted the protocol
numbers to hex twice, i.e. 13 -> 0c and 14 to 0d). There are no longer
duplicates in the list with protocol numbers now.
(This used to be commit f355cd426462a72575ef3c3b769f676334976986)
2007-10-10 12:59:48 -05:00
Andrew Tridgell
d186e63b01 r2910: I noticed that the samr torture test was doing its own DOS->UNIX
string conversion. For RPC, all string conversions are supposed to be
done by the NDR layer, using string flags set in the IDL. The reason
this wasn't working is that I had been too lazy to do the STR_ASCII
string types properly at the NDR layer when initially writing
ndr_basic.c.

This commit fixes the ndr_basic code properly to do all ASCII
varients, by re-using the non-ascii code and a "byte_mul" local
variable. I have also removed the manual string conversion in the SAMR
torture test code.
(This used to be commit aad0e7e9d890bb56447f1f933b8f2bb78a3ee269)
2007-10-10 12:59:47 -05:00
Jelmer Vernooij
235a847e68 r2896: Add torture test for EnumValue()
(This used to be commit e9a7f729b3b5e1d970f124b0a25255f40e18c9b4)
2007-10-10 12:59:45 -05:00
Stefan Metzmacher
594082233f r2888: - add 'Ds' prefix to Bind and Unbind call on drsuapi
- rename handle -> bind_handle

- change function types to NTSTATUS

metze
(This used to be commit de73676342be8dbf39df8d3fe68817932ee71ccb)
2007-10-10 12:59:42 -05:00
Andrew Tridgell
7d32679e96 r2857: this commit gets rid of smb_ucs2_t, wpstring and fpstring, plus lots of associated functions.
The motivation for this change was to avoid having to convert to/from
ucs2 strings for so many operations. Doing that was slow, used many
static buffers, and was also incorrect as it didn't cope properly with
unicode codepoints above 65536 (which could not be represented
correctly as smb_ucs2_t chars)

The two core functions that allowed this change are next_codepoint()
and push_codepoint(). These functions allow you to correctly walk a
arbitrary multi-byte string a character at a time without converting
the whole string to ucs2.

While doing this cleanup I also fixed several ucs2 string handling
bugs. See the commit for details.

The following code (which counts the number of occuraces of 'c' in a
string) shows how to use the new interface:

size_t count_chars(const char *s, char c)
{
	size_t count = 0;

	while (*s) {
		size_t size;
		codepoint_t c2 = next_codepoint(s, &size);
		if (c2 == c) count++;
		s += size;
	}

	return count;
}
(This used to be commit 814881f0e50019196b3aa9fbe4aeadbb98172040)
2007-10-10 12:59:39 -05:00
Andrew Tridgell
03341ec5bb r2854: added a RPC-COUNTCALLS torture test - a useful varient on the full scanner in RPC-SCANNER
(This used to be commit 04eaae59cda8a8d67bcca896a32dec2ad402a4f2)
2007-10-10 12:59:39 -05:00
Andrew Tridgell
ed6a5a1e0e r2833: - added a call to SamrQueryGroupMember for every group, and fix the
IDL so this works (the previous IDL was bogus)

- changed a hyper to uint64 after looking at output on cascade on sparc
(This used to be commit db1ed5675a5271085ea0b89dd634b037ee710178)
2007-10-10 12:59:37 -05:00
Andrew Tridgell
b2f1a29e43 r2710: continue with the new style of providing a parent context whenever
possible to a structure creation routine. This makes for much easier
global cleanup.
(This used to be commit e14ee428ec357fab76a960387a9820a673786e27)
2007-10-10 12:59:25 -05:00
Jelmer Vernooij
322d1ccd9f r2699: Correct handle ServerAlive() and ServerAlive2() + add torture tests
(This used to be commit 9e74144aa8e5f9a8b6e3d5293833c4afeebeddb0)
2007-10-10 12:59:24 -05:00
Andrew Tridgell
aa12305945 r2680: switched the libcli/raw/ code over to use talloc_reference(), which simplifies things quite a bit
(This used to be commit c82a9cf750829c4f6982ca3133295c8599023c4e)
2007-10-10 12:59:21 -05:00
Andrew Tridgell
399aade69c r2676: add a test of the reference counting logic in the SAMR server into the
RPC-SAMR torture test. This closes the samr connection before working
on a open domain handle. The server is supposed to know that the open
domain handle still holds a reference to the connection, so the
connection remains valid even though it has been closed.
(This used to be commit f31e5d56e364ce8ab76fdb20b30e179b458b2ffa)
2007-10-10 12:59:20 -05:00
Andrew Bartlett
9a9dcc7250 r2552: Character set conversion and string handling updates.
The intial motivation for this commit was to merge in some of the
bugfixes present in Samba3's chrcnv and string handling code into
Samba4.  However, along the way I found a lot of unused functions, and
decided to do a bit more...

The strlen_m code now does not use a fixed buffer, but more work is
needed to finish off other functions in str_util.c.  These fixed
length buffers hav caused very nasty, hard to chase down bugs at some
sites.

The strupper_m() function has a strupper_talloc() to replace it (we
need to go around and fix more uses, but it's a start).  Use of these
new functions will avoid bugs where the upper or lowercase version of
a string is a different length.

I have removed the push_*_allocate functions, which are replaced by
calls to push_*_talloc.  Likewise, pstring and other 'fixed length'
wrappers are removed, where possible.

I have removed the first ('base pointer') argument, used by push_ucs2,
as the Samba4 way of doing things ensures that this is always on an
even boundary anyway.  (It was used in only one place, in any case).
(This used to be commit dfecb0150627b500cb026b8a4932fe87902ca392)
2007-10-10 12:59:05 -05:00
Andrew Bartlett
ccdf4e045f r2547: Another place to use convert_string_talloc().
Andrew Bartlett
(This used to be commit 4904d814c0efd870ac42c790028a8448984e4749)
2007-10-10 12:59:05 -05:00
Jelmer Vernooij
9e71950c5b r2532: Don't run EnumValue torture test for now (idl needs fixing, doesn't compile)
(This used to be commit c98fbfe2507ef08cfd2ed5486f1122b6010939f9)
2007-10-10 12:59:02 -05:00
Tim Potter
19d5887f0a r2501: The AddMemberToAlias test doesn't need a domain_handle.
(This used to be commit 90a9e754db91647607eef3a2ccb08d3651fca9df)
2007-10-10 12:58:59 -05:00
Andrew Tridgell
e84cc8e538 r2500: disable the sleep test in echo until we have a win32 echo server that
does Microsoft style async rpc serving
(This used to be commit 050dcd9b95576e1a9c0cb2144fc01c690853abc0)
2007-10-10 12:58:59 -05:00
Tim Potter
cde8c60e88 r2489: Rename account_flags in EnumDomainAliases() to acct_flags.
(This used to be commit a0e571a9ddc01b8e90a93d591aec4b10c9926818)
2007-10-10 12:58:57 -05:00
Stefan Metzmacher
d9e43bc883 r2468: print out the names of the fault codes#
metze
(This used to be commit a0c2a3a5d4fba2a6a78cc3d167cbc19941fb43dc)
2007-10-10 12:58:56 -05:00
Andrew Tridgell
5d7f0dec9e r2465: modify the autoidl hack to work for DRSUAPI
(This used to be commit 59b3d68bd047231d72fa3299e7289aef25702e9b)
2007-10-10 12:58:56 -05:00
Tim Potter
0e71bf8148 r2458: Rename policy handle parameters for the SAMR pipe. Parameters now
have the handle type implied by the parameter name.  There are four
types of handle: connect, domain, user and group handles.  The
various samr_Connect functions return a connect handle, and the
samr_OpenFoo functions return a foo handle.

There is one exception - the samr_{Get,Set}Security function can
take any type of handle.

Fix up all C callers.
(This used to be commit 32f0f3154a8eb63de83145cbc8806b8906ccdc3e)
2007-10-10 12:58:55 -05:00
Stefan Metzmacher
6b9b169c27 r2443: check return code of event_loop_once() to catch thet cases where the server
closes the connetion and we got EBADF from select() and event_loop_once() fails

metze
(This used to be commit 9c0e50a6f3d628156b4543d5ded89e06be696f64)
2007-10-10 12:58:54 -05:00
Stefan Metzmacher
8f85b3f771 r2442: remove unused event_loop_once() call
metze
(This used to be commit 3cd63030b1433ddc3ae89e2f45c6f7a27b7d1756)
2007-10-10 12:58:53 -05:00
Stefan Metzmacher
7b65585eed r2387: fix segfault
seems that [in,out,ref] vars should be initialize
the [in] and [out] part

metze
(This used to be commit 47e613a5a1063d8e93e831252db03f19cdb08590)
2007-10-10 12:58:47 -05:00
Andrew Tridgell
df2ed66bb0 r2382: considerably improved the Bind and Unbind IDL and test code. We can
now do these two calls successfully against w2k3.

note that you must use ncacn_ip_tcp, and must enable dcerpc sealing,
otherwise w2k3 refuses the first DRSUAPI call.
(This used to be commit 7d3e34742277f264e41739721dbf08036eebb598)
2007-10-10 12:58:46 -05:00
Andrew Tridgell
2340725753 r2273: disable the async samr tests unless -X option is used, as windows
fails this and it kills the pipe, so we can't run the rest of the test
(This used to be commit bdb49f01b75aa5b3a458ee4629e867bee1d03358)
2007-10-10 12:58:36 -05:00
Andrew Tridgell
696629b2ec r2267: we no longer need to force the domain join to happen on NCACN_NP - it
now works on NCACN_IP_TCP as well.
(This used to be commit 9cc33d936407255b5c5fb9bde37d918cf268c784)
2007-10-10 12:58:36 -05:00
Andrew Tridgell
22275a4c2f r2266: yay! LSA session keys on TCP now work!
(This used to be commit f6ea24296acaaadcd2d59740bc88ef1a93fb1c28)
2007-10-10 12:58:35 -05:00
Andrew Bartlett
26abe13ff7 r2220: Updates to the NETLOGON torture test. This copes with 'long'
passwords - where the LM hash is invalid.

Also, we now drive all the logon levels and validation levels from the
outer loop, so we can check the expected return values (rather than
overwriting them).

Andrew Bartlett
(This used to be commit f7f7c3de23ffb042f7cf7b4fa42b6b18c205719d)
2007-10-10 12:58:32 -05:00
Andrew Tridgell
13f44bbacb r2209: patch from volker to add EnumPorts spoolss IDL and test code
the ndr->offset=0; stuff is ugly. We need a better way to handle this.
(This used to be commit e909bfa708aeceeaa37faa6f6dff0274f8ac7920)
2007-10-10 12:58:31 -05:00
Andrew Tridgell
5f6c0b6c8c r2207: this bug caued valgrind to consume infinite memory till the kernel killed it :(
(This used to be commit 60a88595e23eb2953edfacf9dfc9fe3f08ec5eeb)
2007-10-10 12:58:31 -05:00
Andrew Tridgell
905dd977fa r2203: delete the key after testing, so as not to clutter the server with random keys
(This used to be commit d98ed1fbe52b547c461f1b6a859504e96e0e3ee7)
2007-10-10 12:58:31 -05:00
Andrew Tridgell
73da5b1e87 r2202: don't close the smb pipe after the puzzle test
(This used to be commit 591ee2308c95982caf5453d35ebf6530208037fd)
2007-10-10 12:58:31 -05:00
Andrew Tridgell
b702a07f0b r2201: removed an exit I accidentially left in
(This used to be commit e1d13631f0163b69401a07c51e449ea1e32239bf)
2007-10-10 12:58:30 -05:00
Andrew Tridgell
a67ec52fde r2200: solved another piece of the lsakey puzzle - the session key for lsa
encryption on ncacn_ip_tcp is a fixed buffer! I don't yet know what
the buffer is, but this code proves its the same buffer for different
w2k3 servers and different user passwords, plus it is independent of
the negotiated NTLMSSP session key.
(This used to be commit 05fd38f3cfd9476bc1cf7fed838a942a75569c0a)
2007-10-10 12:58:30 -05:00
Andrew Tridgell
a560082c60 r2199: the unknown 16 bit number in lsa_LookupPrivDisplayName() is a language
ID, so the client can choose what language they get the privilege
description in.

this is the first time I've seen a language ID on the wire in CIFS.
(This used to be commit e99d88915fbfcfb50b04330cd1a32b90222fbca3)
2007-10-10 12:58:30 -05:00
Andrew Tridgell
55b38541a0 r2186: setting [ref] output pointers in dcerpc calls is pointless. Removed it
for test_LookupPrivDisplayName
(This used to be commit 2d8f4005926e15dcb56a6501091a56475a99712d)
2007-10-10 12:58:30 -05:00
Andrew Tridgell
eaab3ed2d2 r2185: add a callback function to the dcerpc async API
also add a demonstration of its use in the netlogon async example
(This used to be commit f2a0438c66b999189c1a2ad726e91efd0748eb90)
2007-10-10 12:58:30 -05:00
Andrew Tridgell
3a899d9a92 r2182: force the torture test domain join to happen on SMB to prevent the
LSAKEY problem holding up other tests
(This used to be commit ad8d54fd7dd93cb984d23acecfc1c611b63a5d58)
2007-10-10 12:58:29 -05:00
Andrew Tridgell
58bb944d81 r2181: an rpc async test on the netlogon pipe
(This used to be commit 4c370c3c917f399497f936a2037ea2868b2196d2)
2007-10-10 12:58:29 -05:00
Andrew Tridgell
01f704e5ec r2179: two more lsa torture tests from Richard Renard. Thanks!
(This used to be commit 25f85efd75bd54ff142027a8741edaa94725ca9a)
2007-10-10 12:58:29 -05:00
Andrew Tridgell
1fc55db733 r2107: added a SAMR async test - this one seems to work
(This used to be commit 306eb848654e0cadb0ebe10c29420fc0c30a64c4)
2007-10-10 12:58:25 -05:00
Andrew Tridgell
f891ff694b r2105: added a TestSleep() operation to the echo pipe and extended the
RPC-ECHO test to use it to test asynchronous rpc operations.
(This used to be commit a5eb6cad5050928fab593e1f9a82fbfba589120c)
2007-10-10 12:58:25 -05:00
Andrew Tridgell
e7f36ff1a5 r2100: rework the dcerpc client side library so that it is async. We now
generate a separate *_send() async function for every RPC call, and
there is a single dcerpc_ndr_request_recv() call that processes the
receive side of any rpc call. The caller can use
dcerpc_event_context() to get a pointer to the event context for the
pipe so that events can be waited for asynchronously.

The only part that remains synchronous is the initial bind
calls. These could also be made async if necessary, although I suspect
most applications won't need them to be.
(This used to be commit f5d004d8eb8c76c03342cace1976b27266cfa1f0)
2007-10-10 12:58:24 -05:00