Andreas Schneider
15bacaf3c5
s3-registry: Convert registry key delimiter from slash to backslash.
...
This is needed to support keynames containing a '/' like TCP/IP. Which
is used in serveral standard paths.
Signed-off-by: Michael Adam <obnox@samba.org>
2010-06-25 17:35:41 +02:00
Andreas Schneider
f540833632
s3-registry: Added a db upgrade function to normalize the key delimiter.
...
This converts the key delimiter from a slash to a blackslash. We need to
support keynames with a backslash.
Signed-off-by: Michael Adam <obnox@samba.org>
2010-06-25 17:35:41 +02:00
Michael Adam
5cac4e648c
s3:registry: use normalize_reg_path() in regdb_set_secdesc()
...
instead of normalize_dbkey
2010-06-24 15:36:20 +02:00
Michael Adam
4c948251d9
s3:registry: use normalize_reg_path() in regdb_get_secdesc()
...
instead of normalize_dbkey.
2010-06-24 15:36:20 +02:00
Michael Adam
0fe1ff99a1
s3:registry: move reg_objects.h to registry/ and use it only where needed
...
Every place outside of registry/ where this is used, should probably
be changed to use pure reg_api.c code.
2010-05-25 10:35:31 +02:00
Michael Adam
a71dac4882
s3:registry: user regval_ctr/blob accessor functions in reg_backend_db.c
2010-05-25 10:35:28 +02:00
Michael Adam
773255ba50
s3:registry: rename reg_util.{c,h} to reg_util_internal.{c,h}
2010-05-25 10:35:27 +02:00
Michael Adam
d335f292ce
s3:registry: extract the reg_backend_db prototypes into their own header.
...
And use them only where needed.
2010-05-25 10:35:25 +02:00
Michael Adam
9ccf66379a
s3:registry: adapt callers of regval_ctr_addvalue to uint8 * instead of char *
2010-05-25 10:35:25 +02:00
Michael Adam
4ae77b2ef9
s3:registry: extract the reg_util prototypes into their own header.
...
And use them only where needed.
2010-05-25 10:35:25 +02:00
Gregor Beck
0a173444ac
s3: registry: fix query empty valuenames
...
Remove a check introduced with commit 80c2446321
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-21 00:22:45 +02:00
Günther Deschner
fe31b67d5e
s3-registry: only include registry headers when really needed.
...
Guenther
2010-05-18 01:15:38 +02:00
Günther Deschner
3d5972c43f
s3-libgpo: move group policy protos to where they belong.
...
Guenther
2010-05-17 21:07:17 +02:00
Andrew Tridgell
7cff685c7e
s3: convert registry and printing code to TYPESAFE_QSORT()
2010-02-14 18:44:21 +11:00
Michael Adam
a752bbd10d
s3:registry: eliminate race condition in creating/scanning sorted subkeys
...
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
2010-02-12 23:12:12 +01:00
Michael Adam
cc5b22a016
s3:registry: add an extra check for dsize==0 to regdb_fetch_keys_internal()
...
Don't only rely on dptr == NULL.
I stumbled over this one when rewriting some of the dbwrap_ctdb code.
Michael
2009-11-03 01:02:39 +01:00
Michael Adam
f6f2151a39
s3:registry: add safety check for return value of tdb_unpack to 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-11-03 01:02:38 +01:00
Günther Deschner
1b0f3b7e3a
s3-registry: use regval_ctr_addvalue_sz().
...
Greatly simplifies and cleanes up the code.
Guenther
2009-09-30 00:30:12 +02:00
Günther Deschner
2c11b73391
s3-registry: use push_reg_sz().
...
Guenther
2009-09-30 00:29:49 +02:00
Michael Adam
5a525f7f28
s3:registry: db backend: add my C
...
Michael
2009-07-15 14:01:58 +02:00
Michael Adam
78576117eb
s3:registry: flush the provided subkey_ctr in regdb_fetch_keys_internal()
...
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 14:01:58 +02:00
Michael Adam
dc0bcfa188
s3:registry: turn regdb_fetch_keys_internal() from int to WERROR return type
...
This way, more error information is propagated to the callers.
Michael
2009-07-15 14:01:57 +02:00
Michael Adam
c52dd1d5b8
s3:registry: use transaction wrapper in create_sorted_subkeys()
...
Michael
2009-07-15 14:01:56 +02:00
Michael Adam
109ea29b2c
s3:registry: restructure logic of create_sorted_subkes() slightly
...
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 14:01:56 +02:00
Michael Adam
2d6dbcd0b1
s3:registry: use transaction wrapper in regdb_delete_subkey().
...
Michael
2009-07-15 14:01:55 +02:00
Michael Adam
a48d8353c7
s3:registry: add a comment header for the delete_subkey set of commands.
...
Michael
2009-07-15 14:01:55 +02:00
Michael Adam
5640598cbb
s3:registry: add a comment header for the create_subkey set of functions
...
Michael
2009-07-15 14:01:54 +02:00
Michael Adam
8c7b960493
s3:registry: use transaction wrapper in regdb_create_subkey()
...
Michael
2009-07-15 14:01:54 +02:00
Michael Adam
86d747e19f
s3:registry: use transaction wrapper in regdb_store_keys_internal().
...
Michael
2009-07-15 14:01:53 +02:00
Michael Adam
f93c9e0d41
s3:registry: don't leak to talloc_stack in regdb_store_keys_internal2()
...
and catch one potential talloc failure.
Michael
2009-07-15 14:01:53 +02:00
Michael Adam
3eec829e2f
s3:registry: unify exit logic and remove leaking to talloc_stack in regdb_store_keys_internal()
...
Michael
2009-07-15 14:01:53 +02:00
Michael Adam
14f593aa0f
s3:registry: change regdb_store_keys_internal2() to return WERROR
...
instead of bool for better error propagation.
Michael
2009-07-15 14:01:52 +02:00
Michael Adam
1c65c98f33
s3:registry: refactor adding of builtin reg values out
...
into regdb_ctr_add_value(). For readability.
Michael
2009-07-15 14:01:52 +02:00
Michael Adam
cf4f808b8b
s3:registry: use transaction wrapper in init_registry_data()
...
Michael
2009-07-15 14:01:51 +02:00
Michael Adam
e6340963cf
s3:registry: add regdb_store_values_internal() that takes a db_context argument
...
Michael
2009-07-15 14:01:51 +02:00
Michael Adam
302265aae1
s3:registry: add a regdb_fetch_values_internal() that takes a db_context argument
...
Michael
2009-07-15 14:01:50 +02:00
Michael Adam
8a5b164b20
s3:registry: use transaction wrapper in init_registry_key().
...
Michael
2009-07-15 14:01:50 +02:00
Michael Adam
95ebf534d2
s3:registry: add db_context argument to init_registry_key_internal()
...
Michael
2009-07-15 14:01:49 +02:00
Michael Adam
a00109e1e6
s3:registry: panic upon error at transaction_cancel in create_sorted_subkeys
...
Michael
2009-07-15 14:01:49 +02:00
Michael Adam
3189828087
s3:registry: fix a comment in create_sorted_subkeys()
...
Michael
2009-07-15 14:01:48 +02:00
Michael Adam
4c366a0946
s3:registry: don't loop transaction_commit in create_sorted_subkeys() upon error
...
This would try to commit a higher level transaction upon commit-error.
Michael
2009-07-15 14:01:48 +02:00
Michael Adam
6cb14409af
s3:registry: in regdb_delete_subkey(), don't use the transaction wrappers.
...
This way, the db handle gets used explicitly and the core of the
function can be abstracted.
Michael
2009-07-15 14:01:47 +02:00
Michael Adam
4eeacd6ef0
s3:registry: in regdb_delete_subkey(), panic if transaction_cancel fails
...
Michael
2009-07-15 14:01:47 +02:00
Michael Adam
355892c296
s3:registry: panic upon failed transaction_cancel in regdb_create_subkey()
...
Michael
2009-07-15 14:01:47 +02:00
Michael Adam
3409a44da2
s3:registry: don't use exported transaction wrappers in regdb_create_subkey()
...
So that the regdb handle is again explicit and the core of the
function can be abstracted.
Michael
2009-07-15 14:01:46 +02:00
Michael Adam
1dfaa371fa
s3:registry: create regdb_store_keys_internal() with db_context argument
...
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 14:01:46 +02:00
Michael Adam
eb1958ca3d
s3:registry: rename regdb_store_keys_internal() to regdb_store_keys_internal2()
...
Michael
2009-07-15 14:01:45 +02:00
Michael Adam
589bacfbdb
s3:registry: create regdb_fetch_keys_internal() with db_context argument
...
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 14:01:45 +02:00
Michael Adam
db4f797e35
s3:registry: add db_context argument to scan_parent_subkeys()
...
Michael
2009-07-15 14:01:44 +02:00
Michael Adam
c01d955ac0
s3:registry: add db_context argument to regdb_fetch_key_internal()
...
Michael
2009-07-15 14:01:44 +02:00
Michael Adam
a18a10c07a
s3:registry: add db_context argument to regdb_store_keys_internal()
...
Michael
2009-07-15 14:01:43 +02:00
Michael Adam
528bf38875
s3:registry: add db_context argument to regdb_delete_key_lists()
...
Michael
2009-07-15 14:01:43 +02:00
Michael Adam
86e927cb05
s3:registry: add db_context argument to regdb_delete_subkeylist()
...
Michael
2009-07-15 14:01:42 +02:00
Michael Adam
bd983dba6b
s3:registry: add db_context argument to regdb_delete_secdesc()
...
Michael
2009-07-15 14:01:42 +02:00
Michael Adam
ec6b6727d8
s3:registry: add db_context argument to regdb_delete_values()
...
Michael
2009-07-15 14:01:41 +02:00
Michael Adam
2b380c73a4
s3:registry: add db_context argument to regdb_delete_key_with_prefix()
...
Michael
2009-07-15 14:01:41 +02:00
Michael Adam
e935d8616b
s3:registry: replace typedef REGISTRY_OPS by struct registry_ops
...
Michael
2009-04-27 11:21:04 +02:00
Michael Adam
8185d31fb0
s3:registry: replace typedef REGISTRY_VALUE by struct regval_blob
...
Michael
2009-04-27 11:21:03 +02:00
Michael Adam
221151a2a2
s3:registry: replace typedef REGVAL_CTR by struct regval_ctr.
...
This paves the way for hiding the typedef and the implementation
from the surface.
Michael
2009-04-27 11:21:02 +02:00
Michael Adam
b5fbe06d74
s3:registry: implement delete_subkey in the db backend
...
Michael
2009-02-26 13:22:55 +01:00
Michael Adam
61bdfd09ed
s3:registry: refactor deletion of various subkey lists out of regdb_store_keys()
...
Micheal
2009-02-26 13:22:55 +01:00
Michael Adam
13ceeeedbc
s3:registry: streamline and cleanup regdb_set_secdesc() somewhat.
...
Michael
2009-02-26 13:22:55 +01:00
Michael Adam
2fb944bde1
s3:registry: refactor deletion of value/secdesc/subkey list tdb records out
...
of regdb_store_values().
Michael
2009-02-26 13:22:55 +01:00
Michael Adam
20e40d3b7d
s3:registry: implement create_subkey for the db backend.
...
Michael
2009-02-26 13:22:54 +01:00
Michael Adam
69be6f5c1d
s3:registry: use regsubkey_ctr_get_seqnum() in reg_backend_db.c
...
Michael
2009-02-26 13:22:53 +01:00
Michael Adam
8a74b535c8
s3:registry: use regsubkey_ctr_set_seqnum() in reg_backend_db.c
...
Michael
2009-02-26 13:22:53 +01:00
Michael Adam
3c15d053f5
s3:registry: use regsubkey_ctr_init() in reg_backend_db.c
...
instead of using talloc directly.
Michael
2009-02-26 13:22:53 +01:00
Michael Adam
63b576424d
s3:registry: don't directly access key->subkeys->subkeys[] in reg_backend_db.c
...
Use the reg_objects accessor regsubkey_ctr_specific_key() instead.
Michael
2009-02-26 13:22:51 +01:00
Michael Adam
62b53507d2
s3:registry: don't directly access key->subkeys->num_subkeys in reg_backend_db.
...
Use the reg_objects api instead.
Michael
2009-02-26 13:22:51 +01:00
Michael Adam
58fc61217d
s3:registry: replace typedef "REGSUBKEY_CTR" by "struct regsubkey_ctr"
...
This paves the way for hiding the typedef and the implementation from the
surface.
Michael
2009-02-26 13:22:51 +01:00
Michael Adam
b56f449d6b
Revert "Fix a O(n^2) algorithm in regdb_fetch_keys()"
...
This reverts commit a13f065bad
.
This fix is reverted, because the speedup is going to move
further down into reg_objects.c. The unsorted list of subkey names
is going to be indexed: This O(n^2) search bites us in more places.
This re-establishes the abstraction of reg_objects.c.
Michael
2009-02-26 13:22:51 +01:00
Michael Adam
ba0e944c46
s3:registry: provide transaction_start|commit|cancel fns for the registry tdb
...
Michael
2009-02-26 11:05:22 +01:00
Volker Lendecke
170830c008
Wrap creating the sorted subkey cache in a transaction
...
Signed-off-by: Michael Adam <obnox@samba.org>
2009-02-26 11:05:22 +01:00
Volker Lendecke
5c91cdcc47
Add a comment describing the sorted subkeys
...
Signed-off-by: Michael Adam <obnox@samba.org>
2009-02-26 11:05:22 +01:00
Volker Lendecke
1b1aac412c
Add sorted subkey cache
...
On my box this gets net conf list for 1000 records down to .1 seconds
Signed-off-by: Michael Adam <obnox@samba.org>
2009-02-26 11:05:22 +01:00
Jeremy Allison
2ca48d3740
Fix printf type warning.
...
Jeremy.
2009-02-19 13:11:36 -08:00
Volker Lendecke
a13f065bad
Fix a O(n^2) algorithm in regdb_fetch_keys()
2009-02-19 20:06:29 +01:00
Volker Lendecke
d0ee90ace9
Fix a buffer handling bug when adding lots of registry keys
...
This is *ancient*... From 2002, and nobody noticed until someone added lots of
shares using net conf... :-)
2009-02-19 14:26:50 +01:00
Jelmer Vernooij
ddcab787c4
Rename dos_errstr() to win_errstr() for consistency with Samba 4.
2008-11-01 17:19:26 +01:00
Andrew Tridgell
0f41961e4f
first cut at adding full transactions for ctdb to samba3
...
(This used to be commit f91a3e0f7b
)
2008-08-13 11:54:08 +02:00
Michael Adam
6e16022d62
registry: use _bystring wrappers to dbwrap_trans_(store|delete).
...
Michael
(This used to be commit 103ce6c9e9
)
2008-08-05 23:40:26 +02:00
Michael Adam
a8ae5228f5
registry: bump debug level to 1 in regdb_init() if storing version string fails.
...
Higher level callers should take care of level 0 messages.
Michael
(This used to be commit b5829e04ea
)
2008-07-15 14:25:00 +02:00
Michael Adam
0586d981a7
registry: bump debug level to 1 in regdb_init() if opening the registry fails.
...
Higher level callers take care of level 0 messages or more drastic measures.
Michael
(This used to be commit 111d802b5c
)
2008-07-15 14:22:55 +02:00
Michael Adam
f587e0310c
registry: fix logic in deleting subkeys record in regdb_fetch_keys().
...
Don't cancel on NT_STATUS_NOT_FOUND error from dbwrap_delete_bystring().
So deletion of an "incomlete" registry key, i.e. one with an entry in
the list of subkeys of its parent key but not a subkey list of its own,
works again.
Michael
(This used to be commit 75be2116ac
)
2008-07-09 10:43:25 +02:00
Michael Adam
ad2e1757e7
registry: improve logic for deleting value records in regdb_store_keys().
...
Don't ignore all errors from dbwrap_delete_bystring() but
only NT_STATUS_NOT_FOUND.
Michael
(This used to be commit d7ec9b2d52
)
2008-07-09 10:43:25 +02:00
Michael Adam
70d8e57c17
registry: fetch regdb_fetch_keys() when a key exists but not its subkey-record.
...
According to the new policy a key (that is not a base key) exists,
iff it exists in the subkey list of its parent key.
Usually this subkeylist is present, but in a transaction-less
dbwrap backend (ctdb), a failing write can leave an "incomplete"
key without its own subkeylist-record. (Otherwise such an
incomplete key can be generated with e.g. tdbtool.)
For such a key net registry enumerate (e.g.) would fail.
This commit fixes this behaviour of regdb_fetch_keys().
Michael
(This used to be commit f329aaf045
)
2008-07-08 17:10:01 +02:00
Michael Adam
f7d39653f5
registry: add removal of secdesc of a key to regdb_store_keys().
...
Michael
(This used to be commit a01d8fe5e8
)
2008-05-08 18:29:10 +02:00
Michael Adam
1f279f866f
registry: add comments to removing lists in regdb_store_keys().
...
Michael
(This used to be commit 3e89217e7e
)
2008-05-08 18:29:10 +02:00
Michael Adam
9f7653bfa1
registry: change order of deleting value and subkey lists in store_keys().
...
Next step in the plan to make store_keys safer without transactions.
Michael
(This used to be commit f7c8718dea
)
2008-05-08 18:29:10 +02:00
Michael Adam
453141b395
registry: adapt comment to first step in regdb_store_keys().
...
Michael
(This used to be commit 97592db08a
)
2008-05-08 18:29:10 +02:00
Michael Adam
8c2b976208
registry: adapt comment of last step in regdb_store_keys().
...
adding number (3) ....
Michael
(This used to be commit a03a17365d
)
2008-05-08 18:29:10 +02:00
Michael Adam
315c7b7824
registry: regdb_store_keys: move storing the subkey list down after removing values.
...
Michael
(This used to be commit 986030cdda
)
2008-05-08 18:29:10 +02:00
Michael Adam
01e640f6ea
registry: add comment explaining workflow to make store_keys safe w/o transactions
...
/*
* Make the store operation as safe as possible without transactions:
*
* (1) For each subkey removed from ctr compared with old_subkeys:
*
* (a) First delete the value db entry.
*
* (b) Next delete the secdesc db record.
*
* (c) Then delete the subkey list entry.
*
* (2) Now write the list of subkeys of the parent key,
* deleting removed entries and adding new ones.
*
* (3) Finally create the subkey list entries for the added keys.
*
* This way if we crash half-way in between deleting the subkeys
* and storing the parent's list of subkeys, no old data can pop up
* out of the blue when re-adding keys later on.
*/
The workflow is going to be modified to meet this agendain the next commits.
Michael
(This used to be commit 55dd9bdd14
)
2008-05-08 18:29:10 +02:00
Michael Adam
7fa4cd2421
registry: check for existence of non base key in regdb_store_keys() before proceeding.
...
Michael
(This used to be commit 52413c94fc
)
2008-05-08 18:29:09 +02:00
Michael Adam
8e21d223f7
registry: add a function regdb_key_is_base_key() to check whether is composite.
...
This partly duplicates code from regdb_key_exists(). Maybe refactor later.
Michael
(This used to be commit c27d03bba8
)
2008-05-08 18:29:09 +02:00
Michael Adam
4095b008ee
registry: check for existence of key in regdb_set_secdesc() before proceeding.
...
Michael
(This used to be commit 347bab7f4a
)
2008-05-08 18:29:09 +02:00
Michael Adam
7d35d4e2a4
registry: check for existence of key in regdb_get_secdesc() before proceeding.
...
Michael
(This used to be commit 727e5a87c0
)
2008-05-08 18:29:09 +02:00
Michael Adam
ba94ab2ed8
registry: check for existence of key in regdb_store_values() before proceeding.
...
Michael
(This used to be commit 8a2c9d965d
)
2008-05-08 18:29:09 +02:00
Michael Adam
4394c2dafb
registry: check for existence of key in regdb_fetch_keys() before proceeding.
...
Michael
(This used to be commit cf653e101d
)
2008-05-08 18:29:09 +02:00
Michael Adam
00ce73850d
registry: check for existence of key in regdb_fetch_values() first.
...
This uses the new semantics for existence of a key.
Michael
(This used to be commit 56a58690d3
)
2008-05-08 18:29:09 +02:00
Michael Adam
284bab74a7
registry: free talloc context on error path in regdb_fetch_values().
...
Michael
(This used to be commit 978aef3a86
)
2008-05-08 18:29:09 +02:00
Michael Adam
a26880c372
registry: Implement new semantics for existence of registry key in tdb.
...
Existence of a key is defined as follows:
* If the key is a base key (without separator), the key exists
iff the corresponding entry exist in the registry tdb.
* If the key is not a base key, the key exists, iff it exists
in the list of subkeys of it's parent keyname's tdb entry.
Michael
(This used to be commit 477008367f
)
2008-05-08 18:29:09 +02:00
Michael Adam
120aacfac5
registry: free temporary data in regdb_fetch_key_internal().
...
Michael
(This used to be commit 2b25f480ba
)
2008-05-08 18:29:08 +02:00
Michael Adam
79a009b876
registry: change order of arguments of regdb_fetch_key_internal()
...
list talloc context first.
Michael
(This used to be commit 23d7002b22
)
2008-05-08 18:29:08 +02:00
Michael Adam
f50002b491
registry: skip writes of existing keys in init_registry_data().
...
Michael
(This used to be commit 37dabf9317
)
2008-04-30 12:42:33 +02:00
Michael Adam
9fe870affa
registry: save writes in init_registry_data() if data does already exist.
...
This is done by first checking if all data (keys and values) exists
(using new regdb_key_exists()) and kompletely skipping all writes if it does.
Michael
(This used to be commit 7c5f1583cb
)
2008-04-30 12:42:32 +02:00
Michael Adam
ed6a9edb1e
registry: check for existence of key init_registry_key and possibly save a write.
...
Michael
(This used to be commit 3ab5a2f1b3
)
2008-04-30 12:42:32 +02:00
Michael Adam
6ec4c8631a
registry: add function regdb_key_exists() to check for existence of a key.
...
The existence of the registry key entry (and not the values entry!) is
taken as the criterion for existence.
Michael
(This used to be commit 207a0ece45
)
2008-04-30 12:42:32 +02:00
Michael Adam
167d54cc67
registry: use regdb_fetch_key_internal() in regdb_fetch_values().
...
Michael
(This used to be commit 3316541ac9
)
2008-04-30 12:42:32 +02:00
Michael Adam
6b4ed4b8f3
registry: use regdb_fetch_key_internal() in regdb_fetch_keys().
...
Michael
(This used to be commit 78f924ca05
)
2008-04-30 12:42:32 +02:00
Michael Adam
5379dda0cd
registry: add a function for fetching a tdb record for a given keystring
...
regdb_fetch_key_internal()
Michael
(This used to be commit 97bed9a236
)
2008-04-30 12:42:32 +02:00
Michael Adam
411ae73283
registry: combine talloc_strdup() and normalize_reg_path() in regdb_fetch_keys().
...
the talloc_strdup() call is just and extra allocation here.
Michael
(This used to be commit 217233349b
)
2008-04-30 12:42:32 +02:00
Michael Adam
dba75c0831
registry: use normalize_reg_path() in regdb_fetch_keys()
...
instead of handcrafting normalization.
Michael
(This used to be commit 1e4d2310d0
)
2008-04-30 12:42:31 +02:00
Michael Adam
caba2d3a64
registry: use dbwrap_fetch_bystring() in regdb_fetch_values().
...
Michael
(This used to be commit 569f9844e9
)
2008-04-30 12:42:31 +02:00
Michael Adam
9d933dedf9
registry: use dbwrap_fetch_bystring() in regdb_fetch_keys().
...
instead of using regdb->fetch and constructing tdb data
from the registry key string by hand.
Michael
(This used to be commit 87a58140f0
)
2008-04-30 12:42:31 +02:00
Michael Adam
86d189dad1
registry: honour the WERROR that regsubkey_ctr_addkey gives in regdb_fetch_keys.
...
Michael
(This used to be commit 7dd7471da7
)
2008-04-13 15:41:07 +02:00
Michael Adam
26a5652f6d
registry: change init_registry_key() and init_registry_data() to return WERR
...
Michael
(This used to be commit e0718f04a7
)
2008-04-13 15:33:47 +02:00
Michael Adam
6b85938f27
registry: change regdb_init() to return WERROR instead of bool.
...
Michael
(This used to be commit c312852abc
)
2008-04-13 15:33:47 +02:00
Volker Lendecke
16198dc51e
Convert dbwrap_trans_delete to NTSTATUS
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit dead193f46
)
2008-04-01 14:04:22 +02:00
Volker Lendecke
fcdfff1cc8
Convert dbwrap_trans_store to NTSTATUS
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit 5f4de856af
)
2008-04-01 14:04:22 +02:00
Stefan Metzmacher
b8dcade819
regdb: let regdb_fetch_keys() handle NULL and failure cases in the same way and return -1
...
metze
(This used to be commit 983fd58805
)
2008-04-01 14:04:20 +02:00
Stefan Metzmacher
b55942a763
regdb: get the seqnum before the record, to not miss something
...
metze
(This used to be commit c214107bd9
)
2008-04-01 14:04:20 +02:00
Stefan Metzmacher
2b21b02c6a
regdb: use dbwrap->fetch() instead of fetch_locked() for readonly access"
...
This is the fixed version of commit 5c28c74aa0
.
metze
(This used to be commit 924acd7f69
)
2008-04-01 14:04:20 +02:00
Michael Adam
ce0bbc82fd
Revert "regdb: use dbwrap->fetch() instead of fetch_locked() for readonly access"
...
This reverts commit 4e2be189e9
.
Metze, this broke the registry (reg_api layer), but I don't yet know
exactly how and why. By the way, the locks there had the purpose of
fetching the seqnum that really matches the data.
This needs some more thought / debugging. But I wanted to have
the tree in a working state again.
Michael
(This used to be commit 5c28c74aa0
)
2008-03-30 03:05:34 +02:00
Michael Adam
f8fdc36fdb
regdb: use == 0 (instead of != -1) as indicator for success of dbwrap_trans_[delete|store]()
...
Michael
(This used to be commit 7dcd0c1e53
)
2008-03-27 18:14:57 +01:00
Michael Adam
c86d10ae83
regdb: use != 0 instead of == -1 check for transaction_[commit|cancel]
...
Michael
(This used to be commit b6ceeaabae
)
2008-03-27 18:14:57 +01:00
Stefan Metzmacher
5439f5f710
regdb: use db_open_trans()
...
metze
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit a77b5b91dd
)
2008-03-27 18:14:56 +01:00
Stefan Metzmacher
618f22409a
regdb: use regdb->transaction_start(regdb) != 0 consistent
...
metze
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit 093c3bced9
)
2008-03-27 18:14:56 +01:00
Stefan Metzmacher
2a95f3f874
regdb: use dbwrap->fetch() instead of fetch_locked() for readonly access
...
metze
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit 4e2be189e9
)
2008-03-27 18:14:56 +01:00
Stefan Metzmacher
d9de61341c
regdb: use dbwrap_trans_store_int32
...
metze
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit 9620696083
)
2008-03-27 18:14:56 +01:00
Michael Adam
060f554adc
registry: use available string constant in debug statement.
...
Michael
(This used to be commit 6bac03a2ec
)
2008-03-20 15:01:52 +01:00
Michael Adam
cef4e1bd9e
registry: in regdb_init, not only complain about INFO/version, store it...
...
Michael
(This used to be commit 27d67365ad
)
2008-03-20 15:01:52 +01:00
Michael Adam
4bac0e505f
registry: reformat regdb_init() slightly, breaking long lines.
...
Michael
(This used to be commit 11da885f1e
)
2008-03-20 15:01:52 +01:00
Michael Adam
13b894b01e
registry: untangle assignment and if-statement in regdb_init().
...
Michael
(This used to be commit 504058df97
)
2008-03-20 15:01:52 +01:00
Michael Adam
2f01e055cf
registry: separate initialization of registry data from regdb_init().
...
Leave this to the users (currently registry_init_smbconf() and
init_registry()) to initialize as much of preliminary registry data
as needed.
Michael
(This used to be commit 59fdd30c78
)
2008-03-20 15:01:52 +01:00
Michael Adam
8880111466
registry: add a transaction wrapper to init_registry_key_internal().
...
Michael
(This used to be commit 8b9cff84d5
)
2008-03-20 15:01:52 +01:00
Michael Adam
1f3139df25
registry: refactor creation of subkeys out of init_registry_data().
...
Michael
(This used to be commit 55233f875e
)
2008-03-20 15:01:51 +01:00
Günther Deschner
e8bd75ec73
Bind Group Policy processing closer to the samba registry.
...
Guenther
(This used to be commit e9c56250eb
)
2008-03-18 21:31:24 +01:00
Michael Adam
6a2a76bc92
registry: untangle assignment and if-clause in init_registry_data().
...
Michael
(This used to be commit 64664d25cf
)
2008-03-17 13:12:47 +01:00
Michael Adam
cc2e3f180b
registry: convert regdb REGISTRY_OPS to named struct initializers.
...
Michael
(This used to be commit 3ea0a0beb4
)
2008-03-17 08:22:33 +01:00
Michael Adam
9741e07140
registry: use talloc instead of malloc and provide common exit point
...
in regdb_get_secdesc().
Michael
(This used to be commit df848d8eee
)
2008-03-17 08:22:33 +01:00
Michael Adam
647432a40c
registry: remove an unused variable from regdb_set_secdesc().
...
Michael
(This used to be commit 76dad05e4c
)
2008-03-17 08:22:33 +01:00
Michael Adam
18a407de8c
registry: untangle assignments and if statements in regdb_set_secdesc().
...
Michael
(This used to be commit d553b5d725
)
2008-03-17 08:22:33 +01:00
Michael Adam
40e6ec16ee
registry: use talloc_stackframe instead of hand crafted temporary context.
...
Michael
(This used to be commit e4f2c856ec
)
2008-03-17 08:22:33 +01:00
Michael Adam
2ce3d4b918
registry: use talloc instead of malloc for tdb data in regdb_store_values().
...
Michael
(This used to be commit 860316cbe7
)
2008-03-17 08:22:33 +01:00
Michael Adam
ae7f7e44ff
registry: don't use talloc_stackframe() instead of talloc_tos() als temp ctx
...
in regdb_store_values(). Also provide common exit path for
freeing memory.
Michael
(This used to be commit 7454e426f2
)
2008-03-17 08:22:33 +01:00
Michael Adam
ecd7479be2
registry: don't leak to talloc stack in regdb_fetch_keys().
...
Michael
(This used to be commit 3a1d79116b
)
2008-03-17 08:22:33 +01:00
Michael Adam
3b250d17d9
registry: explicitly use talloc context instead of talloc_tos()
...
in regdb_fetch_keys().
Michael
(This used to be commit 93ea27a3e2
)
2008-03-17 08:22:33 +01:00
Michael Adam
46ea0d333e
registry: don't leak on success path in regdb_store_keys().
...
Michael
(This used to be commit 331d7fd2ea
)
2008-03-17 08:22:33 +01:00
Michael Adam
a0d4c1e127
registry: allocate tempory data in talloc stack in regdb_store_keys().
...
Michael
(This used to be commit a99b51159a
)
2008-03-17 08:22:33 +01:00