summaryrefslogtreecommitdiff
path: root/source4/dsdb/schema
AgeCommit message (Collapse)AuthorFilesLines
2010-10-26s4-dsdb_syntax: *_OID_oid_ldb_to_drsuapi() functions should useKamen Mazdrashki1-6/+6
dsdb_schema_pfm_attid_from_oid() instead of dsdb_schema_pfm_make_attid() as those functions are supposed to return ATTIDs only for OIDs we already know about (i.e. are in prefixMap) Autobuild-User: Kamen Mazdrashki <kamenim@samba.org> Autobuild-Date: Tue Oct 26 22:44:36 UTC 2010 on sn-devel-104
2010-10-26s4-prefixMap: split dsdb_schema_make_attid() function into read-only andKamen Mazdrashki1-1/+38
read-write functions. dsdb_schema_make_attid() may change prefixMap implicitly and this is not always desired behavior. The problem was that (1) callers had no control on this behavior (2) callers had no way to know wheter prefixMap has been changed which can lead to hard to find bugs like prefixMap is changed in read operation
2010-10-26s4-prefixmap: Use WERR_NOT_FOUND when OID is not found in current prefixMapKamen Mazdrashki2-2/+2
rather than WERR_DS_NO_MSDS_INTID. WERR_DS_NO_MSDS_INTID is intended to be used for msDsIntId attribute values handling
2010-10-22s4-dsdb_syntax: Setup "String(Case Sensitive)" syntaxKamen Mazdrashki1-3/+10
Currently it is mapped to Octet String LDAP syntax for comparison purposes. According to LDAP rfc we should be using same comparison as Directory String (LDB_SYNTAX_DIRECTORY_STRING), but case sensitive. But according to ms docs binary compare should do the job: http://msdn.microsoft.com/en-us/library/cc223200(v=PROT.10).aspx Autobuild-User: Kamen Mazdrashki <kamenim@samba.org> Autobuild-Date: Fri Oct 22 22:19:50 UTC 2010 on sn-devel-104
2010-10-21s4-dsdb/schema_syntax: Separate validation for numericoid OID valuesKamen Mazdrashki1-3/+47
This implementation doesn't use prefixMap/Schema to validate numericoid OIDs. We may not have this OID yet, so I see no point checking schema for if we have it. Side effect of using prefixMap/Schema for validating numericoids is that we mistakenly add the OID to the prefixMap. This led to a corrupted prefixMap in LDB. Autobuild-User: Kamen Mazdrashki <kamenim@samba.org> Autobuild-Date: Thu Oct 21 23:32:26 UTC 2010 on sn-devel-104
2010-10-21s4-dsdb: moved a bunch of fuctions from schema/schema_info_attr.c to ↵Andrew Tridgell1-268/+0
samdb/ldb_modules/schema_util.c these functions operate on ldb_modules, so they should be in the ldb_modules directory. They also should return ldb errors codes, not WERROR codes, as otherwise the error can be hidden from the ldap caller This re-arrangement fixes a dependency loop in the schema/samdb code. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org> Pair-Programmed-With: Kamen Mazdrashki <kamenim@samba.org>
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-10-12torture/becomedc: Add test for global schema, use samdb_connect().Jelmer Vernooij1-1/+6
Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Tue Oct 12 18:35:33 UTC 2010 on sn-devel-104
2010-10-11dsdb/schema: Move some dsdb_dn functions that are schema-specific.Jelmer Vernooij2-0/+103
2010-10-10s4-dsdb: Make dsdb_setup_sorted_accessors() publicKamen Mazdrashki1-2/+2
We are going to need it while converting DRS schema.
2010-09-21s4-dsdb-schema_prefixmap: return WERR_DS_NO_ATTRIBUTE_OR_VALUE when ATTID is ↵Kamen Mazdrashki1-1/+1
not found rather than WERR_INTERNAL_ERROR - it is not internal error!
2010-09-21s4-dsdb-schema_prefixmap: Print debug message when internal failure occursKamen Mazdrashki1-0/+5
2010-09-17s4-schema: Helper func to compare schemaInfo signituresKamen Mazdrashki1-0/+41
2010-09-17s4-schema: use dsdb_schema_info_blob_is_valid() to verify schemaInfo blobKamen Mazdrashki1-9/+6
instead of parsing it.
2010-09-17s4-prefixMap: use dsdb_schema_info_blob_is_valid() for schemaInfo blob ↵Kamen Mazdrashki1-4/+2
validation This fixes a leaking dsdb_schema_info object also.
2010-09-17s4-dsdb: Add dsdb_schema_info_blob_is_valid() to verify schemaInfo bloblsKamen Mazdrashki1-10/+24
2010-09-13s4:cosmetic - the SID attribute is called objectSid - not objectSIDMatthias Dieter Wallnöfer1-1/+1
2010-08-19s4-drs: ATTIDs for deleted attributes should be based on msDs-IntId value if ↵Kamen Mazdrashki1-2/+2
it exists
2010-08-19s4-dsdb: No need for dsdb_syntax_one_DN_drsuapi_to_ldb() to be publicKamen Mazdrashki1-3/+3
It is intended to be used in schema_syntax.c module
2010-08-19s4-dsdb-syntax: ATTID should be msDs-IntId value for the attributeSchema objectKamen Mazdrashki2-14/+55
in case object replicated is not in Schema NC and attributeSchema object has msDs-IntId attribute value set
2010-08-19s4: fix few comment typosKamen Mazdrashki1-1/+1
2010-08-19s4-schema_syntax.c: Fix white spaces and alignmentKamen Mazdrashki1-55/+56
2010-08-19s4-dsdb: Use dsdb_syntax_ctx in *_drsuapi_to_ldb functionsKamen Mazdrashki3-56/+40
2010-08-19s4-dsdb: Use dsdb_syntax_ctx in *_ldb_to_drsuapi functionsKamen Mazdrashki3-54/+42
2010-08-19s4-dsdb: Use dsdb_syntax_ctx in *_validate_ldb functionsKamen Mazdrashki2-61/+36
2010-08-19s4-dsdb: Add context structure for dsdb_syntax conversion functionsKamen Mazdrashki2-0/+19
This structure is intended to hold context-dependent data. Syntax-conversion and object-conversion functions need that data to convert objects and attributes from drs-to-ldb and ldb-to-drs correctly. For instance: ATTID value depends on whether we are converting object from partition different that Schema partition.
2010-08-11s4-dsdb: fix attributes_by_msDS_IntId index sortingKamen Mazdrashki1-1/+5
2010-08-03s4-schema: More verbose error log when subClassOf is not found in schemaKamen Mazdrashki1-1/+3
Error message show failing classSchema object but not the specific value for the failure, which makes diagnostics by log files really hard.
2010-08-03s4: fix comment typosKamen Mazdrashki1-3/+3
2010-07-19s4-dsdb: use ldb_msg_normalize() in source4/dsdb/schema/schema_set.cKamen Mazdrashki1-5/+4
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19s4-dsdb/schema/schema_set.c: fix trailing spaces and comments spellingKamen Mazdrashki1-30/+38
Few comments split on several lines also... (Sorry Metze, I know you hate reviewing "and this, and that" type of patches, but those are just cosmetics) Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19s4-dsdb: use ldb_msg_difference() in source4/dsdb/schema/schema_set.cKamen Mazdrashki1-2/+10
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-07s4-dsdb: use ldb_operr() in the dsdb codeAndrew Tridgell2-12/+10
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-07-03s4:schema_set.c - Fix a commentMatthias Dieter Wallnöfer1-1/+2
2010-07-03s4:dsdb_schema_set_attributes - remove unneeded filter criteriasMatthias Dieter Wallnöfer1-2/+4
We already choose the right entry by specifying the right basedn with scope "LDB_SCOPE_BASE".
2010-07-03s4:schema_set.c - fix typoMatthias Dieter Wallnöfer1-1/+3
2010-07-02s4/schema: remove unnecessary deletion of dsdb_schema cached pointerAnatoliy Atanasov1-3/+0
This is needed so we can find and free old schemas based using the cached pointer
2010-07-02s4:dsdb Ensure we free old schema copiesAndrew Bartlett1-6/+25
It was reported by aatanasov that we kept around one whole schema per modification made. This does not fix that, but I hope moves us closer to a fix The most important part of the fix is that: - if (schema_out != schema_in) { - talloc_unlink(schema_in, ldb); - } was the wrong way around. This is now handled in the schema_set calls. Andrew Bartlett
2010-06-30s4:schema/schema_set.c - free LDB message diffsAnatoliy Atanasov1-0/+2
Especially the "free"s after "ldb_msg_diff" are very important since the diff message is allocated on the long-living LDB context. Signed-off-by: Matthias Dieter Wallnöfer <mdw@samba.org>
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-21s4/dsdb: msg_idx->dn should be allocated in msg_idx mem contextKamen Mazdrashki1-1/+1
2010-06-21s4/dsdb: Move schema accessors cleanup in separate functionKamen Mazdrashki1-18/+21
This way dsdb_setup_sorted_accessors() will free memory allocated for accessor arrays correctly in case of failure,
2010-06-21s4/dsdb-schema: Index attributes on msDS-IntId valueKamen Mazdrashki3-7/+28
O(n) search for dsdb_attribute by msDS-IntId value was replaced by binary-search in ordered index. I've choosen the approach of separate index on msDS-IntId values as I think it is more clear what we are searching for. And it should little bit faster as we can clearly determine in which index to perform the search based on ATTID value - ATTIDs based on prefixMap and ATTIDs based on msDS-IntId are in separate ranges. Other way to implement this index was to merge msDS-IntId values in attributeID_id index. This led me to a shorted but not so obvious implementation.
2010-06-15s4:provision Allow a specific prefix map to be loaded into a new schema ↵Andrew Bartlett1-1/+1
provision This allows the prefixMap from a DRS server to be used when loading the schema from the local files. This helps us then import other schema with this map in place. Andrew Bartlett Signed-off-by: Kamen Mazdrashki <kamenim@samba.org>
2010-06-15s4:dsdb Allow the setting an override on the schemaAndrew Bartlett2-6/+23
The change here is to try and convert a per the previous rules, but if we don't know a particular OID as a attributeID, then store it as an OID (for example). This allows known values to be converted as before, but still copes with unknown values. Andrew Bartlett Signed-off-by: Kamen Mazdrashki <kamenim@samba.org>
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 Simplfy match of objectclass in dsdb_schema_set_el_from_ldb_msgAndrew Bartlett1-17/+4
There is no need to do a full ldb_match_msg() for a simple case insensitive string. Andrew Bartlett
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