Michael Adam
e1d7cfb41b
s3:registry: use the regdb_trans_do wrapper instead of using dbwrap_trans_do directly in the registry db code.
...
This verifies the regdb format version number before the corresponding write operations.
2011-09-01 23:18:18 +02:00
Michael Adam
9352a95bfd
s3:registry: add regdb_trans_do(): a transaction wrapper that will check the regdb version
...
If the version has changed since initialization, the write will
fail with ACCESS_DENIED.
2011-09-01 23:18:18 +02:00
Michael Adam
5ef11737bc
s3:registry: drop log level of unknown regdb version message in regdb_init() to 0
2011-09-01 23:18:17 +02:00
Michael Adam
1e09f12d1f
s3:registry: fix the v2_to_v3 upgrade code so that it does not create value list security records for the INFO/version key ...
2011-08-25 23:55:06 +02:00
Michael Adam
9b46798b11
s3:registry: fix the v1_to_v2 upgrade code so that it does not normalize the INFO/version key ...
2011-08-25 23:55:06 +02:00
Michael Adam
b4cb969e40
s3:registry: define a constant REGDB_VERSION_KEYNAME for the key INFO/version (and use it)
2011-08-25 23:55:06 +02:00
Michael Adam
b1a94b66cc
s3:registry: hand db context in to v2_to_v3 upgrade code via private_data
...
This also fixes the earlier faulty handing in of a useless stackframe
memory context via private_data.
2011-08-25 23:55:06 +02:00
Michael Adam
48f08011e5
s3:registry: fix broken use of dbwrap store record in v1_to_v2 upgrade code
...
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-25 23:55:06 +02:00
Günther Deschner
e00a6c40bf
s3-registry: fix bug #8401 - registry/reg_format.c must include includes.h.
...
Guenther
2011-08-25 13:45:34 +02:00
Michael Adam
689f42af29
s3:registry: enhance debugging of deletekey_recursive
...
Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Mon Aug 15 19:34:44 CEST 2011 on sn-devel-104
2011-08-15 19:34:44 +02:00
Michael Adam
32b7411104
s3:registry: fix regdb_key_exists: the record has to contain at least the 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-15 17:15:14 +02:00
Gregor Beck
356ed8644c
s3:registry avoid updating keys which are going to be deleted in
...
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-08-08 15:27:07 +02:00
Michael Adam
0b5c4a601a
s3:dbwrap: move all .c and .h files of dbwrap to lib/dbwrap/
...
Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Fri Jul 29 13:34:22 CEST 2011 on sn-devel-104
2011-07-29 13:34:22 +02:00
Michael Adam
1abdd9b2bb
s3:dbwrap: move db_open() to a file dbwrap_open.c of its own.
...
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-29 12:23:13 +02:00
Gregor Beck
5049e3e142
s3:registry avoid pruning the sequencenumber while flushing the regsubkey_ctr
...
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-15 08:34:47 +02:00
Gregor Beck
7e3d7505dd
s3:registry avoid leaking an old regsubkey_ctr on regsubkey_ctr_init
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2011-07-14 21:48:12 +02:00
Michael Adam
4af8615da8
s3:registry: update copyright for the registry db implementation
2011-07-06 12:55:25 +02:00
Michael Adam
399c0dba01
s3:registry: remove unused function regdb_key_is_base_key()
...
Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Mon Jul 4 21:11:32 CEST 2011 on sn-devel-104
2011-07-04 21:11:32 +02:00
Michael Adam
86f8eb98fe
s3:registry: replace use of deprecated talloc_destroy by talloc_free.
2011-07-04 20:02:10 +02:00
Michael Adam
17b091b7c7
s3:registry: remove superfluous check for success of talloc_stackframe()
2011-07-04 20:02:10 +02:00
Michael Adam
cc384c1596
s3:registry: add debug-level-10 verbosity to regdb_upgrade_v2_v3_fn()
2011-07-04 20:02:10 +02:00
Michael Adam
340be35b9b
s3:registry: adapt a debug message to be more systematic
2011-07-04 20:02:10 +02:00
Michael Adam
c8c5d8c89e
s3:registry: set registry version to 3 and add upgrade code
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:09 +02:00
Michael Adam
f36ee63df2
s3:registry: add db_context argument to regdb_upgrade_v1_to_v2()
2011-07-04 20:02:09 +02:00
Michael Adam
1621aab139
s3:registry: wrap the whole db upgrade in one transaction
...
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-04 20:02:09 +02:00
Michael Adam
caf9c99969
s3:registry: change regdb_store_regdb_version() to take db_context argument.
2011-07-04 20:02:09 +02:00
Michael Adam
2273650ca8
s3:registry: fix a comment typo
2011-07-04 20:02:09 +02:00
Michael Adam
a8360712e1
s3:registry: remove unused regdb_delete_sorted_subkeys()
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:09 +02:00
Michael Adam
a0f83ecbb9
s3:registry: don't delete the unused subkeys cache record any more
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:09 +02:00
Michael Adam
50add4091a
s3:registry: remove the code to create and search the sorted subkeys cache records
...
This is not needed any more.
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:09 +02:00
Michael Adam
18973fa109
s3:registry: adapt the comment explaining the definition of the existence of a key.
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:09 +02:00
Michael Adam
a255630358
s3:registry: regdb_key_exists now checks only for the list-of-subkeys-record
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:08 +02:00
Michael Adam
9e2b2c1fcc
s3:registry: rewrite init_registry_key_internal
...
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>
2011-07-04 20:02:08 +02:00
Michael Adam
747c67cf30
s3:registry: add regdb_create_basekey()
...
Function to create a base key in the registry db, i.e. one that
has no parent key.
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:08 +02:00
Michael Adam
144c8d77d8
s3:registry: add regdb_create_subkey_internal() taking additional db context argument
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:08 +02:00
Michael Adam
15a50ef8f8
s3:registry: add new mode to regdb_store_subkey_list() for handing in NULL parent key
...
Standard behaviour is to concatenate parent and key path (parent\key).
This new mode allows for storing subkey lists for base keys using a NULL
parent argument.
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:08 +02:00
Michael Adam
fc4d79d41a
s3:registry: create the empty list of subkeys of the new key in regdb_create_subkey
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:08 +02:00
Michael Adam
322eaf1e9e
s3:registry: refactor creation of subkey list out into regdb_store_subkey_list()
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:08 +02:00
Michael Adam
394ca1446e
s3:registry: remove redundant write of zero-lentgh subkey list record
...
In this case, the zero-lenght list has already been written in step #2 .
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:08 +02:00
Michael Adam
eb797bd206
s3:registry: don't update the sorted subkeys cache any more in regdb_store_keys_internal2()
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:08 +02:00
Michael Adam
5b01a34ad7
s3:registry: don't skip base key in existence check in regdb_store_keys_internal()
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:08 +02:00
Michael Adam
da2e64b63f
s3:registry: don't skip base keys from existence check in regdb_create_subkey()
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:07 +02:00
Michael Adam
6b99aa496f
s3:registry: don't skip base keys from existence check in regdb_delete_subkey()
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2011-07-04 20:02:07 +02:00
Michael Adam
1f72088633
s3:registry: when deleting the records for a key, also delete the sorted subkeys cache
...
This prevents orphaned empty sorted subkeys cache records from filling the database.
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
Signed-off-by: Michael Adam <obnox@samba.org>
2011-06-30 15:41:23 +02:00
Michael Adam
2b162db6e9
s3:registry: add helper function regdb_delete_sorted_subkeys()
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
Signed-off-by: Michael Adam <obnox@samba.org>
2011-06-30 15:41:22 +02:00
Andrew Bartlett
734e1b6812
s3-param Remove 'announce version' parameter
...
The only users I can find of this on the internet involve confused
users, and our own documentation recommends never setting this. Don't
confuse our users any longer.
Andrew Bartlett
2011-06-23 13:47:27 +02:00
Rusty Russell
5a7874e119
tdb_traverse/tdb_traverse_read: check returns for negative, not -1.
...
TDB2 returns a negative error number on failure. This is compatible
if we always check for < 0 instead of == -1.
Also, there's no tdb_traverse_read in TDB2: we don't try to make
traverse reliable any more, so there are no write locks anyway.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-06-20 11:18:35 +02:00
Rusty Russell
058c4f8492
tdb_fetch_compat: use instead of tdb_fetch.
...
This is a noop for tdb1.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-06-20 11:18:35 +02:00
Michael Adam
241ed0a042
s3:registry/reg_parse_internal.c: add copyright information
2011-06-11 11:44:31 +02:00
Michael Adam
d901905210
s3:registry/reg_parse_internal.h: add copyright information
2011-06-11 11:44:31 +02:00