summaryrefslogtreecommitdiff
path: root/source3/registry/reg_backend_db.c
AgeCommit message (Collapse)AuthorFilesLines
2012-01-18s3: Add a "lock_order" argument to db_openVolker Lendecke1-3/+6
This will be used to enforce a lock hierarchy between the databases. We have seen deadlocks between locking.tdb, brlock.tdb, serverid.tdb and notify*.tdb. These should be fixed by refusing a dbwrap_fetch_locked that does not follow a defined lock hierarchy.
2011-12-06s3:registry: replace use of rawmemchr by portable equivalent use of strchr.Michael Adam1-1/+1
2011-12-03lib/util: factor out tdb_data_is_emptyGregor Beck1-4/+0
Signed-off-by: Michael Adam <obnox@samba.org> Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Sat Dec 3 05:20:30 CET 2011 on sn-devel-104
2011-12-03s3:registry: do not use regdb functions during db upgradeGregor Beck1-55/+141
It is importante to not use the database backend implementation in the upgrade. Otherwise this would only work as long as this is the newset version. In future versions of the registry, this (then) intermediate upgrade step would change in behaviour and not work as expected any more. Signed-off-by: Michael Adam <obnox@samba.org>
2011-11-25s3:registry: write INFO/version if we create registry.tdbGregor Beck1-0/+7
Signed-off-by: Michael Adam <obnox@samba.org>
2011-11-09s3:registry: prevent unnecessary transactions in regdb_initMichael Adam1-0/+4
Skip the transaction for the upgrade code, if the database is already at code-level. Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Wed Nov 9 15:06:59 CET 2011 on sn-devel-104
2011-11-03s3-registry: fix upgrade codeBjörn Baumbach1-4/+18
Assume REGDB_VERSION_V1 if no version key found in registry.tdb Signed-off-by: Michael Adam <obnox@samba.org>
2011-10-12s3:registry: improve regdb_create_subkey_internal() to always complete ↵Michael Adam1-2/+12
incomlete keys Originally, this function did not create the key's subkey list record if only the record was listed in the subkeylist of its parent key. Now this is fixed. Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-10-11s3:dbwrap: convert dbwrap_fetch_int32() to NTSTATUS return codeMichael Adam1-4/+11
Return the int32 value retrieved from the db by reference. Before this, return value "-1" was used as a error indication, but it could also be a valid value from the database.
2011-10-11s3:registry: convert reg_backend_db to use dbwrap wrapper functionsMichael Adam1-34/+43
Avoid direct use of the db_record and db_context structs
2011-10-11s3:dbwrap: convert dbwrap_fetch(), dbwrap_fetch_bystring() and ↵Michael Adam1-5/+10
dbwrap_fetch_bystring_upper() to NTSTATUS
2011-09-19s3:registry: fix a debug message in the v2_to_v3 upgrade codeMichael Adam1-1/+1
Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Mon Sep 19 10:31:45 CEST 2011 on sn-devel-104
2011-09-07s3: Fix Coverity ID 2611, UNINITVolker Lendecke1-0/+1
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Wed Sep 7 19:47:49 CEST 2011 on sn-devel-104
2011-09-07s3: Fix Coverity ID 2612, UNINITVolker Lendecke1-0/+1
2011-09-02s3:registry: fix a debug message typoMichael Adam1-1/+1
Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Fri Sep 2 11:47:11 CEST 2011 on sn-devel-104
2011-09-02s3:registry: introduce a define REGDB_CODE_VERSION and use it in regdb code.Michael Adam1-9/+7
This is to not use the precise code version REGDB_VERSION_V3 explicitly in the code.
2011-09-02s3:registry: rename REGVE_Vx toREGDB_VERSION_Vx for consistencyMichael Adam1-11/+11
2011-09-02s3:registry: implement regdb_set_secdesc() with regdb_trans_do()Michael Adam1-22/+43
Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Fri Sep 2 00:51:40 CEST 2011 on sn-devel-104
2011-09-01s3:registry: implement regdb_store_values() with regdb_trans_do()Michael Adam1-1/+26
This adds the runtime check for changed regdb format version to store_values
2011-09-01s3:registry: change regdb_store_values_internal() from bool to NTSTATUS ↵Michael Adam1-11/+15
return code
2011-09-01s3:registry: use the regdb_trans_do wrapper instead of using dbwrap_trans_do ↵Michael Adam1-18/+18
directly in the registry db code. This verifies the regdb format version number before the corresponding write operations.
2011-09-01s3:registry: add regdb_trans_do(): a transaction wrapper that will check the ↵Michael Adam1-0/+42
regdb version If the version has changed since initialization, the write will fail with ACCESS_DENIED.
2011-09-01s3:registry: drop log level of unknown regdb version message in regdb_init() ↵Michael Adam1-1/+1
to 0
2011-08-25s3:registry: fix the v2_to_v3 upgrade code so that it does not create value ↵Michael Adam1-0/+6
list security records for the INFO/version key ...
2011-08-25s3:registry: fix the v1_to_v2 upgrade code so that it does not normalize the ↵Michael Adam1-0/+6
INFO/version key ...
2011-08-25s3:registry: define a constant REGDB_VERSION_KEYNAME for the key ↵Michael Adam1-7/+6
INFO/version (and use it)
2011-08-25s3:registry: hand db context in to v2_to_v3 upgrade code via private_dataMichael Adam1-4/+9
This also fixes the earlier faulty handing in of a useless stackframe memory context via private_data.
2011-08-25s3:registry: fix broken use of dbwrap store record in v1_to_v2 upgrade codeMichael Adam1-8/+10
This also fixes broken private_data parameter for the traverse function (making use of it): Originally a memory context was handed in but was not used.
2011-08-15s3:registry: fix regdb_key_exists: the record has to contain at least the ↵Michael Adam1-1/+72
4-byte subkey counter More precisley, we return false if the record does not match the required structure of a leading 4-byte subkey counter followed by the corresponding number zero-terminated strings.
2011-08-08s3:registry avoid updating keys which are going to be deleted inGregor Beck1-1/+7
reg_deletekey_recursive this changes the complexity from O(n^2) to O(n) and reduces the time of a 'net conf drop' with 10000 shares from 6min to 1.5s Signed-off-by: Michael Adam <obnox@samba.org>
2011-07-29s3:dbwrap: move all .c and .h files of dbwrap to lib/dbwrap/Michael Adam1-1/+1
Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Fri Jul 29 13:34:22 CEST 2011 on sn-devel-104
2011-07-29s3:dbwrap: move db_open() to a file dbwrap_open.c of its own.Michael Adam1-0/+1
Also start new folder lib/dbwrap/ where dbwrap_open.c is stored and make the fallbacke implementation functoins non-static and create a dbwrap_private.h header file that contains their prototypes.
2011-07-15s3:registry avoid pruning the sequencenumber while flushing the regsubkey_ctrGregor Beck1-3/+3
Signed-off-by: Stefan Metzmacher <metze@samba.org> Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Fri Jul 15 08:34:47 CEST 2011 on sn-devel-104
2011-07-06s3:registry: update copyright for the registry db implementationMichael Adam1-1/+2
2011-07-04s3:registry: remove unused function regdb_key_is_base_key()Michael Adam1-32/+0
Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Mon Jul 4 21:11:32 CEST 2011 on sn-devel-104
2011-07-04s3:registry: replace use of deprecated talloc_destroy by talloc_free.Michael Adam1-1/+1
2011-07-04s3:registry: remove superfluous check for success of talloc_stackframe()Michael Adam1-3/+0
2011-07-04s3:registry: add debug-level-10 verbosity to regdb_upgrade_v2_v3_fn()Michael Adam1-0/+11
2011-07-04s3:registry: adapt a debug message to be more systematicMichael Adam1-2/+2
2011-07-04s3:registry: set registry version to 3 and add upgrade codeMichael Adam1-1/+101
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04s3:registry: add db_context argument to regdb_upgrade_v1_to_v2()Michael Adam1-4/+4
2011-07-04s3:registry: wrap the whole db upgrade in one transactionMichael Adam1-8/+8
The purpose of this is to prepare for multiple upgrade steps to be performed in a single transaction, so that no change at all is made to that database if one step fails. Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04s3:registry: change regdb_store_regdb_version() to take db_context argument.Michael Adam1-5/+5
2011-07-04s3:registry: fix a comment typoMichael Adam1-1/+1
2011-07-04s3:registry: remove unused regdb_delete_sorted_subkeys()Michael Adam1-6/+0
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04s3:registry: don't delete the unused subkeys cache record any moreMichael Adam1-8/+0
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04s3:registry: remove the code to create and search the sorted subkeys cache ↵Michael Adam1-276/+0
records This is not needed any more. Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04s3:registry: adapt the comment explaining the definition of the existence of ↵Michael Adam1-4/+3
a key. Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04s3:registry: regdb_key_exists now checks only for the list-of-subkeys-recordMichael Adam1-10/+3
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04s3:registry: rewrite init_registry_key_internalMichael Adam1-90/+52
This rewrites init_registry_key_internal() to correctly also create base keys. It makes use of the existing create functions instead of duplicating the code. Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>