1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-29 21:47:30 +03:00

2244 Commits

Author SHA1 Message Date
Andrew Tridgell
0ca4a77005 r3030: added testing of lock cancel, and some more special offsets (locks
with the top bit set are special)
(This used to be commit f732a983d4fde29d5ad893ad35fd182ee3d8a75b)
2007-10-10 13:00:00 -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
d37acd0fe7 r3028: use talloc_free() instead of talloc_unlink(), as the
event_context_merge() code leaves the events as grandchildren of the
events context, not children, so talloc_unlink() will not work after
the merge
(This used to be commit 2d0dfe607dcfb522669d6fb3d566cf121d84274a)
2007-10-10 12:59:59 -05:00
Andrew Tridgell
260b012f22 r3027: got rid of some configure checks we don't need any more
(This used to be commit 6a3f356b763b0577e2ad3e7ea74bee932c04a46b)
2007-10-10 12:59:59 -05:00
Andrew Tridgell
ca7e02fd37 r3026: - added automatic retry to messages when the servers listen queue is
full. This means callers can just "send and forget" rather than
  having to check for a temporary failure. The mechanism takes nice
  advantage of the timed events handling is our events code. A message
  will only fail now if we completely run out of some resource (such
  as memory).

- changed the test code not to do retries itself, but only to warn on real failures
(This used to be commit 8cddc610a25e64c1ad39dd6a2fc2e7f467e04fc9)
2007-10-10 12:59:59 -05:00
Andrew Tridgell
9a499a8010 r3025: don't warn about no path in a service, as some backends (like cifs) don't need a path
(This used to be commit a8c49a0de3f806bddaf6bd594ec052cf9f4a3fab)
2007-10-10 12:59:59 -05:00
Andrew Tridgell
e81230df4b r3024: run the *_connect() NTVFS initialisation operation as root, to allow
backends to open databases and perform any other privileged
operations that might be needed.
(This used to be commit 54fd395025656d9b264ba1c1fab6e3ce8ca3d357)
2007-10-10 12:59:59 -05:00
Andrew Tridgell
6cc8941f05 r3023: added immediate send of messages when they are first queued. This makes things a bit more efficient
(This used to be commit 8380225d326e4bfb3f15fddc72c097870713132a)
2007-10-10 12:59:59 -05:00
Tim Potter
605560149e r3022: Work on unmarshalling arrays of structs in a buffer (Python string) for
spoolss.  Doesn't quite work yet.
(This used to be commit 9045645ddf4eb8b5596d220ed936c8731641ef0a)
2007-10-10 12:59:59 -05:00
Andrew Tridgell
21e72e0154 r3021: under heavy load the listen queue for messaging unix domain socket can fill up, leading to refused
connections. The caller needs to retry. This adds testing of the retry in LOCAL-MESSAGING
(This used to be commit 2c568d4dc20303061a89c815b9a9a0bafc283633)
2007-10-10 12:59:58 -05:00
Andrew Tridgell
b071fe60d7 r3020: better error handling in socket_unix
(This used to be commit 64514ff5b7734667a1364de925114091fe208b3a)
2007-10-10 12:59:58 -05:00
Andrew Tridgell
6723885121 r3019: make the LOCAL-MESSAGING test a 2 process test
(This used to be commit 68890247c1247f5f9e299ac1f579052cd022e79f)
2007-10-10 12:59:58 -05:00
Andrew Tridgell
5882311fc4 r3018: handle STATUS_MORE_ENTRIES from socket_recv() in the messaging code
(This used to be commit 13739b68d8357d5d330f12b851d0311feb81e545)
2007-10-10 12:59:58 -05:00
Andrew Tridgell
53891ed37e r3017: nicer memory handling for event_context_merge()
(This used to be commit 1cef44505e5de9b8ae5206522b624082ad2343b2)
2007-10-10 12:59:58 -05:00
Andrew Tridgell
6591a22614 r3016: - converted the events code to talloc
- 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-10 12:59:57 -05:00
Andrew Tridgell
844de2b65c r3015: fixed typo noticed by abartlett
(This used to be commit b367209a9f94e471efed233639467babbb2b99d7)
2007-10-10 12:59:57 -05:00
Andrew Tridgell
8d1e35e243 r3014: got rid of the old intra-smbd messaging system in preparation for the new one
(This used to be commit 283e38aeb210e048302dc2759a75879cfc81eeb5)
2007-10-10 12:59:57 -05:00
Andrew Tridgell
f42402da83 r3013: added support for unix domain sockets in the generic socket library. I
will shortly be using this for a rewrite of the intra-smbd messaging
library, which is needed to get lock timeouts working properly (and
share modes, oplocks etc)
(This used to be commit 6f4926d846965a901e40d24546eab356c4a537c7)
2007-10-10 12:59:57 -05:00
Andrew Tridgell
fef617c31b r3012: added initial support for byte range locking in the posix vfs. This is
enough for us to pass locktest, but does not yet support lock timeouts
and some of the other esoteric features.
(This used to be commit 58a92abd88f190bc60894a68e0528e95ae33fe39)
2007-10-10 12:59:57 -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
Tim Potter
85a2db200a r3010: Do some more PyInt vs PyLong checks.
(This used to be commit b19dc6cd9c1ac44d970b092f09cf96c737a90fdd)
2007-10-10 12:59:57 -05:00
Tim Potter
c7a762bc74 r3009: Fix up unmarshall functions to return Python dict instead of a NTSTATUS.
We can now unmarshall a single printer returned from an EnumPrinters.
(This used to be commit 89da7a9196d40699881f12c9a5fe62301aafd4cf)
2007-10-10 12:59:56 -05:00
Tim Potter
71aaba4ea7 r3007: uint32 values need to be stored in Python longs, as on 32-bit machines
Python ints can only hold int32 values.
(This used to be commit 7c5ada63bf5d876a1b67df2cf7bd44942e4b0a98)
2007-10-10 12:59:56 -05:00
Jelmer Vernooij
c209120056 r3006: Poptify
(This used to be commit 5c46747c36aa09289c6b2df3927833aec78059fd)
2007-10-10 12:59:56 -05:00
Andrew Tridgell
12ea0fd34c r3005: added talloc wrappers around tdb_open() and ldb_connect(), so that the
caller doesn't have to worry about the constraint of only opening a
database a single time in a process. These wrappers will ensure that
only a single open is done, and will auto-close when the last instance
is gone.

