summaryrefslogtreecommitdiff
path: root/source4/torture
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r3016: - converted the events code to tallocAndrew Tridgell3-2/+97
- added the new messaging system, based on unix domain sockets. It gets over 10k messages/second on my laptop without any socket cacheing, which is better than I expected. - added a LOCAL-MESSAGING torture test (This used to be commit 3af06478da7ab34a272226d8d9ac87e0a4940cfb)
2007-10-10r3011: separated the locktest code into a separate module in smbtortureAndrew Tridgell3-899/+927
(This used to be commit f4a91be63502c0bb32c52c0558dfc7d4d0a21fae)
2007-10-10r2997: Added delete on close tests for readonly files.Jeremy Allison1-0/+58
Jeremy. (This used to be commit 93efa870400a3f69700e69d30319ffbdbdf94820)
2007-10-10r2992: drsuapi uses WERROR not NTSTATUSStefan Metzmacher1-21/+125
metze (This used to be commit 757f67c08b0b1309d8a0b900539111c7bc430b0e)
2007-10-10r2991: add drsuapi_DsGetDomainControllerInfo() idl and torture testStefan Metzmacher1-2/+84
metze (This used to be commit 98ca7640c59aa8694abde03f5661b8908cf088bb)
2007-10-10r2983: report a failure if a server doesn't update the write time at allAndrew Tridgell1-1/+8
after 2 minutes (This used to be commit b2298a1c5f0330a262ac855479060fd677fe8059)
2007-10-10r2982: added a test that shows the amount of time a server takes to updateAndrew Tridgell1-0/+84
the write time on a file after a write. (This used to be commit efee3c90f90b1e9dd3351933d27fe8a085c3657f)
2007-10-10r2971: fix DsBind idlStefan Metzmacher1-1/+2
metze (This used to be commit 9e50b3214b9de84811640296c19d6068936dfd54)
2007-10-10r2970: - give somefields names and typdef enums for the possible valuesStefan Metzmacher1-11/+144
- 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-10r2969: inet_ntoa() takes an address in network byte order, so now that weAndrew Tridgell1-1/+1
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-10r2952: add idl and torture test for DsCrackNamesStefan Metzmacher1-0/+38
(I need to find out what the fields mean but it works) metze (This used to be commit eff51fc623f2e7b57e7e53eb81760684815db2f4)
2007-10-10r2938: Use IDL to dissect the RHS of floors in protocol towersJelmer Vernooij1-28/+18
(This used to be commit 273d0049b5339e3288b264e5a4393bfab1d4e239)
2007-10-10r2929: longhorn does not produce sorted directory listings! This isAndrew Tridgell1-2/+1
excellent, as it means we don't lose any compatibility by also not giving sorted listings. I was very much afraid that applications had begun to rely on this (as its guaranteed by w2k NTFS). no longer mark a non-sorting server as an error (This used to be commit 1d21c9a9d1879f5b3de15d251b6bb379c326002d)
2007-10-10r2921: Add a few more protocols and fix the numbers associated with some ofJelmer Vernooij1-24/+36
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-10r2912: Test for the sort-of weird file stamp semantics. The last_write seems ↵Volker Lendecke1-54/+92
to be updated only by an arbitrary close() after the file was actually written to. Volker (This used to be commit ab52ebfdccc65ca510d74ce8e0205b45b58550ef)
2007-10-10r2910: I noticed that the samr torture test was doing its own DOS->UNIXAndrew Tridgell1-10/+1
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-10r2909: fix some RAW-SEARCH torture mem leaksAndrew Tridgell1-4/+5
(This used to be commit 75ca5ba5091c9046159531b917ff17a519013556)
2007-10-10r2896: Add torture test for EnumValue()Jelmer Vernooij1-24/+25
(This used to be commit e9a7f729b3b5e1d970f124b0a25255f40e18c9b4)
2007-10-10r2895: Another nut to crack, not sure how hard: The statinfo on a file does ↵Volker Lendecke1-0/+103
obviously not change during a write. The nasty thing: Excel 2003 obviosly does depend on this. Volker (This used to be commit 8e26775134671114425ce1ecf7a22bad4e763d1f)
2007-10-10r2888: - add 'Ds' prefix to Bind and Unbind call on drsuapiStefan Metzmacher2-20/+20
- rename handle -> bind_handle - change function types to NTSTATUS metze (This used to be commit de73676342be8dbf39df8d3fe68817932ee71ccb)
2007-10-10r2857: this commit gets rid of smb_ucs2_t, wpstring and fpstring, plus lots ↵Andrew Tridgell4-19/+65
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-10r2854: added a RPC-COUNTCALLS torture test - a useful varient on the full ↵Andrew Tridgell3-0/+76
scanner in RPC-SCANNER (This used to be commit 04eaae59cda8a8d67bcca896a32dec2ad402a4f2)
2007-10-10r2853: add torture test to find the defaultNamingContext on the RootDSEStefan Metzmacher2-0/+198
try a sasl sealed CompareRequest abartlet: we need to check how SINGING only can work, it failed for me:-( metze (This used to be commit 1dabd04e265bbc1e8335f816708c2639746d9afd)
2007-10-10r2833: - added a call to SamrQueryGroupMember for every group, and fix theAndrew Tridgell1-1/+25
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-10r2799: removed one last occurance of torture_ldb_alloc()Andrew Tridgell1-3/+3
(This used to be commit 5045482b14dfcbb535eab3e5fa63ef1c3b46c40f)
2007-10-10r2791: got rid of talloc_unreference() and instead created talloc_unlink(),Andrew Tridgell1-21/+109
which is much clearer and simpler to use. It removes a specific parent from a pointer, no matter whether that parent is a "reference" or a direct parent. This gives complete control over the free process. (This used to be commit 6c563887f1b9b8c842309a523e88b6f2a32db10f)
2007-10-10r2787: force masktest to use RAW_SEARCH_BOTH_DIRECTORY_INFO so it can obtain ↵Andrew Tridgell1-2/+3
the short name (This used to be commit ad5a5ea08d5be812e0ef662948477add2433bc6f)
2007-10-10r2785: call init_iconv() in smbtorture to ensure we have no memory allocatedAndrew Tridgell1-0/+1
when a test started, thus making leak detection easier (This used to be commit 6c46e4622a9851bdef25ba9d353bdebc25f6ec8d)
2007-10-10r2774: get rid of the lanman specific code in masktest, and add a -l optionAndrew Tridgell1-99/+8
(This used to be commit 630fefb24a2f8d332dfa39f6c4980cd230407142)
2007-10-10r2744: ben elliston taught me about gcov today, which allows you to measureAndrew Tridgell1-20/+300
the % coverage in terms of lines of code of a test suite. I thought a good first place to start with gcov was the talloc test suite. When I started the test suite covered about 60% of all lines of code in talloc.c, and now it covers about 99%. The only lines not covered are talloc corruption errors, as that would cause smb_panic() to fire. It will be interesting to try gcov on the main Samba test suite for smbd. We won't achieve 100% coverage, but it would be nice to get to 90% or more. I also modified the talloc.c sources to be able to be build standalone, using: gcc -c -D_STANDALONE_ -Iinlcude lib/talloc.c that should make it much easier to re-use talloc in other projects (This used to be commit 8d4dc99b82efdf24b6811851c7bdd4af5a4c52c9)
2007-10-10r2742: - fixed a bug in talloc_unreference()Andrew Tridgell1-41/+113
- made the LOCAL-TALLOC smbtorture test much stricter, checking that block counts for every pointer are correct after every operation (This used to be commit 18d3e2647f0bedbba699d1ba2649c0cfe4526ef6)
2007-10-10r2738: free up the session information as soon as it is invalidated in theAndrew Tridgell1-1/+1
RAW-CONTEXT test case (This used to be commit f4a7a3282af6c6ff771547d2efdbba0fe0451b3e)
2007-10-10r2735: More DCOM updates:Jelmer Vernooij2-0/+2
- Several updates to the interface definitions after reading some more of the specs - Add Remote Activation interface - Add body extension uuids - Add oxidresolve torture test to list - Make pidl complain about object interfaces that don't inherit from IUnknown (This used to be commit 1bb471832830d73f0c7290e2ec12878518598379)
2007-10-10r2718: - added a talloc_unreference() function as requested by metze.Andrew Tridgell1-17/+121
- added documentation for talloc_unreference() - made the abandoned child logic in talloc_free() clearer and more consistent (This used to be commit a87584c8e3fb06cd3ff29a918f681b5c6c32b9ff)
2007-10-10r2711: added a simple talloc speed tester. I get the following on my laptop:Andrew Tridgell1-0/+55
MEASURING TALLOC VS MALLOC SPEED talloc: 279154 ops/sec malloc: 318758 ops/sec which I think is an acceptable overhead for the increased functionality (This used to be commit 91669ea830c16db2730c5e43a7cad26d9db5c585)
2007-10-10r2710: continue with the new style of providing a parent context wheneverAndrew Tridgell7-18/+47
possible to a structure creation routine. This makes for much easier global cleanup. (This used to be commit e14ee428ec357fab76a960387a9820a673786e27)
2007-10-10r2709: finally solved the talloc reference problem.Andrew Tridgell3-9/+126
The problem was that the simple "uint_t ref_count;" in a talloc chunk did not give enough information. It told us that a pointer was referenced more than once, but it didn't say who it was referenced by. This means that when the pointer was freed we had no sane way to clean up the reference. I have now replaced ref_count with a "refs" list, which means that references point to the pointer, and the pointer has a linked list of references. So now we can cleanup from either direction without losing track of anything. I've also added a LOCAL-TALLOC smbtorture test that tests talloc behaviour for some common uses. (This used to be commit 911a8d590cb184bcb892810729955c2c4cf02550)
2007-10-10r2699: Correct handle ServerAlive() and ServerAlive2() + add torture testsJelmer Vernooij1-0/+117
(This used to be commit 9e74144aa8e5f9a8b6e3d5293833c4afeebeddb0)
2007-10-10r2680: switched the libcli/raw/ code over to use talloc_reference(), which ↵Andrew Tridgell3-11/+3
simplifies things quite a bit (This used to be commit c82a9cf750829c4f6982ca3133295c8599023c4e)
2007-10-10r2676: add a test of the reference counting logic in the SAMR server into theAndrew Tridgell1-86/+31
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-10r2671: we're getting too many errors caused by the talloc_realloc() API notAndrew Tridgell2-3/+6
taking a context (so when you pass a NULL pointer you end up with memory in a top level context). Fixed it by changing the API to take a context. The context is only used if the pointer you are reallocing is NULL. (This used to be commit 8dc23821c9f54b2f13049b5e608a0cafb81aa540)
2007-10-10r2660: - converted the libcli/raw/ library to use talloc_increase_ref_count()Andrew Tridgell2-5/+17
rather than manual reference counts - properly support SMBexit in the cifs and posix backends - added a logoff method to all backends With these changes the RAW-CONTEXT test now passes against the posix backend (This used to be commit c315d6ac1cc40546fde1474702a6d66d07ee13c8)
2007-10-10r2659: removed some extraneous debug msgsAndrew Tridgell1-3/+0
(This used to be commit 770aa7e01e68df1fd8538c5b19b63a8545bb0355)
2007-10-10r2649: - used some cpp tricks to make users of talloc() and talloc_realloc()Andrew Tridgell1-0/+3
to get auto-naming of pointers very cheaply. - fixed a couple of memory leaks found with the new tricks A typical exit report for smbd is now: talloc report on 'null_context' (total 811 bytes in 54 blocks) auth/auth_sam.c:334 contains 20 bytes in 1 blocks struct auth_serversupplied_info contains 498 bytes in 33 blocks UNNAMED contains 8 bytes in 1 blocks lib/data_blob.c:40 contains 16 bytes in 1 blocks iconv(CP850,UTF8) contains 61 bytes in 4 blocks iconv(UTF8,CP850) contains 61 bytes in 4 blocks iconv(UTF8,UTF-16LE) contains 67 bytes in 4 blocks iconv(UTF-16LE,UTF8) contains 67 bytes in 4 blocks UNNAMED contains 13 bytes in 1 blocks which is much better than before (This used to be commit 6e721393d03afd3c2f8ced8422533547a9e33342)
2007-10-10r2645: converted the NTLMSSP code to the new style of tallocAndrew Tridgell1-4/+4
(This used to be commit b378aae95d4001c4cf4e6e59ed80ee1bd55382ee)
2007-10-10r2628: got rid of some warnings and converted a few more places to use ↵Andrew Tridgell1-1/+1
hierarchical memory allocation (This used to be commit 26da45a8019a2d6c9ff2ac2a6739c7d0b42b00de)
2007-10-10r2593: don't crash if the server doesn't know that 0 count searches mean 1Andrew Tridgell1-2/+6
(This used to be commit 640ced453092a5c5f3ffe7ee0fe4be804a4ced14)
2007-10-10r2589: a simple test to help find security related memory leaks. Run ↵Andrew Tridgell3-1/+71
valgrind on smbd with --show-leak=yes and --show-reachable=yes to track them down. (This used to be commit 7b23624a0f50c29346e8b1c4057f1c21f3be6d5a)
2007-10-10r2552: Character set conversion and string handling updates.Andrew Bartlett2-11/+9
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-10r2551: Add const.Andrew Bartlett1-2/+2
Andrew Bartlett (This used to be commit 066789a479ed7b36041e3455caac01e5c9244dc0)