summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb/ldb_modules/entryUUID.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r19831: Big ldb_dn optimization and interfaces enhancement patchSimo Sorce1-6/+6
This patch changes a lot of the code in ldb_dn.c, and also removes and add a number of manipulation functions around. The aim is to avoid validating a dn if not necessary as the validation code is necessarily slow. This is mainly to speed up internal operations where input is not user generated and so we can assume the DNs need no validation. The code is designed to keep the data as a string if possible. The code is not yet 100% perfect, but pass all the tests so far. A memleak is certainly present, I'll work on that next. Simo. (This used to be commit a580c871d3784602a9cce32d33419e63c8236e63)
2007-10-10r19337: never alloc on module unless you mean to attach a context toSimo Sorce1-1/+1
it to keep the data around as long as the module lives (This used to be commit d2073c1f7e1bc674358df5da0dc09e183b4b8712)
2007-10-10r19299: Fix possible memleaksSimo Sorce1-1/+3
(This used to be commit 6fad80bb09113a60689061a2de67711c9924708b)
2007-10-10r18945: fix compiler warnings and end-of-non-void function bugsStefan Metzmacher1-10/+16
metze (This used to be commit ed195999c0c7d89cdc61e980576d191fc05d65d7)
2007-10-10r18781: Move the usnCreated and usnChanged handling around again.Andrew Bartlett1-2/+260
This moves these attributes from objectguid into an optional backend (objectguid), used by ltdb. For OpenLDAP, the entryUUID module converts entryCSN into usnChanged. This also changes the sequence number API, and uses 'time based' sequence numbers, when an LDAP or similar backend is detected. To assist this, we also store the last modified time in the TDB, whenever we change a value. Andrew Bartlett (This used to be commit 72858f859483c0c532dddb2c146d6bd7b9be5072)
2007-10-10r18504: Handle mappings for RENAME and KEEP attributes better. We don't needAndrew Bartlett1-2/+2
to mess with the values in these cases. Where we do convert the values, try and convert substrings. This isn't going to be perfect, but we should try rather than segfault. This also avoids using the wrong arm of the union for the attribute name The change in the entryUUID module is to correct the case of sAMAccountName, due to the case sensitive ldap.js test. Andrew Bartlett (This used to be commit 81d9a692c1e74ec9078bf718003eafdba85b4324)
2007-10-10r18495: More work on the LDAP backend (which now passes a lot of our tests!)Andrew Bartlett1-2/+12
This adds a list of attributes that are in our wildcard seaches, but the remote server requires to be explicitly listed. This also cleans up the handling of wildcards in ldb_map to be more consistant. Also fix the partitions module to rebase the search, if on the GC port, we do a subtree search. (Otherwise backends can rightly complain that the search is not in their scope). Andrew Bartlett (This used to be commit bc58792b7102f086b19353635d5d5ef9d40a0aae)
2007-10-10r18441: Allow searching for the high bit in these bitfields, when the clientAndrew Bartlett1-1/+38
asks for them as large integers, rather than a negative integer. Due to an OpenLDAP bug, this only works reliably against OpenLDAP CVS as of today. (but mostly works in older versions, depending on a thread-specific value fo errno in the server). Andrew Bartlett (This used to be commit 3b5354aededc619ac6656611eacd43888e74260a)
2007-10-10r18367: When converting to entryUUID, ensure we don't double-convert aAndrew Bartlett1-13/+16
string-format GUID. Andrew Bartlett (This used to be commit 11cc6408c93f46f4d9ae7ae0ee18dac836fe270d)
2007-10-10r18240: Make it clearer when we store the plaintext password.Andrew Bartlett1-0/+9
Store the plaintext password in userPassword in the LDAP backend so that the OpenLDAP server can use DIGEST-MD5. Andrew Bartlett (This used to be commit 1b02c604b2c55e1c9e15ac1f266e7df74d619dbd)
2007-10-10r17703: Fixes to enable the entryUUID module to work for it's objectClass ->Andrew Bartlett1-3/+3
OID mappings. The key point is to 'enable' the partitions in the partitions module before the init is complete. That way, the modules can perform searches that use partitions. Andrew Bartlett (This used to be commit 420d1920a6824a6c0cb70b4ba832ddb90b0e95ff)
2007-10-10r17699: Remove more printf calls.Andrew Bartlett1-11/+9
Try to cope with partital initialisation. Andrew Bartlett (This used to be commit 3c497405fea2f3e48a0d1bb2818b6a1ff345d368)
2007-10-10r17694: Don't use printf() in a module...Andrew Bartlett1-6/+5
(This used to be commit 9f810ddd1436672e16a6b80500bb14aa21e097de)
2007-10-10r17690: Demonstrate how we can read the schema to find out details needed forAndrew Bartlett1-3/+182
translation. I hope to have this reading a schema structure in the future. Andrew Bartlett (This used to be commit fb085a651ff60ab9b5d120a1ea228ff3edf0c224)
2007-10-10r17639: Martin Kuhl noticed that we loaded an incorrect value forAndrew Bartlett1-0/+9
distinguisedName on templated objects. In looking how to handle distinguishedName correctly on LDAP, I was very glad to find it supported entryDN, and this adds another mapping. Andrew Bartlett (This used to be commit 3b5c973988648a2b2a5e1885ee894607e4d9679b)
2007-10-10r17525: This is a merge from the Google Summer of Code 2006 project by ↵Andrew Bartlett1-0/+182
Martin Kühl <mkhl@samba.org>. Martin took over the work done last year by Jelmer, in last year's SoC. This was a substanital task, as the the ldb modules API changed significantly during the past year, with the addition of async calls. This changeset reimplements and enables the ldb_map ldb module and adapts the example module and test case, both named samba3sam, to the implementation. The ldb_map module supports splitting an ldb database into two parts (called the "local" and "remote" part) and storing the data in one of them (the remote database) in a different format while the other acts as a fallback. This allows ldb to e.g. store to and load data from a remote LDAP server and present it according to the Samba4 schema while still allowing the LDAP to present and modify its data separately. A complex example of this is the samba3sam module (by Jelmer Vernooij), which maps data between the samba3 and samba4 schemas. A simpler example is given by the entryUUID module (by Andrew Bartlett), which handles some of the differences between AD and OpenLDAP in operational attributes. It principally maps objectGUID, to and from entryUUID elements. This is also an example of a module that doesn't use the local backend as fallback storage. This merge also splits the ldb_map.c file into smaller, more manageable parts. (This used to be commit af2bece4d343a9f787b2e3628848b266cec2b9f0)