When you are finished with a database pointer, use talloc_free() to
close it.

note that this code does not take account of the threads process
model, and does not yet take account of symlinks or hard links to tdb
files.
(This used to be commit 04e1171996612ddb15f84134cadded68f0d173b2)
2007-10-10 12:59:56 -05:00
Andrew Tridgell
645067efc6 r3004: removed some unused functions
(This used to be commit 247421ee648d1935b68a47195fe1709bb861a7d5)
2007-10-10 12:59:56 -05:00
Tim Potter
addb2a9fd4 r3001: Expose unmarshalling functions for structures marked "public" in the
idl.  This allows us to pass a buffer of bytes returned from a spoolss
call and convert it to a Python dictionary.  Works for enumprinters level
1!
(This used to be commit 4bc497a2994b12845a46b2d19f60bb81c9869fc9)
2007-10-10 12:59:56 -05:00
Jeremy Allison
04767ce906 r2997: Added delete on close tests for readonly files.
Jeremy.
(This used to be commit 93efa870400a3f69700e69d30319ffbdbdf94820)
2007-10-10 12:59:56 -05:00
Tim Potter
8f00427136 r2994: More cleanups. Move the generation of NTSTATUS and WERROR exceptions
from inside a swig %exception block and into the argout typemap.  This
will allow us to wrap functions that don't require exception handling, and
also get rid of some ugly code in dcerpc.i
(This used to be commit 558076cc8ddbdb563869f7d35150310217f30c31)
2007-10-10 12:59:55 -05:00
Stefan Metzmacher
a8ce130383 r2993: fix comment
metze
(This used to be commit 23a2c5c1586e5ea0261bc84571486658a262740c)
2007-10-10 12:59:55 -05:00
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
Jelmer Vernooij
fe15b46d61 r2990: Add support to pidl for autogenerating ndr_size_*() functions. Adding
the [gensize] property to a struct or union will make pidl generate a
ndr_size_*() function.

