1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-09 09:57:48 +03:00

67 Commits

Author SHA1 Message Date
Andrew Tridgell
ddc10d4d37 r4549: got rid of a lot more uses of plain talloc(), instead using
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-10 13:08:25 -05:00
Andrew Tridgell
cc55aef7c1 r4547: - added talloc_new(ctx) macro that is a neater form of the common 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-10 13:08:20 -05:00
Andrew Tridgell
13f47df8cd r4445: put the unlink test in a subdirectory, and ensure it cleans up
(This used to be commit 382231ca365eccec8024af9420b1ebe41953bdb5)
2007-10-10 13:07:51 -05:00
Andrew Tridgell
e0a40dec09 r4430: - fixed the BASE-LOCK* tests to use a subdirectory, and properly setup the directory before each test,
thus avoiding errors due to previous failures
(This used to be commit a44fa5319d87e57f4b904334d9ea65cc6807b789)
2007-10-10 13:07:48 -05:00
Stefan Metzmacher
9112a632f6 r4063: - change char * -> uint8_t in struct request_buffer
- 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-10 13:06:21 -05:00
Andrew Tridgell
6e6374cb5b r4055: fixed more places to use type safe allocation macros
(This used to be commit eec698254f67365f27b4b7569fa982e22472aca1)
2007-10-10 13:06:20 -05:00
Andrew Tridgell
4183b2ac38 r4037: fixed a bunch of "might be uninitialised" warnings after enabling -O1 in my compile
(This used to be commit 0928b1f5b68c858922c3ea6c27ed03b5091c6221)
2007-10-10 13:06:16 -05:00
Andrew Tridgell
cc8f4358cc r4035: more effort on consistent naming of the access mask bits.
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-10 13:06:16 -05:00
Andrew Tridgell
607e302238 r4013: got rid of a bunch of unused or unmaintained code
- 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-10 13:06:15 -05:00
Andrew Tridgell
fdc9f417d8 r4011: get rid of rpc_secdes.h and replace it with a single sane set of
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-10 13:06:13 -05:00
Andrew Tridgell
d019557a53 r3975: added LFN filesystem attribute bit definition from ethereal
apologies for not committing this earlier
(This used to be commit 0950681091ab99f0e79048a9c1db57d057a96e66)
2007-10-10 13:06:10 -05:00
Stefan Metzmacher
3308087bae r3971: fix compiler warnings
metze
(This used to be commit 234166606dc86b9e98226cff94b3869ec173671e)
2007-10-10 13:06:09 -05:00
Stefan Metzmacher
f342dbe702 r3958: fix the build for now
tridge: please fix that!

