Gregor Beck
3a2fd7c0e2
s3:registry: write INFO/version if we create registry.tdb
...
Signed-off-by: Michael Adam <obnox@samba.org>
2011-11-25 13:24:34 +01:00
Michael Adam
6727429aea
s3:registry: prevent unnecessary transactions in regdb_init
...
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-09 15:06:58 +01:00
Björn Baumbach
66eefde53b
s3-registry: fix upgrade code
...
Assume REGDB_VERSION_V1 if no version key found in registry.tdb
Signed-off-by: Michael Adam <obnox@samba.org>
2011-11-03 10:13:41 +01:00
Andreas Schneider
7b5fb7d9e8
replace: Add don't include unistd.h directly and add uid_wrapper.
2011-10-27 13:32:02 +02:00
Andreas Schneider
2f65ae25df
s3: Include uid_wrapper where it is missing.
2011-10-27 13:32:02 +02:00
Gregor Beck
6b28a517e3
s3:registry add function srprs_hive()
...
Signed-off-by: Michael Adam <obnox@samba.org>
2011-10-12 22:45:53 +02:00
Michael Adam
240d6217dd
s3:registry: improve regdb_create_subkey_internal() to always complete 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-12 03:49:05 +02:00
Michael Adam
603c3e1bcb
s3:dbwrap: convert dbwrap_fetch_int32() to NTSTATUS return code
...
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-11 14:17:58 +02:00
Michael Adam
7057b4d1ac
s3:registry: convert reg_backend_db to use dbwrap wrapper functions
...
Avoid direct use of the db_record and db_context structs
2011-10-11 14:17:57 +02:00
Michael Adam
0e28448a78
s3:dbwrap: convert dbwrap_fetch(), dbwrap_fetch_bystring() and dbwrap_fetch_bystring_upper() to NTSTATUS
2011-10-11 14:17:56 +02:00
Michael Adam
7a72c84ee7
s3:dbwrap: move the db_open_rbt() prototype to a new header dbwrap_rbt.h
2011-10-11 14:17:55 +02:00
Michael Adam
95bb2c23e6
s3:registry: fix the test for a REG_SZ blob possibly being a zero terminated ucs2 string
...
1. catch data blobs with odd number of bytes (not an ucs2 string at all)
2. test the right ucs2 character to be 0
(prevent out-of bounds access/potential segfault)
Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Sun Oct 2 01:26:05 CEST 2011 on sn-devel-104
2011-10-02 01:26:04 +02:00
Gregor Beck
b9da423556
s3:registry: reg_format: handle unterminated REG_SZ blobs
...
Signed-off-by: Michael Adam <obnox@samba.org>
2011-10-01 23:51:05 +02:00
Michael Adam
cc6ecd4ead
s3:registry: fix a debug message in the v2_to_v3 upgrade code
...
Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Mon Sep 19 10:31:45 CEST 2011 on sn-devel-104
2011-09-19 10:31:45 +02:00
Volker Lendecke
14876e65ea
s3: Fix Coverity ID 2611, UNINIT
...
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Wed Sep 7 19:47:49 CEST 2011 on sn-devel-104
2011-09-07 19:47:49 +02:00
Volker Lendecke
74cdddea1b
s3: Fix Coverity ID 2612, UNINIT
2011-09-07 18:20:22 +02:00
Michael Adam
dfbffac977
s3:registry: fix a debug message typo
...
Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Fri Sep 2 11:47:11 CEST 2011 on sn-devel-104
2011-09-02 11:47:11 +02:00
Michael Adam
fff30e9f88
s3:registry: introduce a define REGDB_CODE_VERSION and use it in regdb code.
...
This is to not use the precise code version REGDB_VERSION_V3 explicitly
in the code.
2011-09-02 10:17:20 +02:00
Michael Adam
39c6de28fa
s3:registry: rename REGVE_Vx toREGDB_VERSION_Vx for consistency
2011-09-02 10:17:19 +02:00
Michael Adam
e579c84b4f
s3:registry: implement regdb_set_secdesc() with regdb_trans_do()
...
Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Fri Sep 2 00:51:40 CEST 2011 on sn-devel-104
2011-09-02 00:51:40 +02:00
Michael Adam
861f04bec0
s3:registry: implement regdb_store_values() with regdb_trans_do()
...
This adds the runtime check for changed regdb format version to store_values
2011-09-01 23:18:18 +02:00
Michael Adam
6832ae4c6d
s3:registry: change regdb_store_values_internal() from bool to NTSTATUS return code
2011-09-01 23:18:18 +02:00
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