summaryrefslogtreecommitdiff
path: root/source4/dsdb/schema
AgeCommit message (Collapse)AuthorFilesLines
2012-08-23s4-dsdb: Do not use a possibly-old loadparm context in schema reloadAndrew Bartlett2-12/+15
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-22s4:dsdb_sort_objectClass_attr - simplify memory context handlingMatthias Dieter Wallnöfer1-9/+19
Do only require the out memory context and build the temporary one in the body of the function. This greatly simplifies the callers. Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2012-08-22s4:dsdb_sort_objectClass_attr - use "data_blob_string_const" for setting valuesMatthias Dieter Wallnöfer1-6/+1
As shown in commit c8e6d8b487 this looks easier and in any case we can treat schema context data like global data. Signed-off-by: Andrew Bartlett <abartlet@samba.org>
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-08-11s4-dsdb: Use only the replication USN for schema reload.Andrew Bartlett1-6/+0
This way we do not track both the partition seq number and the replication USN for schema reload purposes. We only need one indication of actual data change, and the replication per-partition sequence number is no more expensive to obtain than the ldb per-partition sequence number. Andrew Bartlett
2012-08-10s4-dsdb: Explain better what records are written during schema setAndrew Bartlett1-7/+16
This is controlled by setting write_indices_and_attributes. Andrew Bartlett
2012-06-22s4-schema: improve the documentation of the dsdb_schema structureMatthieu Patou1-4/+6
2012-06-22s4-dsdb: Check for key SCHEMA_SEQ_NUM in metadata.tdb updatesMatthieu Patou1-1/+8
If the value has changed then reload the schema, this means that now the schema is only reloaded on a periodical basis or if we have been asked explicitly to do it and not necesserly if the schema partition has changed.
2012-06-22s4-schema: keep track of the timestamp of the most recently changed/created ↵Matthieu Patou3-1/+13
object
2012-06-22s4-schema: generalized time use its own syntax nowMatthieu Patou1-1/+0
2012-06-22dsdb-schema: do not reload more often than schema_reload_intervalMatthieu Patou1-0/+1
Samba 4 use to try to reload the schema every time dsdb_get_schema was called (which could be 20+ time per ldb request). Now we only reload at most every xx seconds (xx being the value of dsdb:"schema_reload_interval" or 120). The timestamp of the last reloaded schema is kept in the dsdb_schema object. There is also a timestamp in the ldb_context, that is used by the LDAP server to know if it has to reload the schema after handling the request. This is used to allow that the schema will be immediately reload after a schemaUpdateNow request has been issued, the reload can't occur in the handling of the LDAP request itself because we have a transaction autostarted.
2012-04-29Add some debug for FOOBAR return case as they are hard to diagnoseMatthieu Patou1-0/+3
Autobuild-User: Matthieu Patou <mat@samba.org> Autobuild-Date: Sun Apr 29 09:08:15 CEST 2012 on sn-devel-104
2012-04-18s4-schema: rename dsdb_attribute_from_ldb to dsdb_set_attribute_from_ldb ↵Matthieu Patou3-11/+32
and dsdb_class_from_ldb to dsdb_set_class_from_ldb
2012-04-11s4:dsdb - move "objectclass_sort()" out from the objectclass LDB module into ↵Matthias Dieter Wallnöfer1-0/+164
the schema code This allows it to be useful for the dbchecker utility in respect to object class problems. Fix up the API to only work with standardised LDB "ldb_message_element" structures which do allow much easier interoperations. As a consequence this leads to some changes in the objectclass module as well.
2012-04-11s4:schema/schema_query.c - fix a commentMatthias Dieter Wallnöfer1-1/+1
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 Metzmacher3-2/+17
By default schema updates are not allowed anymore, as we don't have complete validation code to prevent database corruption. metze
2011-11-15s4:param/provision: pass schema_dn to provision_get_schema()Stefan Metzmacher1-1/+1
metze
2011-11-15s4:dsdb/schema: pass and remember the schema_dn in dsdb_set_schema_from_ldif()Stefan Metzmacher1-3/+11
metze
2011-10-12s3:utils change data_blob_dup_talloc() to take a DATA_BLOB by valueGregor Beck2-4/+4
Signed-off-by: Michael Adam <obnox@samba.org>
2011-10-07s4-dsdb: fixed one_way_link calculationAndrew Tridgell1-1/+2
we need to check for the other end of the link, not the current linkID Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
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-08-25s4-dsdb: fixed calls to ldb_val_string_cmp()Andrew Tridgell1-2/+2
wrong order of arguments
2011-08-09move schema_fill_constructed() call to dsdb_setup_sorted_accessors()Andrew Bartlett1-5/+7
2011-08-09s4-dsdb Remove unused schema functionAndrew Bartlett1-18/+0
2011-08-09s4-dsdb: added SAMDB_INDEXING_VERSION to @INDEXLISTAndrew Tridgell1-0/+11
this can be used to force re-indexing of samdb when we change something that affects index comparison, in this case the canonicalisation of booleans Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-08-09s4-dsdb: fixed booling conversion to check value lengthAndrew Tridgell1-11/+14
this ensures we don't look past the end of the data Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-08-09s4-dsdb: add auto-normalisation of attributesAndrew Tridgell2-3/+10
this auto-normalises some attributes when they are added/modified. The list that we auto-normalise is currently: Boolean INT32 INTEGER UTC_TIME This fixes a problem with groupType being stored in an unnormalised form Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-08-09s4-dsdb: ensure we setup the dn_format field in schema attributesAndrew Tridgell2-31/+40
this ensures we setup dn_format when we do runtime schema changes Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-08-04s4-dsdb: added dn_format attribute of a dsdb_attributeAndrew Tridgell2-2/+14
this is faster than string comparisons during searches at runtime Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org> Pair-Programmed-With: Amitay Isaacs <amitay@gmail.com>
2011-08-04s4-dsdb: setup a one_way_link attribute on schema attributesAndrew Tridgell2-0/+30
this allows us to quickly determine if a DN is a one way link Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org> Pair-Programmed-With: Amitay Isaacs <amitay@gmail.com>
2011-07-21update/add my copyrightMatthieu Patou1-0/+1
2011-07-21s4-schema: add systemFlags to dsdb classes objectsMatthieu Patou2-0/+2
2011-07-13dsdb: fixed special case of zero NTTIMEAndrew Tridgell1-0/+20
we can't convert 0 NTTIME via a unix time_t Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-06-22s4-schema: avoid segfaulting if id3.guid is NULLMatthieu Patou1-2/+1
2011-06-22s4-dsdb: don't add zero GUID to BINARY_DNAndrew Tridgell1-9/+11
When converting from DRS to ldb format for a BINARY_DN, don't add the GUID extended DN element if the GUID is all zeros. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-06-17s4-dsdb: if we don't have a remote schema, then use the local oneAndrew Tridgell1-2/+8
this allows the use of drsuapi_to_ldb() on all attributes for the local database
2011-06-09s4:schema_convert_to_ol.c - fix memory contextsMatthias Dieter Wallnöfer1-3/+13
- Add more "mem_ctx" free functions on error cases - Steal the "out" string directly onto the LDB context to be able to free the local "mem_ctx" Reviewed-by: Tridge
2011-06-09s4:dsdb/schema_convert_to_ol.c - quiet enum warningMatthias Dieter Wallnöfer1-0/+9
Introduce a error message when choosing wrong targets. Reviewed-by: Tridge
2011-04-07dsdb:schema/schema_syntax.c - correctly check error code of ↵Matthias Dieter Wallnöfer1-2/+1
"ldb_string_utc_to_time" This one doesn't set ERRNO. An error happens if the result is "0". Reviewed-by: abartlet
2011-04-07dsdb:schema/schema_syntax.c - add some empty value checks on validate functionsMatthias Dieter Wallnöfer1-0/+9
They are needed since the check in "ldb_msg_sanity_check" will be removed. Reviewed-by: abartlet
2011-03-29Ensure convert_string_XXX is always called with a valid converted_size pointer.Jeremy Allison1-2/+4
Preparation for cleaning up this API. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Tue Mar 29 21:01:49 CEST 2011 on sn-devel-104
2011-03-24charcnv: removed the allow_badcharcnv and allow_bad_conv options to ↵Andrew Tridgell1-5/+5
convert_string*() we shouldn't accept bad multi-byte strings, it just hides problems Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Thu Mar 24 01:47:26 CET 2011 on sn-devel-104
2011-02-10ldb: use #include <ldb.h> for ldbAndrew Tridgell7-10/+10
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-21s4:dsdb/schema/schema_* - adaptions needed for removed "const" on OIDsMatthias Dieter Wallnöfer2-2/+5
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: Handle remote ATTIDs based on msDs-IntId valueKamen Mazdrashki1-4/+17
If we get such an msDs-IntId value, then we should just use it, there is no mapping available for such values
2010-12-15s4-schema_syntax: Log error message when ↵Kamen Mazdrashki1-1/+5
_dsdb_syntax_OID_oid_drsuapi_to_ldb() fails I haven't found a way to test this function during replication so far, but when I do, it will be useful to notice this error in the log file
2010-12-15s4-dsdb_schema: We need base_dn in Schema's shallow copy tooKamen Mazdrashki1-1/+7