Jeremy Allison
526e875cec
Check error returns from strupper_m() (in all reasonable places).
2012-08-09 12:06:54 -07:00
David Binderman
d58aa46c08
Fix bug 9065: source3/registry/regfio.c: bad call to memcpy
...
Signed-off-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Jul 25 02:42:32 CEST 2012 on sn-devel-104
2012-07-25 02:42:32 +02:00
Rusty Russell
15faffc537
source3/registry/reg_backend_db.c: fix stackframe leak
...
regdb_store_values_internal() doesn't always free its stackframe.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18 05:06:31 +09:30
Michael Adam
5ba91fff94
s3:registry: untangle assignment from check in reg_enumkey()
...
Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Thu Jul 5 17:57:16 CEST 2012 on sn-devel-104
2012-07-05 17:57:16 +02:00
Michael Adam
e481afc0fe
s3:registry: untangle assignment from check in reg_enumvalue()
2012-07-05 16:07:40 +02:00
Michael Adam
dba03a644d
s3:registry: change reg_import.c according to coding guidelines.
...
Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Wed Jun 27 10:07:54 CEST 2012 on sn-devel-104
2012-06-27 10:07:54 +02:00
Michael Adam
7bc1172c5f
s3:registry: use TALLOC_CTX * instead of const void * in reg_import_adapter()
2012-06-27 08:18:18 +02:00
Gregor Beck
e78d647ebc
s3:registry: add function registry_value_cmp()
...
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-26 19:57:19 +02:00
Gregor Beck
55ce9e1fa9
s3:registry: fix possible double free in import
...
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-26 19:57:18 +02:00
Gregor Beck
619f0c07ff
s3:registry: improve debug output in reg_parse
...
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-26 19:57:18 +02:00
Gregor Beck
e10ea2b3cd
s3:registry: add functions to conveniently create registry_values
...
Pair-Programmed-With: Michael Adam <obnox@samba.org>
2012-06-26 19:57:18 +02:00
Gregor Beck
35eccd0f53
s3:registry: silence net_deletekey_recursive
...
WERR_BADFILE may not be an error for the caller because the result is the same.
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-26 19:57:18 +02:00
Michael Adam
fb706c7365
s3:registry: make reg_delete_path() delete the path recursively.
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
(cherry picked from commit a56992ab71032b54d9879834c12f6b88e6174cb4)
2012-06-26 19:57:18 +02:00
Gregor Beck
353f614c96
s3:registry: compile reg_create_path() & reg_delete_path()
...
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-26 19:57:18 +02:00
Volker Lendecke
64fec465c1
dbwrap: dbwrap_trans_store_int32->dbwrap_trans_store_int32_bystring
...
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-15 12:14:29 +02:00
Volker Lendecke
737c0a5473
dbwrap: dbwrap_fetch_int32->dbwrap_fetch_int32_bystring
...
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-15 12:14:27 +02:00
Michael Adam
4754743860
s3:registry: let reg_values_need_update() return true if the backend does not implement the method
...
Otherwise the value cache might become outdated.
Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Mon May 7 16:11:05 CEST 2012 on sn-devel-104
2012-05-07 16:11:05 +02:00
Michael Adam
fb58951f93
s3:registry: let reg_subkeys_need_update() return true if the backend does not implement the method
...
Otherwise the subkey cache might become outdated.
2012-05-07 14:09:09 +02:00
Michael Adam
16a24dc182
s3:registry: implement values_need_update and subkeys_need_update in the smbconf backend
...
It simply calls to the regdb functions.
This fixes a caching issue uncovered by recent changes.
Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Sat May 5 04:10:43 CEST 2012 on sn-devel-104
2012-05-05 04:10:42 +02:00
Michael Adam
cd98954c6d
s3:registry: return error when Key does not exist in regdb_fetch_values_internal()
2012-05-05 02:22:00 +02:00
Volker Lendecke
05456aca34
s3: Remove an unused variable
...
Autobuild-User: Volker Lendecke <vl@samba.org>
Autobuild-Date: Thu Apr 26 12:17:14 CEST 2012 on sn-devel-104
2012-04-26 12:17:13 +02:00
Michael Adam
c333885fa1
s3:registry: replace call to reg_openkey() in reg_createkey() by accesscheck.
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:12 +02:00
Michael Adam
7f205bcbf2
s3:registry: remove a superfluous fill_subkey_cache() in reg_createkey()
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:12 +02:00
Michael Adam
4b7817aa80
s3:registry: use fill_subkey_cache to check exsistence in regkey_open_onelevel().
...
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:12 +02:00
Michael Adam
be2cb08e40
s3:registry: let fill_subkey_cache return WERR_BADFILE when the subkey list could not be loaded
...
WERR_NO_MORE_ITEMS seems inappropriate.
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:12 +02:00
Michael Adam
1703e6fe09
s3:registry: convert reg_openkey() to use talloc instead of SMB_STRDUP etc
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:12 +02:00
Michael Adam
323ec9f9b4
s3:registry untangle an assignment from the check in regkey_open_onelevel()
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:12 +02:00
Michael Adam
640cecab19
s3:registry: untangle assignment from check in regkey_open_onelevel()
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:11 +02:00
Michael Adam
22451f7f45
s3:registry: fix seqnum race in regdb_fetch_keys_internal
...
This prevents race between fetching seqnum and key content.
Because there is currently no way to atomically fetch the
record along with the seqnum, I use a loop.
This is far from optimal and should should ideally be done
differently. But for now it fixes the race.
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:11 +02:00
Michael Adam
7ea8bd3605
s3:registry: fix seqnum race in fetch_values_internal
...
This prevents race between fetching seqnum and key content.
Because there is currently no way to atomically fetch the
record along with the seqnum, I use a loop.
This is far from optimal and should should ideally be done
differently. But for now it fixes the race.
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:11 +02:00
Michael Adam
ab83005b30
s3:registry: update the seqnum in the subkey cache at the end of regval_store_keys
...
The purpose is to prevent next reads from going to disk.
Note that this will currently only be effective with local tdbs, not
with ctdb: For tdb, store and delete bump the seqnum while transaction
commit does not. For ctdb, transaction commit bumps the seqnum, while
store and delete don't... This needs fixing (in ctdb).
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:11 +02:00
Michael Adam
4367071f62
s3:registry:db: update the value container seqnum after storing/deleting to prevent next read from going to disk if possible
...
Note that this will currently only be effective in the local TDB implementation.
For CTDB, this wont work since seqnum currently works differently there (needs
fixing): For tdb, store and delete operations bump the db seqnum, while
transaction commits don't. For ctdb, the seqnum is bumped by the transaction
commit but not by store and delete operations.
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:11 +02:00
Michael Adam
8c7047b0e7
s3:registry: wrap reg_deletekey() into a transaction
...
This is wrong layering but fixes a race condition.
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:11 +02:00
Michael Adam
32ac4f4b34
s3:registry: wrap reg_createkey() in a transaction
...
This is wrong layering (calling into regdb_transaction* in the reg_api code)
but fixes a potential race. It makes the multi-step create procedure atomic.
This should completely be done in the backend.
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:10 +02:00
Michael Adam
1af68be008
s3:registry: untangle assignments from checks in reg_createkey()
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:10 +02:00
Michael Adam
8d19ac7474
s3:registry: wrap reg_deletevalue() in a transaction
...
This is at the wrong layer, but if fixes a race potentially causing
data corruption by concurrent access.
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:10 +02:00
Michael Adam
97bf05871a
s3:registry: untangle assignment from check in reg_deletevalue()
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:10 +02:00
Michael Adam
8ddc2aa0e1
s3:registry: fix race in reg_setvalue that could lead to data corruption
...
(there was no lock around fetching the values and storing them)
The layering is wrong in that it uses regdb transactions in reg_api
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:10 +02:00
Michael Adam
705ea5b8c2
s3:registry: untangle assignment from check and add a debugmessage in reg_setvalue()
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:10 +02:00
Michael Adam
04aa303fb1
s3:registry: don't leak the old contents when updating the value cache
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:09 +02:00
Michael Adam
f4747250ea
s3:registry: fix debug message in regdb_store_values_internal()
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:09 +02:00
Michael Adam
44159330db
s3:registry: improve log message in regdb_unpack_values()
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:09 +02:00
Michael Adam
6f67f5d5b7
s3:registry: fix a debug message typo
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:09 +02:00
Michael Adam
64a9ab4f82
s3:registry: add a new function regval_ctr_value_byname()
...
This is like regval_ctr_key_exists() but does not return bool,
but the regval_blob instead, if found, and NULL if not found.
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:31:01 +02:00
Michael Adam
2fc610caf5
s3:registry: rename regval_ctr_key_exists() to regval_ctr_value_exists()
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:23:05 +02:00
Michael Adam
6c016734aa
s3:registry:reg_api: fix reg_queryvalue to not fail when values are modified while it runs
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:23:05 +02:00
Michael Adam
877af95ed7
s3:registry: make regdb_values_need_update() static
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:23:05 +02:00
Michael Adam
bc48100530
s3:registry: make regdb_subkeys_need_update() static
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:23:05 +02:00
Michael Adam
a3b1c13cd4
s3:registry: make regdb_store_values() static
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:23:04 +02:00
Michael Adam
6ab2eb8295
s3:registry: make regdb_fetch_values() static
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:23:04 +02:00
Michael Adam
5fdd602605
s3:registry: make regdb_fetch_keys() static
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:23:04 +02:00
Michael Adam
4cf44177ac
s3:registry: make regdb_store_keys() static
...
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:23:04 +02:00
Michael Adam
37715930c2
s3:registry: printing backend: use regdb options via ops struct, not directly
...
just like the other backends.
This is in preparation of making the backend functions private
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-25 14:23:04 +02:00
Olaf Flebbe
b8dea7e82d
Wrong assertion/comparison: Compare value not pointer
...
Signed-off-by: Jeremy Allison <jra@samba.org>
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Fri Apr 13 02:23:36 CEST 2012 on sn-devel-104
2012-04-13 02:23:35 +02:00
Jelmer Vernooij
6f1b735cc2
adt_tree: Avoid WERROR.
2012-03-24 16:41:35 +01:00
Andrew Bartlett
3b5326e987
s3-registry Remove unused dup_registry_value() and free_registry_value()
2012-02-17 12:19:29 +01:00
Andrew Bartlett
7824fd5954
s3-registry: Remove unused prs_uint8()
...
Found by callcatcher: http://www.skynet.ie/~caolan/Packages/callcatcher.html
Andrew Bartlett
2012-02-10 16:45:12 +11:00
Gregor Beck
f1545048eb
s3:registry: do not write empty value lists to registry.tdb
...
Signed-off-by: Michael Adam <obnox@samba.org>
Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Tue Jan 24 13:54:09 CET 2012 on sn-devel-104
2012-01-24 13:54:09 +01:00
Volker Lendecke
45e61fcf61
s3: Add a "lock_order" argument to db_open
...
This will be used to enforce a lock hierarchy between the databases. We have
seen deadlocks between locking.tdb, brlock.tdb, serverid.tdb and notify*.tdb.
These should be fixed by refusing a dbwrap_fetch_locked that does not follow a
defined lock hierarchy.
2012-01-18 14:48:04 +01:00
David Disseldorp
bd5fe0a333
s3-perfcount: fix incorrect array length calculations
...
As reported by Ismail Doenmez (idonmez@suse.com ), sizeof() is
incorrectly used by _reg_perfcount_init_data_block() in an attempt to
determine the length of a talloced array.
Signed-off-by: Günther Deschner <gd@samba.org>
Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Wed Jan 4 16:54:37 CET 2012 on sn-devel-104
2012-01-04 16:54:37 +01:00
Volker Lendecke
75d3b9ce08
s3: Fix some False/NULL hickups
...
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Tue Dec 20 13:13:17 CET 2011 on sn-devel-104
2011-12-20 13:13:17 +01:00
Michael Adam
2a69de6fde
s3:registry: replace use of rawmemchr by portable equivalent use of strchr.
2011-12-06 10:45:42 +01:00
Gregor Beck
d74b3f941f
lib/util: factor out tdb_data_is_empty
...
Signed-off-by: Michael Adam <obnox@samba.org>
Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Sat Dec 3 05:20:30 CET 2011 on sn-devel-104
2011-12-03 05:20:30 +01:00
Gregor Beck
789aa9aab2
s3:registry: do not use regdb functions during db upgrade
...
It is importante to not use the database backend implementation
in the upgrade. Otherwise this would only work as long as this
is the newset version. In future versions of the registry, this
(then) intermediate upgrade step would change in behaviour and not
work as expected any more.
Signed-off-by: Michael Adam <obnox@samba.org>
2011-12-03 03:48:31 +01:00
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
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
Andrew Bartlett
74eed8f3ed
s3-param Remove special case for global_myname(), rename to lp_netbios_name()
...
There is no reason this can't be a normal constant string in the
loadparm system, now that we have lp_set_cmdline() to handle overrides
correctly.
Andrew Bartlett
2011-06-09 12:40:09 +02:00
Andrew Bartlett
8d4a8389bb
s3-talloc Change TALLOC_MEMDUP() to talloc_memdup()
...
Using the standard macro makes it easier to move code into common, as
TALLOC_MEMDUP isn't standard talloc.
2011-06-09 12:40:08 +02:00
Andrew Bartlett
5e26e94092
s3-talloc Change TALLOC_ZERO_ARRAY() to talloc_zero_array()
...
Using the standard macro makes it easier to move code into common, as
TALLOC_ZERO_ARRAY isn't standard talloc.
2011-06-09 12:40:08 +02:00
Andrew Bartlett
ad0a07c531
s3-talloc Change TALLOC_ZERO_P() to talloc_zero()
...
Using the standard macro makes it easier to move code into common, as
TALLOC_ZERO_P isn't standard talloc.
2011-06-09 12:40:08 +02:00
Andrew Bartlett
d5e6a47f06
s3-talloc Change TALLOC_P() to talloc()
...
Using the standard macro makes it easier to move code into common, as
TALLOC_P isn't standard talloc.
2011-06-09 12:40:08 +02:00
Andrew Bartlett
3d15137653
s3-talloc Change TALLOC_ARRAY() to talloc_array()
...
Using the standard macro makes it easier to move code into common, as
TALLOC_ARRAY isn't standard talloc.
2011-06-09 12:40:08 +02:00
Andrew Bartlett
73b377432c
s3-talloc Change TALLOC_REALLOC_ARRAY() to talloc_realloc()
...
Using the standard macro makes it easier to move code into common, as
TALLOC_REALLOC_ARRAY isn't standard talloc.
Andrew Bartlett
2011-06-09 12:40:08 +02:00
Andrew Bartlett
381423b1bd
libcli/security: move secdesc.c to the top level libcli/security
...
This code does not rely on lp_ or other source3 only functions, so can
be part of the common library.
Andrew Bartlett
2011-05-31 00:32:07 +02:00
Andrew Bartlett
da662b82b8
s3-lib Replace StrnCaseCmp() with strncasecmp_m()
...
strncasecmp_m() never needs to call to talloc, and via next_codepoint()
still has an ASCII fast-path bypassing iconv() calls.
Andrew Bartlett
2011-05-18 16:12:08 +02:00
Andrew Bartlett
c615ebed6e
s3-lib Replace StrCaseCmp() with strcasecmp_m()
...
strcasecmp_m() never needs to call to talloc, and via next_codepoint()
still has an ASCII fast-path bypassing iconv() calls.
Andrew Bartlett
2011-05-18 16:12:08 +02:00
Michael Adam
26b6831164
s3:registry: add a warning debug message when the sorted subkeys is created from key_exists()
2011-05-12 11:48:30 +02:00
Michael Adam
daf5f29d49
s3:registry: recreate the sorted subkeys cache when storing keys
...
This is to avoid turning the next read operation into a write op.
2011-05-12 11:48:30 +02:00
Michael Adam
1a6ac6a944
s3:registry: add create_sorted_subkeys() to delete and recreate the sorted subkeys key
...
This is to be used from other places than the key_exists() code path.
2011-05-12 11:48:30 +02:00
Michael Adam
b1eac2daf3
s3:registry: turn create_sorted_subkeys_internal to NTSTATUS return type
...
(from bool)
2011-05-12 11:48:30 +02:00