Age | Commit message (Collapse) | Author | Files | Lines |
|
Extended operations return was not going thorugh the same patch as others
leaving the ctx around. Plus we were neutralizing the spy too early so that it
didn't set the request_terminated flag as it should have.
This should hopefully fix the failures in the build farm.
|
|
In some code paths ltdb_context was still referenced even after we were returned
an error by one of the callbacks. Because the interface assumes that once an
error is returned the ldb_request may be freed, and because the ltdb_context was
allocated as a child of the request, this might cause access to freed memory.
Allocate the ltdb_context on ldb, and keep track of what's going on with the
request by adding a spy children on it. This way even if the request is freed
before the ltdb_callback is called, we will safely free the ctx and just quietly
return.
|
|
Simo reminded me that when (long ago) I moved parse_controls away from
this place, I forgot to update the manually maintained header file.
Andrew Bartlett
|
|
|
|
consistency with Samba 3.
|
|
This should bring the build on AIX one step further.
metze
|
|
|
|
metze
|
|
Jeremy.
|
|
do not reference it from ldb.h
|
|
behavior anyway, and given we can only have one transaction active per
ldb context this is the only sane model we can support.
Fix ldb_tdb transactions, we could return back with an error with neither
committing nor canceling the actual tdb transaction in some error paths
within the ltdb commit and cancel transaction paths.
Added also some debugging to trace what was going on.
|
|
Our packet layer relies on the event system reliably telling us when a
packet is available. When we are using a socket layer like TLS then
things get a bit trickier, as there may be bytes in the encryption
buffer which could be read even if there are no bytes at the socket
level. The GNUTLS library is supposed to prevent this happening by
always leaving some data at the socket level when there is data to be
processed in its buffers, but it seems that this is not always
reliable.
To work around this I have added a new packet option
packet_set_unreliable_select() which tells the packet layer to not
assume that the socket layer has a reliable select, and to instead
keep trying to read from the socket until it gets back no data. This
option is set for the ldap client and server when TLS is negotiated.
This seems to fix the problems with the ldaps tests.
|
|
This fixes two things in the TLS support for Samba4. The first is to
use a somewhat more correct hostname instead of 'Samba' when
generating the test certificates. That allows TLS test clients (such
as gnutls-cli) to connect to Samba4 using auto-generated certificates.
The second fix is to add a call to gcry_control() to tell gcrypt to
use /dev/urandom instead of /dev/random (on systems that support
that). That means that test certificate generation is now very fast,
which was previously an impediment to putting the TLS tests on the
build farm.
|
|
metze
|
|
metze
|
|
|
|
|
|
e5a6eadd8214b56da34f733318a0fecaebbe5ef5
The registry api uses wild casts in the returned types, so we can't check
the talloc name against the type used in the public api...
metze
|
|
metze
|
|
metze
|
|
metze
|
|
metze
|
|
metze
|
|
metze
|
|
metze
|
|
metze
|
|
metze
|
|
metze
|
|
metze
|
|
metze
|
|
Passes many tests but not all yet.
|
|
metze
|
|
metze
|
|
metze
|
|
|
|
|
|
|
|
The only 2 modules escaping the rule so far are rootdse and partitions
|
|
metze
|
|
This fixes the build on Tru64.
metze
|
|
|
|
Some public functions were mistakenly put into ldb_private.h
Revert all modules to only include ldb_module.h
|
|
metze
|
|
|
|
Separate again the public from the private headers.
Add a new header specific for modules.
Also add service function for modules as now ldb_context and ldb_module are
opaque structures for them.
|
|
should be considered internal now.
|
|
Because we still want to commit any changes that successfully apply we
never want to do a global cancel, and because of how transaction nesting
works that means we never cancel any "transaction" at the single modify
operation level.
Let each operation start its own transaction so that the transaction is
properly canceled if any error is returned and half committed operations
(though plugins failing) are properly reverted on a per operation basis.
|
|
metze
|
|
Guenther
|
|
|