summaryrefslogtreecommitdiff
path: root/source4/torture/basic
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r4951: some of the code dealing with libcli was getting too complex trying toAndrew Tridgell1-1/+1
handle the inverted memory hierarchy that a normal session establishment gave. The inverted hierarchy came from that fact that you first establish a socket, then a transport, then a session and finally a tree. That leads to the socket being at the top of the memory hierarchy and the tree at the bottom, which makes no sense from the users point of view, as they want to be able to free the tree and have everything disappear. The core problem was that the libcli interface didn't distinguish between establishing a primary context and a secondary context. If you establish a 2nd session on a transport then you want the transport to be referenced by the session, whereas if you establish a primary session then you want the transport to be a child of the session. To fix this I have added "parent_ctx" and "primary" arguments to the libcli intialisation functions. This makes using the library much easier, and gives us a memory hierarchy that makes much more sense. I was prompted to do this by a bug in the cifs backend, which was caused by the socket not being properly torn down on a disconnect due to the inverted memory hierarchy. (This used to be commit 5e8fd5f70178992e249805c2e1ddafaf6840739b)
2007-10-10r4777: added a smb_composite_sesssetup() async composite function. ThisAndrew Tridgell1-8/+8
encapsulates all the different session setup methods, including the multi-pass spnego code. I have hooked this into all the places that previously used the RAW_SESSSETUP_GENERIC method, and have removed the old RAW_SESSSETUP_GENERIC code from clisession.c and clitree.c. A nice side effect is that these two modules are now very simple again, back to being "raw" session setup handling, which was what was originally intended. I have also used this to replace the session setup code in the smb_composite_connect() code, and used that to build a very simple replacement for smbcli_tree_full_connection(). As a result, smbclient, smbtorture and all our other SMB connection code now goes via these composite async functions. That should give them a good workout! (This used to be commit 080d0518bc7d6fd4bc3ef783e7d4d2e3275d0799)
2007-10-10r4549: got rid of a lot more uses of plain talloc(), instead usingAndrew Tridgell1-1/+1
talloc_size() or talloc_array_p() where appropriate. also fixed a memory leak in pvfs_copy_file() (failed to free a memory context) (This used to be commit 89b74b53546e1570b11b3702f40bee58aed8c503)
2007-10-10r4547: - added talloc_new(ctx) macro that is a neater form of the common ↵Andrew Tridgell1-2/+2
talloc(ctx, 0) call. - cleaned up some talloc usage in various files I'd like to get to the point that we have no calls to talloc(), at which point we will rename talloc_p() to talloc(), to encourage everyone to use the typesafe functions. (This used to be commit e6c81d7c9f8a6938947d3c1c8a971a0d6d50b67a)
2007-10-10r4445: put the unlink test in a subdirectory, and ensure it cleans upAndrew Tridgell1-2/+6
(This used to be commit 382231ca365eccec8024af9420b1ebe41953bdb5)
2007-10-10r4430: - fixed the BASE-LOCK* tests to use a subdirectory, and properly ↵Andrew Tridgell1-12/+30
setup the directory before each test, thus avoiding errors due to previous failures (This used to be commit a44fa5319d87e57f4b904334d9ea65cc6807b789)
2007-10-10r4063: - change char * -> uint8_t in struct request_bufferStefan Metzmacher4-21/+21
- change smbcli_read/write to take void * for the buffers to match read(2)/write(2) all this fixes a lot of gcc-4 warnings metze (This used to be commit b94f92bc6637f748d6f7049f4f9a30b0b8d18a7a)
2007-10-10r4055: fixed more places to use type safe allocation macrosAndrew Tridgell1-2/+2
(This used to be commit eec698254f67365f27b4b7569fa982e22472aca1)
2007-10-10r4037: fixed a bunch of "might be uninitialised" warnings after enabling -O1 ↵Andrew Tridgell2-2/+2
in my compile (This used to be commit 0928b1f5b68c858922c3ea6c27ed03b5091c6221)
2007-10-10r4035: more effort on consistent naming of the access mask bits.Andrew Tridgell6-10/+10
This removes the duplicate named SEC_RIGHTS_MAXIMUM_ALLOWED and SEC_RIGHTS_FULL_CONTROL, which are just other names for SEC_FLAG_MAXIMUM_ALLOWED and SEC_RIGHTS_FILE_ALL. The latter names match the new naming conventions in security.idl Also added names for the generic->specific mappings for files are directories (This used to be commit 17a4e0b3aca227b40957ed1e0c57e498debc6ddf)
2007-10-10r4013: got rid of a bunch of unused or unmaintained codeAndrew Tridgell1-1/+1
- removed the clitar code. It is unmaintained, and a horribly badly done hack - removed client.h as it contained mostly unused definitions - removed the unused clidfs.c code (This used to be commit 31a7bddbb3815b4d625e993dbce4805dae1c18f8)
2007-10-10r4011: get rid of rpc_secdes.h and replace it with a single sane set ofAndrew Tridgell10-81/+123
definitions for security access masks, in security.idl The previous definitions were inconsistently named, and contained many duplicate and misleading entries. I kept finding myself tripping up while using them. (This used to be commit 01c0fa722f80ceeb3f81f01987de95f365a2ed3d)
2007-10-10r3975: added LFN filesystem attribute bit definition from etherealAndrew Tridgell1-1/+1
apologies for not committing this earlier (This used to be commit 0950681091ab99f0e79048a9c1db57d057a96e66)
2007-10-10r3971: fix compiler warningsStefan Metzmacher1-7/+7
metze (This used to be commit 234166606dc86b9e98226cff94b3869ec173671e)
2007-10-10r3958: fix the build for nowStefan Metzmacher1-1/+1
tridge: please fix that! metze (This used to be commit 45401b757e13036b9e8bffce3e7c3695a6da1e9b)
2007-10-10r3945: expanded the BASE-PROPERTIES test to print a nicely formatted list ofAndrew Tridgell1-0/+129
the capabilities and filesystem attribute bits of the server. (This used to be commit 9debe2938194d686eb9ef46f7e10010490f2a624)
2007-10-10r3888: Just proving :-) to tridge that a Setfileinfo with a modifiedJeremy Allison1-2/+17
write time is sticky, and causes any subsequent writes not to update the last write time. Added write that extends the file followed by fnum specific smbflush. It stays the same time :-). Jeremy. (This used to be commit a2ea2166dcb7044d7b9e53417e53febea2f81e20)
2007-10-10r3887: Much better understanding of delayed write time, and the interactionJeremy Allison1-4/+80
with setfileinfo modifying the write time. I have some ideas on how to emulate this in the Samba server now but the commented case will be very hard... Jeremy. (This used to be commit c9211d084719a16f671b315a9c0bc6ed59fa8c8e)
2007-10-10r3886: Trying to understand delayed file write update times. Added anotherJeremy Allison1-0/+97
test that uses 2 connections and queries the time via pathinfo, not fileinfo. MSDN states : "When writing to a file, the last write time is not fully updated until all handles used for writing have been closed." - but this is obviously untrue. W2K3 seems to use a 2 second granularity for this. Next I'll try using SetFileTime equivalent to see if this takes the same time to take effect. Jeremy. (This used to be commit 2e47e241f98c3dba8be346cea726def38399eb97)
2007-10-10r3699: - split the delayed write testing out of RAW-WRITE, as it is not yetAndrew Tridgell6-34/+293
clear what the correct behaviour is for delayed stat info update. - use a common torture_setup_dir() function for setting up a test directory in torture tests. (This used to be commit f7fb34715b7d6ea3c35ddd684cfb27459a420339)
2007-10-10r3634: - fixed BASE-DISCONNECT test to force the async packets to be sent byAndrew Tridgell1-0/+7
waiting for a chkpath response - fixed open async send in BASE-DISCONNECT with these changes BASE-DISCONNECT crashes Samba4, as it was designed to do. I'll work on a fix :) (This used to be commit 25e01384647116d8ea0f20a6988fb8fe63218840)
2007-10-10r3633: - moved module init functions to after smb.conf and command lineAndrew Tridgell1-0/+163
parsing, so that module init can take account of lp_ parms (thats why gensec:krb5=no wasn't working) - added a BASE-DISCONNECT torture test that tests server response to clients disconnecting with open lock and open requests pending (This used to be commit 5205f598b8c0be6985e61cc842cc5da109ba5b7e)
2007-10-10r3608: added BASE-DENYDOS testAndrew Tridgell1-0/+125
this test demonstrates how w2k3 handles the special semantics of DENY_DOS when 2 opens happen on the same connection. The 2nd open doesn't actually do a NTFS open, it happens as a secondary reference to the same internal file handle in the CIFS layer. The evidence is that the 2nd open shares the same POSITION_INFORMATION field as the first open, but only for the special DENY_DOS cases that would normally be refused. (This used to be commit eeec57d4f6d18a40e0ce451bfe051b3f699e8337)
2007-10-10r3580: - on file overwrite in ntcreatex we need to replace the file permissions.Andrew Tridgell1-8/+8
- pvfs now passes BASE-OPENATTR - pvfs also passes the BASE-DEFER_OPEN test, but it is not a well formed test for regular running so I am removing it from the list of tests to run in test_posix.sh (the test is covered better by RAW-MUX anyway) (This used to be commit cb76bd218ed4194ea151264d495aa902ddf03b3c)
2007-10-10r3574: the RAW-OPEN test changes broke a couple of the other tests. ThisAndrew Tridgell2-2/+111
fixes most of them, although RAW-SEARCH still fails (due to an interaction with the new xattr code) (This used to be commit 09b4652b40c4cfca027765178bd5a0adbaa666c2)
2007-10-10r3507: - added deferred replies on sharing violation in pvfs open. TheAndrew Tridgell1-4/+3
deferred reply is short-circuited immediately when the file is closed by another user, allowing it to be opened by the waiting user. - added a sane set of timeval manipulation routines - converted all the events code and code that uses it to use struct timeval instead of time_t, which allows for microsecond resolution instead of 1 second resolution. This was needed for doing the pvfs deferred open code, and is why the patch is so big. (This used to be commit 0d51511d408d91eb5f68a35e980e0875299b1831)
2007-10-10r3481: split out client.h and events.hAndrew Tridgell1-1/+1
(This used to be commit c6f486574470a311e0d336c026103f131451e21e)
2007-10-10r3463: separated out some more headers (asn_1.h, messages.h, dlinklist.h and ↵Andrew Tridgell1-0/+1
ioctl.h) (This used to be commit b97e395c814762024336c1cf4d7c25be8da5813a)
2007-10-10r3449: more include file reductionAndrew Tridgell1-0/+1
the ldb part isn't ideal, I will have to think of a better solution (This used to be commit 6b1f86aea8427a8e957b1aeb0ec2f507297f07cb)
2007-10-10r3447: more include/system/XXX.h include filesAndrew Tridgell2-0/+2
(This used to be commit 264ce9181089922547e8f6f67116f2d7277a5105)
2007-10-10r3426: removed 2 unused files, and some unused variablesAndrew Tridgell1-459/+0
(This used to be commit dd0618d5950ca052b57715cb8451af23e4622049)
2007-10-10r3419: moved the libcli/raw structures into libcli/raw/libcliraw.hAndrew Tridgell4-0/+4
and made them private (This used to be commit 386ac565c452ede1d74e06acb401ca9db99d3ff3)
2007-10-10r3400: - allow callers to control the flags2 field in raw packetsAndrew Tridgell1-2/+13
- added testing of the FLAGS2_READ_PERMIT_EXECUTE bit in the ntdeny tests (This used to be commit adf4a682705871186f3b77ea6d417942445fc5d3)
2007-10-10r3387: fixed pvfs to pass the NTDENY tests. The tricky bit wasAndrew Tridgell1-10/+12
SA_RIGHT_FILE_EXECUTE, which depends on a flags2 bit (This used to be commit c36851d230bcf552ed79322f8358060ab164ec09)
2007-10-10r3386: - fixed --seed option in smbtortureAndrew Tridgell1-1/+272
- added new tests BASE-NTDENY1 and BASE-NTDENY2. These are the ntcreatex equivalents of the BASE-DENY1 and BASE-DENY2 tests. Unfortunately, with ntcreatex there are 4 million combination and trying each one takes 1 second, so randomised testing is the only choice. The BASE-DENY1 test can operate in parallel with hundreds of connections, speeding things up a bit (as most time is spent waiting 1 second for a sharing violation to come back) (This used to be commit b95493d3d16581b8dd8f4727cd10631c18e16748)
2007-10-10r3383: avoid multi-part SMBtrans and SMBtrans2 replies until our client ↵Andrew Tridgell2-9/+9
library can handle them properly (they are difficult to do in an async fashion). By choosing trans.in.max_data to fix in the negotiated buffer size a server won't send us multi-part replies. I notice that windows seems to avoid them too :) (This used to be commit e23edf762cace35f937959c9ffbef718431a79b9)
2007-10-10r3324: made the smbtorture code completely warning freeAndrew Tridgell13-27/+27
(This used to be commit 7067bb9b52223cafa28470f264f0b60646a07a01)
2007-10-10r3251: - move the openattr test code into basic/attr.cAndrew Tridgell1-0/+196
- cleaned up the RAW-WRITE test so it passes against w2k3, and gives more useful error messages (This used to be commit d4042c4364b571b9425e1706fc765376160c8a60)
2007-10-10r3207: - reformat error msgs in BASE-DIR* testsAndrew Tridgell1-10/+14
- added support for mandatory attributes in old style directory search - we now pass BASE-DIR1 and BASE-DIR2 (This used to be commit efaa0eaec49e952aa515c3448246d9048a484c26)
2007-10-10r3203: moved more test functions into torture/basic/*.cAndrew Tridgell2-0/+235
the idea is that torture/torture.c should eventually be just the harness code, which will make it easier to read (This used to be commit eca85d26ed744563d1bbb8dd10a819d39fdc495b)
2007-10-10r3188: tidy up the rename test a bit moreAndrew Tridgell1-4/+10
(This used to be commit 3f6077591646d70ab544fb44a93333c05338dbfa)
2007-10-10r3182: separate out the BASE-RENAME test into torture/basic/rename.cAndrew Tridgell1-0/+128
(This used to be commit c5e72b05d73ff0d57a98b6065bab573e2a226747)
2007-10-10r3155: reformat a delete testAndrew Tridgell1-3/+5
(This used to be commit 739c9e401cfbe04f2596e5b4b178243263218c04)
2007-10-10r3152: reformatted some of the delete test codeAndrew Tridgell1-12/+22
(This used to be commit d7b0dece6fbc2b5f8216b6a6a41e3db76b8627aa)
2007-10-10r3150: printing __location__ is more useful than a operation numberAndrew Tridgell1-57/+117
(This used to be commit 022b21460a572803b86ef5c11f6fe0b6fa1dcae1)
2007-10-10r3149: separate the delete on close test into torture/basic/delete.cAndrew Tridgell1-0/+524
(This used to be commit 50379a0a58d9eade3e1390713ef89473c66e65fc)
2007-10-10r3148: make --failures work for the BASE-DENY1 and BASE-DENY2 testsAndrew Tridgell1-11/+20
(This used to be commit 6e87feb89c57ca900ef4125e48f5de5ff80ff7b9)
2007-10-10r3029: implemented byte range lock timeouts.Andrew Tridgell1-19/+70
This adds a pvfs_wait_message() routine which uses the new messaging system, event timers and talloc destructors to give a nice generic async event handling system with a easy to use interface. The extensions to pvfs_lock.c are based on calls to pvfs_wait_message() routines. We now pass all of our smbtorture locking tests, although while writing this code I have thought of some additonal tests that should be added, particularly for lock cancel operations. I'll work on that soon. This commit also extends the smbtorture lock tests to test the rather weird 0xEEFFFFFF locking semantics that I have discovered in win2003. Win2003 treats the 0xEEFFFFFF boundary as special, and will give different error codes on either side of it. Locks on both sides are allowed, the only difference is which error code is given when a lock is denied. Anyone like to hazard a guess as to why? It has me stumped. (This used to be commit 4395c0557ab175d6a8dd99df03c266325949ffa5)
2007-10-10r3011: separated the locktest code into a separate module in smbtortureAndrew Tridgell1-0/+907
(This used to be commit f4a91be63502c0bb32c52c0558dfc7d4d0a21fae)
2007-10-10r2857: this commit gets rid of smb_ucs2_t, wpstring and fpstring, plus lots ↵Andrew Tridgell1-7/+7
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)