summaryrefslogtreecommitdiff
path: root/source4/dsdb/schema
AgeCommit message (Collapse)AuthorFilesLines
2009-04-02major upgrade to the ldb attribute handlingAndrew Tridgell5-115/+325
This is all working towards supporting the full WSPP schema without a major performance penalty. We now use binary searches when looking up classes and attributes. We also avoid the loop loading the attributes into ldb, by adding a hook to override the ldb attribute search function in a module. The attributes can thus be loaded once, and then saved as part of the global schema. Also added support for a few more key attribute syntaxes, as needed for the full schema.
2009-03-31possibleInferiors is a generated attribute - we can't pull it over DRSAndrew Tridgell1-2/+0
or from ldb
2009-03-11s4:schema Don't rely on objectCategory 'magic' when loading the schemaAndrew Bartlett1-2/+2
The short-to-long name canonicalisation rules use the schema, so clearly they won't work when loading it. Andrew Bartlett
2009-03-06Load the schema with a more efficient single searchAndrew Bartlett1-93/+15
This search uses the index, and is not recursive, so should avoid the major performance problem with the current sorted schema load. The ad2oLschema code (recently moved to provision-backend) no longer needs the schema to be sorted. Andrew Bartlett
2009-03-06Sort output of schema for OpenLDAP during conversionAndrew Bartlett1-98/+132
This avoids the need to assume that the schema is sorted on load, which happens more often and is a major performace issue in the Samba4's use of ldb. Andrew Bartlett
2009-03-05Remove ad2oLschema, insted call it directly from provision-backendAndrew Bartlett2-1/+317
This removes a level of indirection via external binaries in the provision-backend code, and also makes better use of our internal code for loading schema from an LDIF file. Remaining to do: Sort the output again, as the load from LDIF is unsorted (also needed because the normal LDB load from sorted input is too slow anyway, and is only needed here). Andrew Bartlett
2009-03-04Pull in all the schema information during DRS schema fetchAndrew Bartlett1-9/+38
This includes things such as allowed attributes, which were not populated into the schema structure before. Andrew Bartlett
2009-03-01s4: Use same function signature for convert_* as s3.Jelmer Vernooij2-19/+12
2009-03-01Add allow_badcharcnv argument to all conversion function, forJelmer Vernooij2-5/+5
consistency with Samba 3.
2009-02-23Fix headers, ldb_includes.h is a private header,Simo Sorce1-0/+1
do not reference it from ldb.h
2009-02-02s4:dsdb/schema: s/class/sclassStefan Metzmacher2-31/+32
metze
2009-01-30Fix all other modules to use ldb_module.h instead of ldb_private.hSimo Sorce1-3/+1
The only 2 modules escaping the rule so far are rootdse and partitions
2008-12-23Fix more compiler warnings in various places.Jelmer Vernooij2-25/+25
2008-12-20Treat DN+STring as a binary string for nowAndrew Bartlett1-4/+4
This matches the way we work with DN+Binary. We need this for the OpenLDAP backend. Andrew Bartlett
2008-12-20Now store the GUID and SID from a DN over DRSUAPI into ldb.Andrew Bartlett3-42/+161
Until the extended DN work was compleated, there was no way to store the additional metadata. Andrew Bartlett
2008-12-02Don't treat the DN+binary syntax as a DN.Andrew Bartlett1-2/+2
This should fix the OpenLDAP backend
2008-11-16s4:dsdb/schema: add a function to generate the "extendedClassInfo" valuesStefan Metzmacher1-4/+44
metze
2008-11-16s4:dsdb/schema: add a function to generate the "extendedAttributeInfo" valuesStefan Metzmacher1-7/+83
metze
2008-11-16s4:dsdb/schema: use pointers for rangeLower and rangeUpper.Stefan Metzmacher2-6/+41
This makes clear there's an value stored in the schema, as they can be '0'. metze
2008-11-16s4:dsdb/schema: we don't need to use find_syntax_map_by_ad_oid() as the ↵Stefan Metzmacher1-3/+1
syntax is already known metze
2008-11-08s4: dsdb/schema: fix the equality and comment of DN+String syntaxStefan Metzmacher1-3/+2
metze
2008-10-24Remove unused include param/param.h.Jelmer Vernooij1-1/+0
2008-10-24Remove iconv_convenience argument from convert_string{,talloc}() butJelmer Vernooij2-5/+6
make them wrappers around convert_string{,talloc}_convenience().
2008-10-24Move charset library to top level.Jelmer Vernooij1-1/+1
2008-10-18Add TALLOC_CTX pointer to strhex_to_data_blob for consistency with SambaJelmer Vernooij2-6/+3
3.
2008-10-11Fix include paths to new location of libutil.Jelmer Vernooij2-2/+2
2008-10-06Remove DESCRIPTION from generated schema lines.Andrew Bartlett1-20/+1
This is not permitted in the AD aggregate schema, and more trouble than it is worth in the OpenLDAP schema due to escaping issues. Andrew Bartlett
2008-10-06Fix Domain Trust creation with Windows 2008 (and many other tools)Andrew Bartlett1-1/+5
A dITConentRules attribute (unlike objectClasses) must not contain a 'SUP'. The ADSI layer in Windows would download the whole schema, and validate it. Thanks to the team at Microsoft for very long debugging session to find this. Andrew Bartlett
2008-09-23Merge ldb_search() and ldb_search_exp_fmt() into a simgle function.Simo Sorce2-19/+18
The previous ldb_search() interface made it way too easy to leak results, and being able to use a printf-like expression turns to be really useful.
2008-09-12Fix failure to load the schema on read-only DB.Andrew Bartlett1-23/+13
This also tries to simplify the logic in the schema -> @ATTRIBUTES and @INDEXES code. Andrew Bartlett (This used to be commit a383b8bf88a5681f9c9c6839ba645c872a735051)
2008-09-11Remove the complexity of transactions from the attributes-setting code.Andrew Bartlett1-16/+1
I think it is just too complex and error prone to init and cancel transactions during the module init code. Instead, this isn't prone to races as it will always achieve a steady state (eventually), and most cases will never do the write. Andrew Bartlett (This used to be commit d60977cc7f89f89f34187f310c91d1ab7db6ccf2)
2008-09-11Make cn=aggregate output less pretty, by more like Win2008.Andrew Bartlett1-2/+2
I'm not sure if this fixes bug #5713, as this is not consistantly reproducably on my equipment. Andrew Bartlett (This used to be commit 02d6645efc84179efd652dd29ab32f62ae310147)
2008-09-09Fix reversed test trying to fix bug #5713Andrew Bartlett1-1/+1
(It instead ensured that only 'top' had a SUP keyword) This clearly shows that 937b466266256d26d02cf8d48e72a26272fe8627 was not a full or correct fix, but despite this I can no longer reproduce the issue. Further investigation is required. Andrew Bartlett (This used to be commit 95a9e9b6b84866cd300b1d19915627c6718b4dde)
2008-09-09Fix bug #5713 by correcting the generated schema.Andrew Bartlett1-1/+1
This bug is entitled 'Schema patch breaks interoperability with Microsoft MMC consoles.', and it does so very spectacularly. The issue is that we would include an entry: objectClasses: ( 2.5.6.0 NAME 'top' SUP top ABSTRACT.. The MMC Active Directory Users and Computers snap in presumably objected to the 'loop' this would present. The fixed entry is: objectClasses: ( 2.5.6.0 NAME 'top' ABSTRACT Thanks to Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de> for his persistance in getting me to look at this. Andrew Bartlett (This used to be commit 937b466266256d26d02cf8d48e72a26272fe8627)
2008-08-21Stop every ldb startup doing a write to the database.Andrew Bartlett1-0/+7
Something in the search stack adds a distinguisedName record, which isn't in the message we generate. So we compare, fail and rewrite the record - every time ldb starts up... Andrew Bartlett (This used to be commit 44775d1ed4a4b8edc66a06e2b3710aba6a0dd019)
2008-08-21Set both attributes and indexes into the database on schema load.Andrew Bartlett1-18/+142
This ensures that a rudementary schema is always present (for bootstrapping), and that the indexes are maintained equal to the schema (rather than hard-coded). Andrew Bartlett (This used to be commit 747d683b0d92c3b1cde67245d514977a2c87dc44)
2008-08-20Apply attributes (and their syntax) from the schema into ldbAndrew Bartlett1-0/+49
This changes the @ATTRIBUTES record to be for bootstrapping only, before we find the schema. Andrew Bartlett (This used to be commit 358477fcc041d5fb2e6ac5641c2f899cc49cfb69)
2008-08-20Split schema_init.c into smaller bits.Andrew Bartlett3-545/+598
This should make schema manipulation a little easier to follow. Andrew Bartlett (This used to be commit 300ed83526e75d834bd23ddd1c1c26ebe2555e0f)
2008-08-18Note the ldb syntax for attribute syntaxes in the table.Andrew Bartlett2-20/+28
This includes additional Samba-specific syntaxes made available from the ldif_handlers code. This commit also changes some table to use #defines, to ensure consistancy in other parts of the code. Andrew Bartlett (This used to be commit e26a5efd9a580ed3728e1f449e367b1cd4a73b5f)
2008-08-18Fix segfaults when loading the schema fails.Andrew Bartlett1-14/+13
(This used to be commit 9643db1a011edc95aa903908cec708b3a3566e71)
2008-08-18Merge the two attribute syntax tables.Andrew Bartlett5-181/+74
This merges the table once found in the oLschema2ldif tool (and moved many times) with the table used for DRSUAPI. The OpenLDAP schema map has been updated, to ensure that despite a number of attributes being declared as OIDs, they are actually used as strings (as they are actually LDAP class/attribute names). Andrew Bartlett (This used to be commit 61f2958c84beeedcf369ccdc02afed0c8055b108)
2008-08-15Generate the subSchema in cn=AggregateAndrew Bartlett6-228/+555
This reads the schema from the in-memory structure, when the magic attributes are requested. The code is a modified version of that used in the ad2oLschema tool (now shared). The schema_fsmo module handles the insertion of the generated result. As such, this commit also removes these entries from the setup/schema.ldif Metze's previous stub of this functionality is also removed. Andrew Bartlett (This used to be commit c7c32ec7b42bdf0f7b669644516438c71b364e60)
2008-07-28Fix warnings in new prefixMap codeAndrew Bartlett1-2/+3
(This used to be commit b8770a4fd8408473593fa4c6600bce056183958d)
2008-07-26dsdb/schema: make more clear where we create the value for the new prefix ↵Stefan Metzmacher1-0/+6
mapping metze (This used to be commit c92eb8b776c17f12622837daeb1786862f380269)
2008-07-26dsdb/schema: dsdb_write_prefixes_to_ldb() should do the reverse of ↵Stefan Metzmacher1-52/+44
dsdb_read_prefixes_to_ldb() metze (This used to be commit 34ea9d4a0b1270a27412bf939d7e897a5d68d0a6)
2008-07-25Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-localAndrew Bartlett1-36/+257
(This used to be commit b12dd8ee5443ebfc204d1684f541d68ffb351197)
2008-07-25Try to avoid a memory leak if we re-set the global schemaAndrew Bartlett1-0/+9
However, try also not to pull a schema out from under a running ldb session. Andrew Bartlett (This used to be commit 7cf9b9dd0bb35835a7c6e9897ea99951a33c63c7)
2008-07-24dsdb_create_prefix_mapping() implementation checks for existing prefix ↵Anatoliy Atanasov1-36/+257
maping in ldb. if one not found it creates a mapping for it and updates the prefixMap schema attribute in ldb. (This used to be commit bbe895db7144b192981fad9ab6bbd3ebacb8d299)
2008-07-11Use common code to fill in allowedAttributes in kludge_acl.Andrew Bartlett2-3/+13
This code is now in common with ad2oLschema. Andrew Bartlett (This used to be commit 0a797388ca442c3ad4809888897b1c63b65a7fdf)
2008-07-10Make ad2oLschema even simpler, by moving the heavy work into dsdb.Andrew Bartlett2-3/+312
This will allow the kludge_acl and schema code to leverage the same work. (We might even get schema validation soon! :-) Andrew Bartlett (This used to be commit cecd04ce1f8ce2af2fb654b3abc1499092405d60)