1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00
Commit Graph

776 Commits

Author SHA1 Message Date
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