metze
(This used to be commit 45401b757e13036b9e8bffce3e7c3695a6da1e9b)
2007-10-10 13:06:08 -05:00
Andrew Tridgell
9e5bee246f r3945: expanded the BASE-PROPERTIES test to print a nicely formatted list of
the capabilities and filesystem attribute bits of the server.
(This used to be commit 9debe2938194d686eb9ef46f7e10010490f2a624)
2007-10-10 13:06:07 -05:00
Jeremy Allison
f55ee60575 r3888: Just proving :-) to tridge that a Setfileinfo with a modified
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-10 13:06:02 -05:00
Jeremy Allison
c760b8b969 r3887: Much better understanding of delayed write time, and the interaction
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-10 13:06:02 -05:00
Jeremy Allison
96ecdf3a33 r3886: Trying to understand delayed file write update times. Added another
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-10 13:06:02 -05:00
Andrew Tridgell
0e255bb542 r3699: - split the delayed write testing out of RAW-WRITE, as it is not yet
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-10 13:05:45 -05:00
Andrew Tridgell
77ff35de86 r3634: - fixed BASE-DISCONNECT test to force the async packets to be sent by
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-10 13:05:41 -05:00
Andrew Tridgell
4815480bb6 r3633: - moved module init functions to after smb.conf and command line
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-10 13:05:41 -05:00
Andrew Tridgell
d8565f89b7 r3608: added BASE-DENYDOS test
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-10 13:05:38 -05:00
Andrew Tridgell
f458460842 r3580: - on file overwrite in ntcreatex we need to replace the file permissions.
- 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-10 13:05:35 -05:00
Andrew Tridgell
a9158e0d47 r3574: the RAW-OPEN test changes broke a couple of the other tests. This
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-10 13:05:33 -05:00
Andrew Tridgell
dde0705807 r3507: - added deferred replies on sharing violation in pvfs open. The
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-10 13:05:23 -05:00
Andrew Tridgell
a99b6219a8 r3481: split out client.h and events.h
(This used to be commit c6f486574470a311e0d336c026103f131451e21e)
2007-10-10 13:05:20 -05:00
Andrew Tridgell
3643fb1109 r3463: separated out some more headers (asn_1.h, messages.h, dlinklist.h and ioctl.h)
(This used to be commit b97e395c814762024336c1cf4d7c25be8da5813a)
2007-10-10 13:05:17 -05:00
Andrew Tridgell
26c6b4c70b r3449: more include file reduction
the ldb part isn't ideal, I will have to think of a better solution
(This used to be commit 6b1f86aea8427a8e957b1aeb0ec2f507297f07cb)
2007-10-10 13:05:13 -05:00
Andrew Tridgell
ead3508ac8 r3447: more include/system/XXX.h include files
(This used to be commit 264ce9181089922547e8f6f67116f2d7277a5105)
2007-10-10 13:05:12 -05:00
Andrew Tridgell
c1dc067207 r3426: removed 2 unused files, and some unused variables
(This used to be commit dd0618d5950ca052b57715cb8451af23e4622049)
2007-10-10 13:05:08 -05:00
Andrew Tridgell
9f1210a243 r3419: moved the libcli/raw structures into libcli/raw/libcliraw.h
and made them private
(This used to be commit 386ac565c452ede1d74e06acb401ca9db99d3ff3)
2007-10-10 13:05:07 -05:00
Andrew Tridgell
b24fcfc1aa r3400: - allow callers to control the flags2 field in raw packets
- added testing of the FLAGS2_READ_PERMIT_EXECUTE bit in the ntdeny tests
(This used to be commit adf4a682705871186f3b77ea6d417942445fc5d3)
2007-10-10 13:05:05 -05:00
Andrew Tridgell
d93636c29e r3387: fixed pvfs to pass the NTDENY tests. The tricky bit was
SA_RIGHT_FILE_EXECUTE, which depends on a flags2 bit
(This used to be commit c36851d230bcf552ed79322f8358060ab164ec09)
2007-10-10 13:05:04 -05:00
Andrew Tridgell
cb1cff90f1 r3386: - fixed --seed option in smbtorture
- 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-10 13:05:03 -05:00
Andrew Tridgell
39883a90cf r3383: avoid multi-part SMBtrans and SMBtrans2 replies until our client 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-10 13:05:03 -05:00
Andrew Tridgell
ba6d5fcb97 r3324: made the smbtorture code completely warning free
(This used to be commit 7067bb9b52223cafa28470f264f0b60646a07a01)
2007-10-10 13:04:55 -05:00
Andrew Tridgell
d16b621ca9 r3251: - move the openattr test code into basic/attr.c
- 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-10 13:04:46 -05:00
Andrew Tridgell
ee0c87b4c9 r3207: - reformat error msgs in BASE-DIR* tests
- 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-10 13:04:41 -05:00
Andrew Tridgell
d200f9385f r3203: moved more test functions into torture/basic/*.c
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-10 13:04:40 -05:00
Andrew Tridgell
ced8ad3d04 r3188: tidy up the rename test a bit more
(This used to be commit 3f6077591646d70ab544fb44a93333c05338dbfa)
2007-10-10 13:04:38 -05:00
Andrew Tridgell
35a11f0e61 r3182: separate out the BASE-RENAME test into torture/basic/rename.c
(This used to be commit c5e72b05d73ff0d57a98b6065bab573e2a226747)
2007-10-10 13:04:37 -05:00
Andrew Tridgell
2641612a49 r3155: reformat a delete test
(This used to be commit 739c9e401cfbe04f2596e5b4b178243263218c04)
2007-10-10 13:02:26 -05:00
Andrew Tridgell
e9381dfd70 r3152: reformatted some of the delete test code
(This used to be commit d7b0dece6fbc2b5f8216b6a6a41e3db76b8627aa)
2007-10-10 13:02:26 -05:00
Andrew Tridgell
5a698367e1 r3150: printing __location__ is more useful than a operation number
(This used to be commit 022b21460a572803b86ef5c11f6fe0b6fa1dcae1)
2007-10-10 13:02:26 -05:00
Andrew Tridgell
86457e659c r3149: separate the delete on close test into torture/basic/delete.c
(This used to be commit 50379a0a58d9eade3e1390713ef89473c66e65fc)
2007-10-10 13:02:26 -05:00
Andrew Tridgell
f539cc1b7d r3148: make --failures work for the BASE-DENY1 and BASE-DENY2 tests
(This used to be commit 6e87feb89c57ca900ef4125e48f5de5ff80ff7b9)
2007-10-10 13:02:25 -05:00
Andrew Tridgell
d0cc571e30 r3029: implemented byte range lock timeouts.
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-10 13:00:00 -05:00
Andrew Tridgell
f6da6a10de r3011: separated the locktest code into a separate module in smbtorture
(This used to be commit f4a91be63502c0bb32c52c0558dfc7d4d0a21fae)
2007-10-10 12:59:57 -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
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
e3880fa759 r2660: - converted the libcli/raw/ library to use talloc_increase_ref_count()
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-10 12:59:18 -05:00