(not all nasty bits of NDR are completely covered yet by the
 ndr_size*() functions, support for those will be added when necessary)

I also have a local patch (not applied now) that simplifies the pidl output
and eliminates the number of functions required. It would, however, make
pidl more complex.
(This used to be commit 7c823f886afd0c4c6ee838f17882ca0658417011)
2007-10-10 12:59:55 -05:00
Andrew Tridgell
42c810cea6 r2989: fix the printing of unions with negative cases when :print is used
(This used to be commit d8152f896119418d95d7697cc2ca23f5319c32a9)
2007-10-10 12:59:55 -05:00
Andrew Tridgell
ddd1f092a5 r2988: this should fix support for negative switch levels in PIDL
(This used to be commit 21ed51d47f7efd493ad64b564fb6362ef8fb067f)
2007-10-10 12:59:55 -05:00
Andrew Tridgell
f1eaf60fa3 r2987: added support for signed 32 bit integers in pidl
(This used to be commit 24122eb93e39de8db3675618b6c227c95eb58d9c)
2007-10-10 12:59:54 -05:00
Tim Potter
dc2df2530f r2986: Add correct value to dict when generating wrapper for functions that
return WERROR values.

Clean up WERROR vs NTSTATUS handling a bit.
(This used to be commit e6756e3ee0af3e7e98f6deaf9dc83af9aac1b586)
2007-10-10 12:59:54 -05:00
Andrew Tridgell
83928ac670 r2985: got rid of the unused tdb_lockkeys() and tdb_unlockkeys() functions
they have been broken for 4 years (ever since they were added) and
have been never used, which makes them prime candidates for
destruction.
(This used to be commit 0b53ab85aae4569c04495f07c18a65fd6b47bf4c)
2007-10-10 12:59:54 -05:00
Andrew Tridgell
9d9b42b059 r2984: fixed the error code for a non-terminal component of a path name not existing
(This used to be commit c6a922dbd844c69bbba83c259169655d17e9f87f)
2007-10-10 12:59:54 -05:00
Andrew Tridgell
1edc2f95e3 r2983: report a failure if a server doesn't update the write time at all
after 2 minutes
(This used to be commit b2298a1c5f0330a262ac855479060fd677fe8059)
2007-10-10 12:59:54 -05:00
Andrew Tridgell
970ba3a736 r2982: added a test that shows the amount of time a server takes to update
the write time on a file after a write.
(This used to be commit efee3c90f90b1e9dd3351933d27fe8a085c3657f)
2007-10-10 12:59:54 -05:00
Jeremy Allison
ddd5f1163d r2981: Fix incorrect locks/unlocks in tdb_lockkeys()/tdb_unlockkeys().
Spotted by Taj Khattra <taj.khattra@gmail.com>.
Jeremy.
(This used to be commit a7d92301bbf45cb9e475e4876fdbb37644ad5871)
2007-10-10 12:59:54 -05:00
Tim Potter
acf657a7c2 r2975: Try to emulate NT_STATUS_IS_ERR() functionality for WERRORs. Unfortunately
this means enumerating all the ones we don't think are errors.
(This used to be commit a079e044f0ef23c6c4307c9da35019ec3e8f1d2a)
2007-10-10 12:59:53 -05:00
Stefan Metzmacher
c88518cc0e r2974: fix the build
metze
(This used to be commit 1bb71e7a8699bfd32d171a48c4c3b5f35faf3e51)
2007-10-10 12:59:53 -05:00
Jelmer Vernooij
dc94f05f62 r2973: Allow comma's inside parentheses in property arguments
(This used to be commit ab2a788fe75ddaf8ff493477f2006a03959e6ab5)
2007-10-10 12:59:53 -05:00
Stefan Metzmacher
12f2ac5857 r2972: make names more consistent
metze
(This used to be commit 7aa91db53ed5811f0900dd61d63d15e71255285e)
2007-10-10 12:59:53 -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
Andrew Tridgell
da5cbd0886 r2968: fixed the byte order problem with the new RHS parsing on ncacn_ip_tcp
(This used to be commit cc00f9b6b87783d189df00de0ce9ae92b907e21a)
2007-10-10 12:59:53 -05:00