1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-12 12:23:50 +03:00
Commit Graph

9 Commits

Author SHA1 Message Date
Andrew Bartlett
8c88e4eb1c Rework linked_attributes module for the REPLACE case.
This moves to a smarter 'find the delta' based operation of the linked
attributes module, when the caller asks for a 'replace' of the link
source.  Previously we would spray operations all over the database,
even if the net result was just to modify one record.

This also means we need the transaction safety less, which may be
useful for some LDAP backends that don't provide this functionality on
the LDAP server.

Andrew Bartlett
2008-01-16 15:14:05 +11:00
Andrew Bartlett
65d17f0ad7 r26182: Extend our linked attribute testsuite to cover many more possible
modifications, and then extend our implementation to match.

Andrew Bartlett
2007-12-21 05:46:38 +01:00
Andrew Bartlett
0a44b8e9f3 r25981: Don't create an ldb_request on NULL.
A re-arrangment of the code due to the base DN checking meant that the
ac->down_req array wasn't started, so was NULL

Andrew Bartlett
2007-12-21 05:45:27 +01:00
Andrew Bartlett
d3894c90f3 r25942: Make various ldb modules handle an LDB backend that enforces validity
of Base DNs in searches (returning an error of LDB_ERR_NO_SUCH_ENTRY).

We need to handle this if ldb_tdb is to behave correctly compared with
LDAP, as well as if we are using an LDAP backend.

In doing so, I realised that subtree_rename and subtree_delete
(prevention) need rather different wait loops, so it seemed easier to
split it out into it's own module.

I've fixed the licence on both of these modules to be GPLv3.

Andrew Bartlett
2007-12-21 05:45:11 +01:00
Andrew Bartlett
0377d85bbd r25891: Test that we get the correct return value when we attempt to reference
invalid entries with a linked attribute.

Make Samba4 pass that test, by fixing a silly bug in the
linked_attributes module.  (By passing down the 'original' request
structure, tdb would override our handle, and therefore we would never
be called for the 'wait', which collects the errors).

Fix up the provision templates to handle the newly required
referential integrity.

Andrew Bartlett
2007-12-21 05:44:41 +01:00
Andrew Bartlett
c66e188e67 r25788: Use a single routine to handle the creation of modify requests in the
linked_attributs code.

This drasticly reduces the code duplication here.

Andrew Bartlett
2007-12-21 05:43:59 +01:00
Andrew Bartlett
56d9dd5140 r25781: Handle and test linked attribute renames.
Andrew Bartlett
2007-12-21 05:43:56 +01:00
Andrew Bartlett
c6a6246fbd r25763: Handle modifies, in the easy case (add/delete of elements), for the
linked attributes.

Andrew Bartlett
2007-12-21 05:43:48 +01:00
Andrew Bartlett
2ba99d58e9 r25747: Implement linked attributes, for add operations.
Much more work is still required here, particularly to handle this
better during the provision, and to handle modifies and deletes, but
this is a start.

Andrew Bartlett
2007-12-21 05:43:41 +01:00