Age | Commit message (Collapse) | Author | Files | Lines |
|
(This used to be commit 5921587ec26e4892efc678421277e4969417d7f5)
|
|
was a real bug
(This used to be commit 02d5d0f685e44bd66aff4a007f0bf34c8f915574)
|
|
as randomly short recv/send when socket:testnonblock is enabled
(This used to be commit 718175a265d34bfdbcbf0cc6b55dbf6b389f3194)
|
|
you set this option (either on the command line using --option or in
smb.conf) then every socket recv or send will return short by random
amounts. This allows you to test that the non-blocking socket logic in
your code works correctly.
I also removed the flags argument to socket_accept(), and instead made
the new socket inherit the flags of the old socket, which makes more
sense to me.
(This used to be commit 406d356e698da01c84e8aa5b7894752b4403f63c)
|
|
SOCKET_FLAG_BLOCK is set.
(This used to be commit a2d92aa431e0e9752387eebe741d9e6f376f74d7)
|
|
The main change is to make socket_recv() take a pre-allocated buffer,
rather than allocating one itself. This allows non-blocking users of
this API to avoid a memcpy(). As a result our messaging code is now
about 10% faster, and the ncacn_ip_tcp and ncalrpc code is also
faster.
The second change was to remove the unused mem_ctx argument from
socket_send(). Having it there implied that memory could be allocated,
which meant the caller had to worry about freeing that memory (if for
example it is sending in a tight loop using the same memory
context). Removing that unused argument keeps life simpler for users.
(This used to be commit a16e4756cd68ca8aab4ffc59d4d9db0b6e44dbd1)
|
|
NT_STATUS_IS_ERR()
(This used to be commit 80a109de8458420ac0b40c563f4b3bc51424d759)
|
|
If a socket is non-blocking then adding MSG_DONTWAIT is pointless (it
does nothing), so all we lose is the ability to set non-blocking on a
packet-by-packet basis, which is not a very useful thing to have
anyway
if the socket is blocking then the code already adds MSG_WAITALL, so
MSG_DONTWAIT is also not needed in that case.
(This used to be commit b8a2afae67691a609b4a7a577fee3f9518adc9d2)
|
|
rather than doing everything itself. This greatly simplifies the
code, although I really don't like the socket_recv() interface (it
always allocates memory for you, which means an extra memcpy in this
code)
- fixed several bugs in the socket_ipv4.c code, in particular client
side code used a non-blocking connect but didn't handle EINPROGRESS,
so it had no chance of working. Also fixed the error codes, using
map_nt_error_from_unix()
- cleaned up and expanded map_nt_error_from_unix()
- changed interpret_addr2() to not take a mem_ctx. It makes absolutely
no sense to allocate a fixed size 4 byte structure like this. Dozens
of places in the code were also using interpret_addr2() incorrectly
(precisely because the allocation made no sense)
(This used to be commit 7f2c771b0e0e98c5c9e5cf662592d64d34ff1205)
|
|
(This used to be commit cc93813e4a09c538ad485dc2b3cb4c9be34f3d18)
|
|
tools on Solaris.
(This used to be commit c5d338d06137fe7464849df02671d8ab833e3b4e)
|
|
(This used to be commit 05530bfb99011db8a00f5debcf8eec19b5e8a5d6)
|
|
expose it for use by the posix backend
(This used to be commit 687633b5d68c8f883a4d9cdd92c660dabc5d7cfa)
|
|
compile on platforms like solaris without having to link to the whole
of the Samba4 lib directory.
(This used to be commit f6862bfc1cbc9278914b4b73365f63d3da0a08dd)
|
|
make the ldb tools depend on it. This should help the build of the ldb
tools on platforms without strnlen() or strndup()
(This used to be commit e6ddb9d8f3a218b22b0176a2525b5daaca7170e4)
|
|
socket options are really meant for tcp)
(This used to be commit 238febb0088f85933c869052f4f83ff31f164df1)
|
|
destructor
(This used to be commit ab222b236a091d31b1f5f2cba150a11585ab5836)
|
|
process
exits. Commenting it out until we have a clean way of doing this.
(This used to be commit fa0760dd5fa361be3b72dc4adc8b736e8a862606)
|
|
nicely :-)
The various interface that support ncalrpc work nicely when tested
with smbtorture and ncalrpc.
Running RPC-SAMR against local smbd here is slightly faster using ncalrpc:
ncalrpc: 1.8 sec
ncacn_ip_tcp: 1.9 sec
ncacn_np: 2.5 sec
(This used to be commit 2cfc8f24ce209f47153d3a5bd7007dd1b0578b26)
|
|
- made idtree return a "struct idr_context *" instead of a void*
- more efficient idr_remove for ids that are not present (patch from Jim Houston)
(This used to be commit f8d12d4b4ae5a38de7869deb782cb8f48504844c)
|
|
metze
(This used to be commit 3bbda7475a63f939019a41a0b7da8d179c533d79)
|
|
metze
(This used to be commit 61de2229e27c55041cb4e1aac32bc1d8ed68a05c)
|
|
\\administrator@w2k3.vmnet1.vm.base'
we need to send an empty string as userdomain in this case.
fix bug #1317 in the client side
metze
(This used to be commit 958aa8de630b2a88f29ccdf80ac0fc44a8205401)
|
|
- reenable index tests
metze
(This used to be commit 1e7e94fdb10db831090f9bd37e39053dfcde04ce)
|
|
- add tests for ldbrename
- disable all tests which regenerate the index
(this is broken for me...the process hangs,
tridge we need to discuss that)
- link only the needed stuff to the ldb tools
- build ldbtest inside samba
metze
(This used to be commit 18552f4786c24e0019cc87726ef4c05365fe586e)
|
|
metze
(This used to be commit f7564bf4d2efb702cf3d11237fbe2adf5efb1ebf)
|
|
metze
(This used to be commit 71ccac56c21635e7f6eb8d558230f637f50149ad)
|
|
metze
(This used to be commit 52eab8dc17a1cd1a8c0382ab8d6e7f6c7ddeea19)
|
|
Because we didn't count the null terminator, we would not move past it
in the packet.
Andrew Bartlett
(This used to be commit 8b38bffc7098610c469ab61b7e0e6884f046f286)
|
|
idr_get_new() limits
- change idr_get_new() to use > instead of >= in the limit check
(This used to be commit 834b09929bcb8aabdd151b7c2306001497cabdb4)
|
|
as a special case, automatically fall back to ASCII if its not found.
(This used to be commit 55aeb33343180929fbd7b3568b058b506aee7540)
|
|
(This used to be commit 4d2497b7f4cb6aa6fdf1e03b56f72b1022cb92b8)
|
|
(This used to be commit 2b0554b3b598accb1b2ddade1bf17fa2cc2cb05b)
|
|
- converted the tid handling to use a idtree instead of bitmaps
(This used to be commit 4220914179d10132057216650b65ed7f7679717e)
|
|
zeroed memory
(This used to be commit 65b7316e9b4589b02a8bd94150ccbfe526f6d159)
|
|
messaging_deregister()
- added a pvfs_lock_close_pending() hook to remove pending locks on file close
- fixed the private ptr argument to messaging_deregister() in pvfs_wait
- fixed a bug in continuing lock requests after a lock that is blocking a pending lock is removed
- removed bogus brl_unlock() call in lock continue
- corrected error code for LOCKING_ANDX_CHANGE_LOCKTYPE
- expanded the lock cancel test suite to test lock cancel by unlock and by close
- added a testsuite for LOCKING_ANDX_CHANGE_LOCKTYPE
(This used to be commit 5ef80f034d4aa4dd6810532c63ad041bfc019cb8)
|
|
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)
|
|
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)
|
|
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)
|
|
makes things a bit more efficient
(This used to be commit 8380225d326e4bfb3f15fddc72c097870713132a)
|
|
(This used to be commit 64514ff5b7734667a1364de925114091fe208b3a)
|
|
(This used to be commit 13739b68d8357d5d330f12b851d0311feb81e545)
|
|
(This used to be commit 1cef44505e5de9b8ae5206522b624082ad2343b2)
|
|
- 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)
|
|
(This used to be commit b367209a9f94e471efed233639467babbb2b99d7)
|
|
new one
(This used to be commit 283e38aeb210e048302dc2759a75879cfc81eeb5)
|
|
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)
|
|
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)
|
|
(This used to be commit 247421ee648d1935b68a47195fe1709bb861a7d5)
|
|
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)
|