summaryrefslogtreecommitdiff
path: root/source3/registry/reg_backend_db.c
AgeCommit message (Collapse)AuthorFilesLines
2010-05-25s3:registry: user regval_ctr/blob accessor functions in reg_backend_db.cMichael Adam1-10/+10
2010-05-25s3:registry: rename reg_util.{c,h} to reg_util_internal.{c,h}Michael Adam1-1/+1
2010-05-25s3:registry: extract the reg_backend_db prototypes into their own header.Michael Adam1-0/+1
And use them only where needed.
2010-05-25s3:registry: adapt callers of regval_ctr_addvalue to uint8 * instead of char *Michael Adam1-2/+2
2010-05-25s3:registry: extract the reg_util prototypes into their own header.Michael Adam1-0/+1
And use them only where needed.
2010-05-21s3: registry: fix query empty valuenamesGregor Beck1-1/+1
Remove a check introduced with commit 80c2446321c519797a57b8006942a983f8481d79 wich causes queries for values with empty name to fail. Empty valuenames are used for the so called default value of a key. Signed-off-by: Michael Adam <obnox@samba.org>
2010-05-18s3-registry: only include registry headers when really needed.Günther Deschner1-0/+2
Guenther
2010-05-17s3-libgpo: move group policy protos to where they belong.Günther Deschner1-1/+1
Guenther
2010-02-14s3: convert registry and printing code to TYPESAFE_QSORT()Andrew Tridgell1-3/+3
2010-02-12s3:registry: eliminate race condition in creating/scanning sorted subkeysMichael Adam1-0/+17
Called, from key_exists, scan_sorted_subkeys re-creates the sorted subkeys record of the given key and then searches through it. The race is that between creation and parsing of the sorted subkey record, another process that stores some other subkey of the same parent key will delete the sorted subkey record, resulting in an WERR_BADFILE of an operation that should actually succeed. This patch fixes the issue by wrapping the creation and parsing into a transaction. Michael
2009-11-03s3:registry: add an extra check for dsize==0 to regdb_fetch_keys_internal()Michael Adam1-1/+1
Don't only rely on dptr == NULL. I stumbled over this one when rewriting some of the dbwrap_ctdb code. Michael
2009-11-03s3:registry: add safety check for return value of tdb_unpack to ↵Michael Adam1-0/+4
regdb_fetch_keys_internal() Prevents segfaults in some situations. (For a non existent or empty record, we sometimes rely on the fetch operation to return dsize==0 and sometimes we rely on dptr==NULL.) Michael
2009-09-30s3-registry: use regval_ctr_addvalue_sz().Günther Deschner1-6/+2
Greatly simplifies and cleanes up the code. Guenther
2009-09-30s3-registry: use push_reg_sz().Günther Deschner1-4/+4
Guenther
2009-07-15s3:registry: db backend: add my CMichael Adam1-0/+1
Michael
2009-07-15s3:registry: flush the provided subkey_ctr in regdb_fetch_keys_internal()Michael Adam1-0/+3
This way, we always return what has really been read from the db, and not more. The callers assume exactly this, but one could hand in an already pre-filled subkey container... Michael
2009-07-15s3:registry: turn regdb_fetch_keys_internal() from int to WERROR return typeMichael Adam1-32/+53
This way, more error information is propagated to the callers. Michael
2009-07-15s3:registry: use transaction wrapper in create_sorted_subkeys()Michael Adam1-48/+51
Michael
2009-07-15s3:registry: restructure logic of create_sorted_subkes() slightlyMichael Adam1-14/+19
This makes it clearer to me, and it also makes it easier to use the transaction retry wrapper in the next step. Michael
2009-07-15s3:registry: use transaction wrapper in regdb_delete_subkey().Michael Adam1-37/+49
Michael
2009-07-15s3:registry: add a comment header for the delete_subkey set of commands.Michael Adam1-0/+4
Michael
2009-07-15s3:registry: add a comment header for the create_subkey set of functionsMichael Adam1-0/+4
Michael
2009-07-15s3:registry: use transaction wrapper in regdb_create_subkey()Michael Adam1-31/+42
Michael
2009-07-15s3:registry: use transaction wrapper in regdb_store_keys_internal().Michael Adam1-96/+102
Michael
2009-07-15s3:registry: don't leak to talloc_stack in regdb_store_keys_internal2()Michael Adam1-2/+9
and catch one potential talloc failure. Michael
2009-07-15s3:registry: unify exit logic and remove leaking to talloc_stack in ↵Michael Adam1-10/+13
regdb_store_keys_internal() Michael
2009-07-15s3:registry: change regdb_store_keys_internal2() to return WERRORMichael Adam1-30/+41
instead of bool for better error propagation. Michael
2009-07-15s3:registry: refactor adding of builtin reg values outMichael Adam1-27/+27
into regdb_ctr_add_value(). For readability. Michael
2009-07-15s3:registry: use transaction wrapper in init_registry_data()Michael Adam1-72/+69
Michael
2009-07-15s3:registry: add regdb_store_values_internal() that takes a db_context argumentMichael Adam1-6/+15
Michael
2009-07-15s3:registry: add a regdb_fetch_values_internal() that takes a db_context ↵Michael Adam1-6/+18
argument Michael
2009-07-15s3:registry: use transaction wrapper in init_registry_key().Michael Adam1-23/+19
Michael
2009-07-15s3:registry: add db_context argument to init_registry_key_internal()Michael Adam1-5/+7
Michael
2009-07-15s3:registry: panic upon error at transaction_cancel in create_sorted_subkeysMichael Adam1-2/+2
Michael
2009-07-15s3:registry: fix a comment in create_sorted_subkeys()Michael Adam1-1/+1
Michael
2009-07-15s3:registry: don't loop transaction_commit in create_sorted_subkeys() upon errorMichael Adam1-1/+1
This would try to commit a higher level transaction upon commit-error. Michael
2009-07-15s3:registry: in regdb_delete_subkey(), don't use the transaction wrappers.Michael Adam1-9/+9
This way, the db handle gets used explicitly and the core of the function can be abstracted. Michael
2009-07-15s3:registry: in regdb_delete_subkey(), panic if transaction_cancel failsMichael Adam1-2/+1
Michael
2009-07-15s3:registry: panic upon failed transaction_cancel in regdb_create_subkey()Michael Adam1-2/+1
Michael
2009-07-15s3:registry: don't use exported transaction wrappers in regdb_create_subkey()Michael Adam1-10/+10
So that the regdb handle is again explicit and the core of the function can be abstracted. Michael
2009-07-15s3:registry: create regdb_store_keys_internal() with db_context argumentMichael Adam1-13/+21
and let exported regdb_store_keys() just call regdb_store_keys_internal() with regdb as an argument. Internally, in reg_backend_db.c, always use the _internal version. Michael
2009-07-15s3:registry: rename regdb_store_keys_internal() to regdb_store_keys_internal2()Michael Adam1-9/+9
Michael
2009-07-15s3:registry: create regdb_fetch_keys_internal() with db_context argumentMichael Adam1-27/+35
and let exported regdb_fetch_keys() just call regdb_fetch_keys_internal() with regdb as an argument. Internally, in reg_backend_db.c, always use the _internal version. Michael
2009-07-15s3:registry: add db_context argument to scan_parent_subkeys()Michael Adam1-6/+7
Michael
2009-07-15s3:registry: add db_context argument to regdb_fetch_key_internal()Michael Adam1-5/+6
Michael
2009-07-15s3:registry: add db_context argument to regdb_store_keys_internal()Michael Adam1-8/+10
Michael
2009-07-15s3:registry: add db_context argument to regdb_delete_key_lists()Michael Adam1-6/+6
Michael
2009-07-15s3:registry: add db_context argument to regdb_delete_subkeylist()Michael Adam1-3/+3
Michael
2009-07-15s3:registry: add db_context argument to regdb_delete_secdesc()Michael Adam1-3/+3
Michael
2009-07-15s3:registry: add db_context argument to regdb_delete_values()Michael Adam1-3/+3
Michael