summaryrefslogtreecommitdiff
path: root/source4/dsdb/schema/schema_init.c
AgeCommit message (Collapse)AuthorFilesLines
2013-05-23dsdb-schema: make deduplication of class and schema possible (bug #8680)Matthieu Patou1-5/+67
When a class or an attribute is replicated it might already exists in the existing schema, so while replicating the new version of this object we want to get rid of the old version of the object is the current validating schema so that we don't end up having duplicates. Pair-Programmed-With: Stefan Metzmacher <metze@samba.org> Signed-off-by: Matthieu Patou <mat@matws.net> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2012-08-23s4-dsdb: Do not use a possibly-old loadparm context in schema reloadAndrew Bartlett1-12/+14
The loadparm context on the schema DB might have gone away already. Pre-cache the schema refresh interval at load time to avoid worrying about this. Andrew Bartlett
2012-08-14s4-dsdb: Add mem_ctx argument to samdb_ntds_settings_dnAndrew Bartlett1-1/+1
As this value is calculated new each time, we need to give it a context to live on. If the value is the forced value during provision, a reference is taken. This was responsible for the memory leak in the replication process. In the example I was given, this DN appeared in memory 13596 times! Andrew Bartlett Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Tue Aug 14 10:05:14 CEST 2012 on sn-devel-104
2012-08-14s4-dsdb: Improve memory handling in dsdb_schema_from_ldb_results() by adding ↵Andrew Bartlett1-2/+14
a tmp_ctx
2012-06-22s4-schema: keep track of the timestamp of the most recently changed/created ↵Matthieu Patou1-0/+1
object
2012-04-18s4-schema: rename dsdb_attribute_from_ldb to dsdb_set_attribute_from_ldb ↵Matthieu Patou1-7/+28
and dsdb_class_from_ldb to dsdb_set_class_from_ldb
2012-04-11s4:schema/schema_init.c - better use "ldb_attr_cmp" instead of "strcasecmp"Matthias Dieter Wallnöfer1-1/+1
LDB convention
2011-11-15s4:dsdb/schema: add "dsdb:schema update allowed" option to enable schema updatesStefan Metzmacher1-2/+15
By default schema updates are not allowed anymore, as we don't have complete validation code to prevent database corruption. metze
2011-09-05s4-schema consolidate schema handlingAndrew Bartlett1-24/+32
It also creates a single routine dsdb_load_ldb_results_into_schema() to handle cases where the schema is in the form of an ldb_result. Andrew Bartlett
2011-07-21s4-schema: add systemFlags to dsdb classes objectsMatthieu Patou1-0/+1
2011-02-10ldb: use #include <ldb.h> for ldbAndrew Tridgell1-2/+2
thi ensures we are using the header corresponding to the version of ldb we're linking against. Otherwise we could use the system ldb for link and the in-tree one for include Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-12-18s4-dsdb_schema: Copy info needed for Schema refresh in dsdb_schema_copy_shallowKamen Mazdrashki1-0/+4
Just 'refresh_fn' and 'loaded_from_module' are copied. I left 'reload_seq_number' set to 0 intentionally, so that this Schema cache will looks like a very old one to ,refresh_fn'. This way, if this shallow copy is attached to LDB, it will be refreshed as soon as possible by 'refresh_fn'.
2010-12-15s4-dsdb_schema: We need base_dn in Schema's shallow copy tooKamen Mazdrashki1-1/+7
2010-12-01s4-dsdb/schema: Add Schema shallow copy functionKamen Mazdrashki1-0/+57
2010-11-07s4-dsdb: give the DN on a shema attribute failureAndrew Tridgell1-1/+1
2010-11-01s4-dsdb_schema: Use DRSUAPI_ATTID_INVALID instead of 0xFFFFFFFF magic valueKamen Mazdrashki1-3/+3
Autobuild-User: Kamen Mazdrashki <kamenim@samba.org> Autobuild-Date: Mon Nov 1 00:36:20 UTC 2010 on sn-devel-104
2010-10-29s4-schema_init: we should be able to resolve Syntax OIDs with prefixMap we haveKamen Mazdrashki1-3/+3
If Syntax OID is not in the prefixMap then we are getting an unknown Attribute Syntax (which we can't handle anyway)
2010-10-26s4-prefixmap: Use WERR_NOT_FOUND when OID is not found in current prefixMapKamen Mazdrashki1-1/+1
rather than WERR_DS_NO_MSDS_INTID. WERR_DS_NO_MSDS_INTID is intended to be used for msDsIntId attribute values handling
2010-10-20s4-schema_init: Print more info about syntax we fail to recognizeKamen Mazdrashki1-2/+4
Autobuild-User: Kamen Mazdrashki <kamenim@samba.org> Autobuild-Date: Wed Oct 20 13:54:01 UTC 2010 on sn-devel-104
2010-10-19s4:dsdb/schema/schema_init.c - remove a duplicated "talloc_free"Matthias Dieter Wallnöfer1-1/+0
2010-10-15s4:dsdb - remove "samdb_result_uint", "samdb_result_int64", ↵Matthias Dieter Wallnöfer1-3/+3
"samdb_result_uint64" and "samdb_result_string" We have ldb_msg_find_attr_as_* calls which do exactly the same. Therefore this reduces only code redundancies. Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-09-17s4-schema: use dsdb_schema_info_blob_is_valid() to verify schemaInfo blobKamen Mazdrashki1-9/+6
instead of parsing it.
2010-09-13s4:cosmetic - the SID attribute is called objectSid - not objectSIDMatthias Dieter Wallnöfer1-1/+1
2010-07-07s4-dsdb: use ldb_operr() in the dsdb codeAndrew Tridgell1-5/+4
this replaces "return LDB_ERR_OPERATIONS_ERROR" with "return ldb_operr(ldb)" in places in the dsdb code where we don't already explicitly set an error string. This should make is much easier to track down dsdb module bugs that result in an operations error.
2010-06-30s4:dsdb Fix possible schema segfaults for DRS-replication based schemaAndrew Bartlett1-17/+13
The problem here is that if the schema has been modified on the source domain, there may be attributes that appear over DRS with 0 values (to indicate that any existing values on the target should be deleted). This would confuse the previous version of this macro. Andrew Bartlett
2010-06-15s4:dsdb Use the schema from our local provision to decode the schemaAndrew Bartlett1-367/+0
This works on the assumption that the schema partition can only contain schema objects. We may need to pass down some kind of 'relax' to the DRS -> LDB conversion code, so that it allows incomplete conversions, so that we don't fail if a new attribute is present, and we can't decode it. This would then be resolved the second time we do the conversion. Andrew Bartlett Signed-off-by: Kamen Mazdrashki <kamenim@samba.org>
2010-06-12s4:dsdb Provide a function to convert from DRS prefix maps to the LDB prefixmapAndrew Bartlett1-12/+21
This allows us to push a prefixmap directly into the schema we generate in the provision code. Andrew Bartlett
2010-06-12s4:dsdb Add more debugs to help track down failures to parse the prefixmapAndrew Bartlett1-5/+20
2010-05-18Finish removal of iconv_convenience in public API's.Jelmer Vernooij1-15/+6
2010-04-29s4/dsdb: Use default schemaInfo value when no such value is givenKamen Mazdrashki1-12/+2
Having no value for schemaInfo is totally OK as it turns out. In such cases, we should use a default value with all fields set to 0.
2010-04-13Revert "s4:prefer "samdb_*_dn" basedn calls over the "ldb_get_*_dn" functions"Matthias Dieter Wallnöfer1-2/+2
We should use the "ldb_get_*_basedn" calls since they are available in the LDB library.
2010-04-09s4/dsdb: Let caller to control if valid invocationId is critical or ↵Kamen Mazdrashki1-1/+1
zero-guid is acceptable
2010-04-09s4/dsdb: Use dsdb_schema_info object to create default schemaInfo valuesKamen Mazdrashki1-3/+16
2010-04-09s4/dsdb: Use dsdb_schema_info object to verify schema_info blobsKamen Mazdrashki1-14/+12
2010-03-22s4:schema Expand the schema structureAndrew Bartlett1-0/+2
We now store the location of the schema in the schema, and provide hooks for a future schema reloading mechanism. Andrew Bartlett
2010-03-07s4:schema - Change also here counters to "unsigned" where neededMatthias Dieter Wallnöfer1-4/+5
Counters which are used in the way "for (i = 0; array[i] != NULL; i++)" I modified to "unsigned" since for sure we don't want to have negative array indexes there.
2010-02-16s4-dsdb: change samdb_replace() to dsdb_replace() and allow for dsdb_flagsAndrew Tridgell1-2/+3
This allows for controls to be added easily where they are needed.
2010-01-08s4-schema: added some debug for bad attributesAndrew Tridgell1-0/+8
2010-01-08s4/dsdb_schema: Load msDS-IntId value separately when loading from LDBKamen Mazdrashki1-0/+3
This way we have consistent behavior when loading from DRSUAPI and from LDB.
2010-01-08Revert "s4-schema: Set ATTID in schema cache from "msDS-IntId""Kamen Mazdrashki1-13/+8
This reverts commit 4e8ad284f5813413fdec8426f11e24570d22549b.
2010-01-08s4/dsdb_schema: fetch msDS-IntId value during SCHEMA replicationKamen Mazdrashki1-0/+4
2010-01-08s4/dsdb_schema: GET_UINT32_DS() macro to use supplied default value instead of 0Kamen Mazdrashki1-14/+14
2009-12-21s4-drs: Save prefix map using LDB_CONTROL_AS_SYSTEM controlKamen Mazdrashki1-1/+1
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-21s4-schema: Set ATTID in schema cache from "msDS-IntId"Kamen Mazdrashki1-8/+13
According to http://msdn.microsoft.com/en-us/library/cc223224%28PROT.13%29.aspx some Attributes OIDs may not use prefixMap. Setting ATTID in Schema Cache here should work, although this code snippet should be moved in separate function. Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-10s4-dsdb: simplify schema code using new GUID functionsAndrew Tridgell1-6/+2
2009-11-17s4:dsdb Load objectGUID and extended DN defaultObjectCategory into the schemaAndrew Bartlett1-35/+25
The load of defaultObjectCategory as an extended DN means we need to use the common parsing functions I just split out, rather than the GET_DS_DN macro. The objectGUIDs are loaded so that we can create the extended DN when we load from LDIF (and are loaded for the other cases for consistency). Also adapt callers to API changes needed for common parsing code Andrew Bartlett
2009-11-12s4:dsdb/schema Simplify schema loading from ldb messagesAndrew Bartlett1-62/+47
It turns out that we always add the class/attribute to the schema.
2009-11-06s4/drs: Refactor to be more SAMBA.Coding style compliantKamen Mazdrashki1-1/+2
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-11-06s4/drs: Remove unused structures and functionsKamen Mazdrashki1-88/+0
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-11-06s4/drs: remove unused num_prefixes and prefixes from dsdb_schemaKamen Mazdrashki1-3/+3
Signed-off-by: Stefan Metzmacher <metze@samba.org>