Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2010-02-14 | s3: convert registry and printing code to TYPESAFE_QSORT() | Andrew Tridgell | 1 | -3/+3 | |
2010-02-12 | s3:registry: eliminate race condition in creating/scanning sorted subkeys | Michael Adam | 1 | -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-03 | s3:registry: add an extra check for dsize==0 to regdb_fetch_keys_internal() | Michael Adam | 1 | -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-03 | s3:registry: add safety check for return value of tdb_unpack to ↵ | Michael Adam | 1 | -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-30 | s3-registry: use regval_ctr_addvalue_sz(). | Günther Deschner | 1 | -6/+2 | |
Greatly simplifies and cleanes up the code. Guenther | |||||
2009-09-30 | s3-registry: use push_reg_sz(). | Günther Deschner | 1 | -4/+4 | |
Guenther | |||||
2009-07-15 | s3:registry: db backend: add my C | Michael Adam | 1 | -0/+1 | |
Michael | |||||
2009-07-15 | s3:registry: flush the provided subkey_ctr in regdb_fetch_keys_internal() | Michael Adam | 1 | -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-15 | s3:registry: turn regdb_fetch_keys_internal() from int to WERROR return type | Michael Adam | 1 | -32/+53 | |
This way, more error information is propagated to the callers. Michael | |||||
2009-07-15 | s3:registry: use transaction wrapper in create_sorted_subkeys() | Michael Adam | 1 | -48/+51 | |
Michael | |||||
2009-07-15 | s3:registry: restructure logic of create_sorted_subkes() slightly | Michael Adam | 1 | -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-15 | s3:registry: use transaction wrapper in regdb_delete_subkey(). | Michael Adam | 1 | -37/+49 | |
Michael | |||||
2009-07-15 | s3:registry: add a comment header for the delete_subkey set of commands. | Michael Adam | 1 | -0/+4 | |
Michael | |||||
2009-07-15 | s3:registry: add a comment header for the create_subkey set of functions | Michael Adam | 1 | -0/+4 | |
Michael | |||||
2009-07-15 | s3:registry: use transaction wrapper in regdb_create_subkey() | Michael Adam | 1 | -31/+42 | |
Michael | |||||
2009-07-15 | s3:registry: use transaction wrapper in regdb_store_keys_internal(). | Michael Adam | 1 | -96/+102 | |
Michael | |||||
2009-07-15 | s3:registry: don't leak to talloc_stack in regdb_store_keys_internal2() | Michael Adam | 1 | -2/+9 | |
and catch one potential talloc failure. Michael | |||||
2009-07-15 | s3:registry: unify exit logic and remove leaking to talloc_stack in ↵ | Michael Adam | 1 | -10/+13 | |
regdb_store_keys_internal() Michael | |||||
2009-07-15 | s3:registry: change regdb_store_keys_internal2() to return WERROR | Michael Adam | 1 | -30/+41 | |
instead of bool for better error propagation. Michael | |||||
2009-07-15 | s3:registry: refactor adding of builtin reg values out | Michael Adam | 1 | -27/+27 | |
into regdb_ctr_add_value(). For readability. Michael | |||||
2009-07-15 | s3:registry: use transaction wrapper in init_registry_data() | Michael Adam | 1 | -72/+69 | |
Michael | |||||
2009-07-15 | s3:registry: add regdb_store_values_internal() that takes a db_context argument | Michael Adam | 1 | -6/+15 | |
Michael | |||||
2009-07-15 | s3:registry: add a regdb_fetch_values_internal() that takes a db_context ↵ | Michael Adam | 1 | -6/+18 | |
argument Michael | |||||
2009-07-15 | s3:registry: use transaction wrapper in init_registry_key(). | Michael Adam | 1 | -23/+19 | |
Michael | |||||
2009-07-15 | s3:registry: add db_context argument to init_registry_key_internal() | Michael Adam | 1 | -5/+7 | |
Michael | |||||
2009-07-15 | s3:registry: panic upon error at transaction_cancel in create_sorted_subkeys | Michael Adam | 1 | -2/+2 | |
Michael | |||||
2009-07-15 | s3:registry: fix a comment in create_sorted_subkeys() | Michael Adam | 1 | -1/+1 | |
Michael | |||||
2009-07-15 | s3:registry: don't loop transaction_commit in create_sorted_subkeys() upon error | Michael Adam | 1 | -1/+1 | |
This would try to commit a higher level transaction upon commit-error. Michael | |||||
2009-07-15 | s3:registry: in regdb_delete_subkey(), don't use the transaction wrappers. | Michael Adam | 1 | -9/+9 | |
This way, the db handle gets used explicitly and the core of the function can be abstracted. Michael | |||||
2009-07-15 | s3:registry: in regdb_delete_subkey(), panic if transaction_cancel fails | Michael Adam | 1 | -2/+1 | |
Michael | |||||
2009-07-15 | s3:registry: panic upon failed transaction_cancel in regdb_create_subkey() | Michael Adam | 1 | -2/+1 | |
Michael | |||||
2009-07-15 | s3:registry: don't use exported transaction wrappers in regdb_create_subkey() | Michael Adam | 1 | -10/+10 | |
So that the regdb handle is again explicit and the core of the function can be abstracted. Michael | |||||
2009-07-15 | s3:registry: create regdb_store_keys_internal() with db_context argument | Michael Adam | 1 | -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-15 | s3:registry: rename regdb_store_keys_internal() to regdb_store_keys_internal2() | Michael Adam | 1 | -9/+9 | |
Michael | |||||
2009-07-15 | s3:registry: create regdb_fetch_keys_internal() with db_context argument | Michael Adam | 1 | -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-15 | s3:registry: add db_context argument to scan_parent_subkeys() | Michael Adam | 1 | -6/+7 | |
Michael | |||||
2009-07-15 | s3:registry: add db_context argument to regdb_fetch_key_internal() | Michael Adam | 1 | -5/+6 | |
Michael | |||||
2009-07-15 | s3:registry: add db_context argument to regdb_store_keys_internal() | Michael Adam | 1 | -8/+10 | |
Michael | |||||
2009-07-15 | s3:registry: add db_context argument to regdb_delete_key_lists() | Michael Adam | 1 | -6/+6 | |
Michael | |||||
2009-07-15 | s3:registry: add db_context argument to regdb_delete_subkeylist() | Michael Adam | 1 | -3/+3 | |
Michael | |||||
2009-07-15 | s3:registry: add db_context argument to regdb_delete_secdesc() | Michael Adam | 1 | -3/+3 | |
Michael | |||||
2009-07-15 | s3:registry: add db_context argument to regdb_delete_values() | Michael Adam | 1 | -3/+3 | |
Michael | |||||
2009-07-15 | s3:registry: add db_context argument to regdb_delete_key_with_prefix() | Michael Adam | 1 | -5/+6 | |
Michael | |||||
2009-04-27 | s3:registry: replace typedef REGISTRY_OPS by struct registry_ops | Michael Adam | 1 | -1/+1 | |
Michael | |||||
2009-04-27 | s3:registry: replace typedef REGISTRY_VALUE by struct regval_blob | Michael Adam | 1 | -1/+1 | |
Michael | |||||
2009-04-27 | s3:registry: replace typedef REGVAL_CTR by struct regval_ctr. | Michael Adam | 1 | -8/+8 | |
This paves the way for hiding the typedef and the implementation from the surface. Michael | |||||
2009-02-26 | s3:registry: implement delete_subkey in the db backend | Michael Adam | 1 | -0/+68 | |
Michael | |||||
2009-02-26 | s3:registry: refactor deletion of various subkey lists out of regdb_store_keys() | Michael Adam | 1 | -30/+31 | |
Micheal | |||||
2009-02-26 | s3:registry: streamline and cleanup regdb_set_secdesc() somewhat. | Michael Adam | 1 | -15/+5 | |
Michael | |||||
2009-02-26 | s3:registry: refactor deletion of value/secdesc/subkey list tdb records out | Michael Adam | 1 | -43/+73 | |
of regdb_store_values(). Michael |