Günther Deschner
91e8f8ded2
s3-registry: move regf based reg_api calls into own file.
...
Guenther
2010-09-20 02:27:41 +02:00
Günther Deschner
323f729df0
s3-registry: add reg_querymultiplevalues to reg_api matching table.
...
Guenther
2010-09-20 02:27:41 +02:00
Andrew Bartlett
3bb77516b8
s3-privs Convert from user_has_privileges() -> security_token_has_privilege()
...
This new call is available in the merged privileges code, and
takes an enum as the parameter, rather than a bitmask.
Andrew Bartlett
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2010-09-11 18:46:09 +10:00
Andrew Bartlett
2387e3bcfe
s3-privs Call security_token_set_privilege() rather than manual assignment
...
This avoids as much direct modifiction of the bitmask as possible.
Andrew Bartlett
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2010-09-11 18:46:09 +10:00
Andrew Bartlett
d1bb21b0d5
s3:auth Remove NT_USER_TOKEN
...
The all UPPER case typedef is no longer the preferred Samba style
and this makes it easier to see that this is the IDL-derivied structure
Andrew Bartlett
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2010-09-11 18:46:06 +10:00
Andrew Bartlett
4bfc8d3b1a
s3-auth Change struct nt_user_token -> struct security_token
...
This common structure is defined in security.idl
Andrew Bartlett
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2010-09-11 18:46:05 +10:00
Andrew Bartlett
eee63b7e75
s3-auth Rename NT_USER_TOKEN privileges -> privilege_mask
...
This is closer to the struct security_token from security.idl
Andrew Bartlett
2010-08-31 11:25:41 +10:00
Andrew Bartlett
8c15cf54ae
s3-auth Rename NT_USER_TOKEN user_sids -> sids
...
This is closer to the struct security_token from security.idl
2010-08-31 10:20:14 +10:00
Günther Deschner
7a05ca2c9c
s3-build: use dbwrap.h only where needed.
...
Guenther
2010-08-26 00:25:55 +02:00
Günther Deschner
7b6fc9f414
s3-dcerpc: only include rpc_dce.h where needed.
...
Guenther
2010-08-26 00:20:29 +02:00
Günther Deschner
813fbbd68c
s3-build: avoid to globally include printing and spoolss headers.
...
This shrinks precompiled headers by 3MB and will slightly speed up any build.
Guenther
2010-07-31 00:50:31 +02:00
Andreas Schneider
96c25cdad5
s3-spoolss: Create winprint print processor key.
...
Signed-off-by: Jim McDonough <jmcd@samba.org>
2010-07-27 10:27:14 -04:00
Andreas Schneider
71be0ec140
s3-registry: Redirect KEY_CONTROL_PRINTERS to KEY_WINNT_PRINTERS.
...
Signed-off-by: Jim McDonough <jmcd@samba.org>
2010-07-27 10:27:06 -04:00
Andreas Schneider
65eb38bc00
s3-registry: Init all needed registry keys for printing.
...
Signed-off-by: Jim McDonough <jmcd@samba.org>
2010-07-27 10:27:06 -04:00
Günther Deschner
914fd13edd
s3-registry: use some prs macros to the only place where they are used.
...
Guenther
2010-07-16 02:20:34 +02:00
Simo Sorce
f4c6c7e7b8
Move the remnants of rpc_parse code under registry/
...
The registry code is the only last user of this code.
Move everything under registry/ and hope someone will get rid od
it completely from there in the future.
Signed-off-by: Günther Deschner <gd@samba.org>
2010-07-16 01:51:18 +02:00
Simo Sorce
67b6fe3dc3
s3-misc: Move smb_io_time() to regfio.c
...
This is the last file using this function and we do not want anyone
else to keep using hand marshalled stuff anyway.
So make it also private to that file.
Signed-off-by: Günther Deschner <gd@samba.org>
2010-07-16 01:51:18 +02:00
Günther Deschner
d9429a874c
s3-registry: remove 2 byte winreg type limitation.
...
We already pull and push 4 byte winreg type in the registry.tdb, we were just
not using full 4 bytes within the reg_object functions.
With this change we finally pass the set extended value torture test.
Guenther
2010-07-02 10:50:22 +02:00
Günther Deschner
ddb8fae401
s3-registry: allow to read NULL entries (that we allow to store) back from the tdb.
...
Guenther
2010-07-02 10:50:21 +02:00
Günther Deschner
786198e523
s3-registry: remove unused reg_util_marshalling code.
...
Guenther
2010-07-02 10:50:21 +02:00
Günther Deschner
b381fba089
s3-registry: avoid using registry_value union.
...
Just pull and push data as is.
Guenther
2010-07-02 10:50:21 +02:00
Günther Deschner
74721bf706
s3-registry: fix malloc/talloc mismatch upon free in reg_enumvalue().
...
Guenther
2010-07-01 01:22:11 +02:00
Günther Deschner
21869f5ed0
s3-registry: add reg_querymultiplevalues() to reg_api.
...
Guenther
2010-06-30 21:46:08 +02:00
Günther Deschner
158504381e
s3-registry: missed one perflib keyname delimiter.
...
Guenther
2010-06-28 14:18:04 +02:00
Günther Deschner
658048ecbc
s3-registry: fix printing keyname delimiter.
...
Guenther
2010-06-28 13:16:31 +02:00
Günther Deschner
3d24040ac6
s3-registry: fix perfmon keyname delimiter.
...
Guenther
2010-06-28 13:16:31 +02:00
Andreas Schneider
378cd5dc38
s3-registry: Fixed keyname delimiter in KEY_CURRENT_VERSION_NORM.
2010-06-28 12:56:13 +02:00
Michael Adam
6d973607c3
s3:registry: use regdb_store_regdb_version() in regdb_init().
2010-06-25 18:13:06 +02:00
Michael Adam
2f44dcc96b
s3:registry: use regdb_store_regdb_version() in regdb_upgrade_v1_to_v2()
2010-06-25 18:12:28 +02:00
Michael Adam
5641ee02fd
s3:registry: add a function regdb_store_regdb_version()
2010-06-25 18:11:35 +02:00
Michael Adam
a9bec6b779
s3:registry: rename regdb_upgrade_to_version_2() -> regdb_upgrade_v1_to_v2()
2010-06-25 18:04:52 +02:00
Michael Adam
8e4f812823
s3:registry: improve logic of upgrade code in regdb_init()
...
Don't overwrite unknown versions (0 or > 2) of the registry.
2010-06-25 17:35:42 +02:00
Michael Adam
3703b79b11
s3:registry: fix some debug messages in regdb_ini()
2010-06-25 17:35:42 +02:00
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
2a0340baa3
s3:registry: remove unused function normalize_dbkey()
2010-06-24 15:36:21 +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
Günther Deschner
84a8f0451d
s3-build: only include generated spoolss headers (not ndr headers).
...
Guenther
2010-06-03 11:00:27 +02:00
Günther Deschner
f9f8007361
s3-build: only use ndr_security.h where needed.
...
Guenther
2010-05-31 11:32:37 +02:00
Michael Adam
af2cbaa700
s3:registry: add C for substantial changes to reg_objects
2010-05-25 10:53:17 +02:00
Michael Adam
80293b8067
s3:registry:reg_objects: Remove use of uint{8,16,32} in favour of C99 types
2010-05-25 10:35:32 +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
75e691ae6b
s3:registry: hide definition of regval_ctr and regval_blob in reg_objects.c
2010-05-25 10:35:31 +02:00
Michael Adam
5fbf935ffc
s3:registry: use regval_ctr/blob accessor functoin in reg_eventlog.c
2010-05-25 10:35:29 +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
0d20053f10
s3:registry: use regval_ctr/blob accessor functions in reg_api.c
2010-05-25 10:35:28 +02:00
Michael Adam
987514d98d
s3:registry:reg_objects: add regval_ctr_set_seqnum()
2010-05-25 10:35:28 +02:00
Michael Adam
6b331321e3
s3:registry:reg_objects: add regval_ctr_get_seqnum()
2010-05-25 10:35:28 +02:00
Michael Adam
e0d5bccfd3
s3:registry:reg_objects: add regval_ctr_init()
2010-05-25 10:35:28 +02:00
Michael Adam
97846edfa5
s3:registry: move definition of registry_hook to reg_init_full.c - it's only user
2010-05-25 10:35:27 +02:00
Michael Adam
e829b42978
s3:registry: extract registry_pull/push_value prototypes into own header
...
reg_util_marshalling.h and use them only where needed.
2010-05-25 10:35:27 +02:00
Michael Adam
36b74e03cf
s3:registry: rename lib/util_reg_api.c to registry/reg_util_marshalling.c
2010-05-25 10:35:27 +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
f3053739b7
s3:registry: move prototype registry_create_admin_token() to new header reg_util_token.h
...
and use it only where necessary.
2010-05-25 10:35:26 +02:00
Michael Adam
e3f7fab668
s3:registry: move registry_create_admin_token() to new reg_util_token.c
2010-05-25 10:35:26 +02:00
Michael Adam
847a19df94
s3:registry: extract reg_eventlog prototypes to header of their own
...
and use them only where needed.
2010-05-25 10:35:26 +02:00
Michael Adam
5a92d88f38
s3:registry: extract reg_perfcount prototypes into header of their own.
...
And use them only when necessary.
2010-05-25 10:35:26 +02:00
Michael Adam
b94267aa3f
s3:registry: extraxt the reg_dispatcher prototypes into their own header.
...
And use them only where needed.
2010-05-25 10:35:26 +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
70a81796fc
s3:registry: fix regval_ctr_addvalue() to take data as uint8 *, not char *.
2010-05-25 10:35:25 +02:00
Michael Adam
f7f9ce30ca
s3:registry: fix data_p arg of regval_compose to be 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
Michael Adam
a4efda959a
s3:registry: extract the reg_util_legacy prototypes into their own header.
...
And use them only where necessary.
2010-05-25 10:35:24 +02:00
Michael Adam
14a025062e
s3:registry: extract the reg_cachehook prototypes into their own header.
...
And use them only where necessary.
2010-05-25 10:35:24 +02:00
Michael Adam
d59d9dfb90
s3:registry: add C to reg_cachehook, confessing considerable changes in 2008
2010-05-25 10:35:23 +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
d4474ba470
s3-secdesc: use SD_REVISION from security.idl.
...
Guenther
2010-05-18 12:52:18 +02:00
Günther Deschner
7f6bb48bdf
s3-secdesc: remove "typedef struct security_descriptor SEC_DESC".
...
Guenther
2010-05-18 12:30:12 +02:00
Günther Deschner
8951c8301a
s3-secdesc: remove "typedef struct security_acl SEC_ACL".
...
Guenther
2010-05-18 12:30:12 +02:00
Günther Deschner
a8b01d1f3b
s3-secdesc: remove "typedef struct security_ace SEC_ACE".
...
Guenther
2010-05-18 12:30:11 +02:00
Jelmer Vernooij
b8268cf7b0
s3: Remove use of iconv_convenience.
2010-05-18 11:45:31 +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
Günther Deschner
c6ebab846d
s3: only include gen_ndr headers where needed.
...
This shrinks include/includes.h.gch by the size of 7 MB and reduces build time
as follows:
ccache build w/o patch
real 4m21.529s
ccache build with patch
real 3m6.402s
pch build w/o patch
real 4m26.318s
pch build with patch
real 3m6.932s
Guenther
2010-05-06 00:22:59 +02:00
Günther Deschner
7532640a74
s3-spoolss: publish "Monitor" in winreg for drivers.
...
Found by torture test.
Guenther
2010-04-27 17:56:48 +02:00
Günther Deschner
70ec7e0700
s3-spoolss: fix winreg attribute for storing datatype.
...
Found by torture test (and checked with w2k, w2k3 and w2k8).
Guenther
2010-04-27 17:56:47 +02:00
Günther Deschner
63b111bd32
s3: add iconv_convenience handle to pull/push sz helpers.
...
Guenther
2010-04-09 18:33:45 +02:00
Günther Deschner
84f3eeeca3
s3-registry: fix fill_in_printer_values() for datatype and printprocessor.
...
It is wise and good to enforce RAW and winprint, but we need to be consistent
with spoolss (and enforce it there).
Found by torture test.
Guenther
2010-04-08 16:21:40 +02:00
Günther Deschner
b4d09134fd
s3-registry: make sure root has full registry access (in particular for make test).
...
Guenther
2010-03-16 15:13:52 +01:00
Michael Adam
9a825dc770
s3:registry-legacy: use talloc_stackframe() instead of NULL in regkey_open_internal()
...
Michael
2010-03-16 00:12:25 +01:00
Andrew Tridgell
7cff685c7e
s3: convert registry and printing code to TYPESAFE_QSORT()
2010-02-14 18:44:21 +11:00
Volker Lendecke
613777e6dc
s3: Remove unused comparison fn from "struct sorted_tree"
2010-02-13 13:26:11 +01:00
Volker Lendecke
2260732084
s3: SORTED_TREE -> struct sorted_tree
2010-02-13 13:26:11 +01: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
Andrew Tridgell
aa52a0925d
s3-registry: update to use new DLIST macros
...
(cherry picked from commit 3437713ad7e5bccafde30553a8232119fd2a9eb9)
2010-02-10 15:42:00 -08:00
Volker Lendecke
1b4a3cc3f4
s3: Fix some DEBUG statements
2010-02-07 20:56:09 +01:00
Volker Lendecke
ff2d7d9b82
s3: Fix some comments
2010-02-07 12:29:25 +01:00
Volker Lendecke
5552b44960
s3: Fix some nonempty blank lines
2010-02-07 12:29:25 +01:00
Karolin Seeger
9ce9fdd9f4
s3/registry: Fix typo in comment.
...
Karolin
2010-01-25 19:50:21 +01:00
Volker Lendecke
9acbed13e8
s3: Fix some nonempty blank lines
2010-01-22 13:34:25 +01:00
Volker Lendecke
ee4a3606e6
s3: Fix a typo in a comment
2010-01-22 13:34:25 +01:00
Günther Deschner
35c50dcce3
s3-spoolss: use driver level info8 everywhere in spoolss server internally.
...
Guenther
2009-12-08 11:05:21 +01:00
Volker Lendecke
77fb5e19d8
s3: "regf_hbin_allocate" only looks at the size
2009-11-29 11:22:04 +01:00
Volker Lendecke
d5e5d09d73
s3: "read_block" only looks at the size
2009-11-29 11:22:04 +01:00
Volker Lendecke
13e70058c0
s3: "write_block" does not use the sbuf at all
2009-11-29 11:22:04 +01:00
Volker Lendecke
44ce5603dd
s3: Pass the "fake dir create times" parameter to sys_*stat
...
Step 0 to restore it as a per-share paramter
2009-11-29 11:22:01 +01:00
Günther Deschner
ec56895bde
s3-printing: use spoolss types and structs while getting and deleting drivers.
...
Guenther
2009-11-23 12:19:11 +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
e80891db41
s3-perfcount: more cleanup.
...
Guenther
2009-10-01 12:19:48 +02:00
Günther Deschner
25ab8828a1
s3-perfcount: only pass down prs_struct when really required.
...
Guenther
2009-10-01 12:19:48 +02:00
Günther Deschner
cd82d4ba56
s3: add perfcount idl and generated files.
...
Guenther
2009-10-01 12:19:43 +02:00
Günther Deschner
347eb9b970
s3-printing: more use of pull_reg_sz().
...
Guenther
2009-10-01 11:40:31 +02:00
Günther Deschner
ad836c4d48
s3-registry: use pull_reg_sz() where appropriate.
...
(and move away from rpcstr_pull and rpcstr_pull_talloc).
Guenther
2009-10-01 11:40:30 +02:00
Günther Deschner
05e8e90976
s3-registry: add regval_ctr_addvalue_multi_sz.
...
Guenther
2009-09-30 16:23:33 +02:00
Günther Deschner
26e798da19
s3: remove unused regval_convert_multi_sz().
...
Guenther
2009-09-30 00:34:01 +02:00
Günther Deschner
2ccf75d9a9
s3: remove unused regval_build_multi_sz().
...
Guenther
2009-09-30 00:33:54 +02:00
Günther Deschner
661342ee2f
s3-registry: use pull_reg_multi_sz().
...
Guenther
2009-09-30 00:30:59 +02:00
Günther Deschner
2d6e5e160b
s3: use push_reg_multi_sz().
...
Guenther
2009-09-30 00:30:25 +02: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
a50cc61ee6
s3-registry: add regval_ctr_addvalue_sz.
...
Guenther
2009-09-30 00:29:56 +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
92df5e4a02
s3:registry: add function regsubkey_ctr_reinit()
...
This reinitializes an already allocated regsubkey_ctr structure,
emptying out the subkey array and hash table.
Michael
2009-07-15 14:01:57 +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
d554c0d7a9
s3:registry: don't store differently cased entries for the same keys.
...
This happened for instance during registry initialization, when
entries for HKLM\Software and HKLM\SOFTWARE were created.
Searching these entries was case insensitive though.
But the entries ended up in the subkey-lists anyways.
This is solved by making the subkeys_hash in the regsubkey_container
structs case insensitive (using the new _bystring_upper() wrappers).
Michael
2009-07-15 14:01:40 +02:00
Günther Deschner
9f15ef11bd
s3-account_policy: add pdb_policy_type enum.
...
Guenther
2009-07-14 12:12:18 +02:00
Volker Lendecke
49ca690b4b
Introduce "struct stat_ex" as a replacement for SMB_STRUCT_STAT
...
This patch introduces
struct stat_ex {
dev_t st_ex_dev;
ino_t st_ex_ino;
mode_t st_ex_mode;
nlink_t st_ex_nlink;
uid_t st_ex_uid;
gid_t st_ex_gid;
dev_t st_ex_rdev;
off_t st_ex_size;
struct timespec st_ex_atime;
struct timespec st_ex_mtime;
struct timespec st_ex_ctime;
struct timespec st_ex_btime; /* birthtime */
blksize_t st_ex_blksize;
blkcnt_t st_ex_blocks;
};
typedef struct stat_ex SMB_STRUCT_STAT;
It is really large because due to the friendly libc headers playing macro
tricks with fields like st_ino, so I renamed them to st_ex_xxx.
Why this change? To support birthtime, we already have quite a few #ifdef's at
places where it does not really belong. With a stat struct that we control, we
can consolidate the nanosecond timestamps and the birthtime deep in the VFS
stat calls.
At this moment it is triggered by a request to support the birthtime field for
GPFS. GPFS does not extend the system level struct stat, but instead has a
separate call that gets us the additional information beyond posix. Without
being able to do that within the VFS stat calls, that support would have to be
scattered around the main smbd code.
It will very likely break all the onefs modules, but I think the changes will
be reasonably easy to do.
2009-05-26 17:48:23 +02:00
Günther Deschner
7ac1ae8d1c
s3-printing: fix debug statement in virtual registry layer
...
(key_driver_fetch_keys).
Guenther
2009-05-06 10:20:52 +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
c9b1734419
s3:registry replace typedef REGISTRY_HOOK by struct registry_hook.
...
Michael
2009-04-27 11:21:04 +02:00
Michael Adam
cec8428747
s3:registry: replace typedef REGISTRY_KEY by struct registry_key_handle
...
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
Jelmer Vernooij
f4195183a4
s3: Use common security_descriptor_equal().
2009-04-21 18:17:40 +02:00
Günther Deschner
38264bb3b8
s3-secdesc: move all winreg access bits to IDL.
...
Guenther
2009-04-21 12:42:51 +02:00
Michael Adam
8c023fea86
s3:registry: Prevent creation of keys containing the '/' character.
...
This creates a broken registry that can only be fixed with
tdbtool, since the '/' sign is used as a key separator after
normalization at a lower level.
This makes e.g. "net conf setparm abc/def comment xyz" fail with
WERR_INVALID_PARAM, which is much more desirable than a broken
registry.tdb.
Michael
2009-04-17 11:46:14 +02:00
Günther Deschner
8000479d18
s3-registry: remove last sec_io_desc() caller.
...
This is a temporary solution while waiting for the regf merge from s4.
Guenther
2009-03-25 22:50:40 +01:00
Günther Deschner
6549408a4d
s3-spoolss: rename construct_dev_mode_new to construct_dev_mode.
...
Guenther
2009-03-17 18:39:43 +01:00
Günther Deschner
827ba0a64b
s3-spoolss/registry: use libndr to push a spoolss_DeviceMode in fill_in_printer_values().
...
Guenther
2009-03-17 18:39:36 +01:00
Günther Deschner
96998f0358
s3-spoolss/registry: use marshall_sec_desc in fill_in_printer_values().
...
Guenther
2009-03-17 18:39:29 +01:00
Günther Deschner
d759f9961a
s3-spoolss: move SYSTEMTIME parsing to a more generic place, as suggested.
...
Guenther
2009-03-17 18:39:23 +01:00
Volker Lendecke
62db0ea0cf
Use talloc_tos() in regkey_access_check()
2009-02-27 11:20:17 +01:00
Michael Adam
2f4b821320
s3:registry: tighten the subkey loop in reg_deletekey_recursive()
...
and loop from the end to the beginning so that we don't need
to rehash the subkeys...
This gets "net conf drop" with 2000 shares down to 14 seconds
on my box.
Michael
2009-02-26 13:22:56 +01:00
Michael Adam
270ab5544b
s3:registry: use delete_reg_subkey() in reg_deletekey()
...
This further speeds up net conf drop.
Michael
2009-02-26 13:22:55 +01:00
Michael Adam
ae8c584218
s3:registry: implement delete_subkey in the smbconf backend
...
delegating the call to the db backend
Michael
2009-02-26 13:22:55 +01:00
Michael Adam
b5fbe06d74
s3:registry: implement delete_subkey in the db backend
...
Michael
2009-02-26 13:22:55 +01:00
Michael Adam
97508eefb7
s3:registry: add a delete_subkey method to the backend ops.
...
This is to provide a more atomic means of deleting a subkey of a key.
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
741e902888
s3:registry: streamline reg_deletekey() somewhat.
...
use W_ERROR_... macros and separate assignments from checks
Michael
2009-02-26 13:22:55 +01:00
Michael Adam
4b444e4ac4
s3:registry: use create_reg_subkey() in reg_createkey().
...
Instead of calling store_reg_keys()
On my box, importing 2000 shares into an empty smbconf key
now takes some 32 seconds.
Michael
2009-02-26 13:22:55 +01:00
Michael Adam
d73dafb5fe
s3:registry: implement create_subkey for the smbconf backend
...
by delegating to the db backend
Michael
2009-02-26 13:22:54 +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
602bfeb360
s3:registry: add a create_subkey method to the backend ops.
...
This is to provide a more atomic means of adding a subkey of a key.
Michael
2009-02-26 13:22:54 +01:00
Michael Adam
0b22f8b99c
s3:registry: hash the list of subkeys in the regsubkey_ctr
...
This removes many loops over all the arrays
(from regsubkey_ctr_key_exists) and thus
reduces "net conf drop" from 1m55 to 48seconds
and "net conf import" from 1m55 to 58 seconds
for 2000 shares on my box.
Michael
2009-02-26 13:22:54 +01:00
Michael Adam
149d94dd8f
s3:registry: remove definition of regsubkey_ctr from the surface.
...
All access is now through accessor functions in reg_objects.c
This allows for performance tuning under the hood in the next step.
Michael
2009-02-26 13:22:53 +01:00
Michael Adam
1ce0035abb
s3:registry: use regsubkey_ctr_init() in reg_eventlog.c
...
Michael
2009-02-26 13:22:53 +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
ea2b74090d
s3:registry: use regsubkey_ctr_init() in reg_api.c
...
instead of using talloc on struct regsubkey_ctr.
Michael
2009-02-26 13:22:52 +01:00
Michael Adam
cd8bfd3a84
s3:registry: add regsubkey_ctr_get_seqnum() to hide implementation
...
Michael
2009-02-26 13:22:52 +01:00
Michael Adam
63ed47c9e4
s3:registry: add regsubkey_ctr_set_seqnum to hide implementation from caller.
...
Michael
2009-02-26 13:22:52 +01:00
Michael Adam
763f41f39c
s3:registry: add a regsubkey_ctr_init function for allocating a regsubkey_ctr
...
Michael
2009-02-26 13:22:51 +01:00
Michael Adam
060abd7e38
s3:registry: fix a comment
...
Michael
2009-02-26 13:22:51 +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
8c1e4034fe
s3:registry: don't directly access key->subkeys->subkeys[] in reg_api.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
e05b7a8627
s3:registry: don't directly access key->subkeys->num_subkeys in reg_api.c
...
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
9f97674ef7
s3:registry: wrap deletekey_recursive in one big transaction.
...
This speeds up "net conf drop" with 2000 shares on my box from
4m40s to 1m50s, leaving virtually only cpu load.
Michael
2009-02-26 11:05:23 +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
0b62cdbed0
Quieten down a boatload of shadowed variable warnings on Solaris.
...
Makes real problems easier to spot.
Jeremy.
2009-02-23 15:03:29 -08: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
Volker Lendecke
b222de4eb3
Remove a pointless NULL check
2009-02-14 22:01:03 +01:00
Volker Lendecke
4e34c0ceca
Fix some nonempty blank lines
2009-02-14 22:01:03 +01:00
Michael Adam
57a290e942
s3:registry: always provision the registry, not only in smbd.
...
This will make tools like "net registry" also fill the registry
with the basic hives and keys.
Michael
2009-01-28 12:06:26 +01:00
Jelmer Vernooij
08259c1c52
Add iconv_convenience argument to size functions.
2009-01-01 04:45:33 +01:00
Jelmer Vernooij
ddcab787c4
Rename dos_errstr() to win_errstr() for consistency with Samba 4.
2008-11-01 17:19:26 +01:00
Jeremy Allison
8344e94574
Unify se_access_check with the S4 code. Will make
...
calculation of SEC_FLAG_MAXIMUM_ALLOWED much easier
for files.
Jeremy.
2008-10-31 10:51:45 -07:00
Jelmer Vernooij
2d89b52be8
Use separate make variables for libutil and libcrypto.
2008-10-18 14:28:40 +02:00
Jelmer Vernooij
4746f79d50
Use {u,}int64_t instead of SMB_BIG_{U,}INT.
2008-10-14 01:59:36 +02:00
Jeremy Allison
e5692d4cbe
Remove SEC_ACCESS. It's a uint32_t.
...
Jeremy.
2008-10-09 09:49:03 -07: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
f5cbbb5c02
registry: make normalize_reg_path() strip leading and trailing '/' chars.
...
Michael
(This used to be commit 04762cfcdb
)
2008-05-08 18:29:08 +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
282c9ff8ae
registry: honour the WERROR that regsubkey_ctr_addkey gives us in reg_load_tree.
...
Michael
(This used to be commit c2d9baa29e
)
2008-04-13 15:45:33 +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
a9ff941f41
registry: rename init_registry() to registry_init_full() for consistency.
...
Michael
(This used to be commit 14d82708d4
)
2008-04-13 15:33:48 +02:00
Michael Adam
281e610ff3
registry: change init_registry() to return WERROR instead of bool.
...
Michael
(This used to be commit 0b196095db
)
2008-04-13 15:33:48 +02:00
Michael Adam
6c66d5d019
registry: change registry_init_smbconf() to return WERROR instead of bool
...
Michael
(This used to be commit 7c343c6057
)
2008-04-13 15:33:48 +02:00
Michael Adam
4ae2e8c7ba
registry: refactor common part of registry initialization out.
...
into a new function registry_init_common().
Michael
(This used to be commit 5da52b95ac
)
2008-04-13 15:33:48 +02:00
Michael Adam
3f01e05a77
registry: change registry_init_basic() to return WERROR instead of bool
...
Michael
(This used to be commit 6a31e659cb
)
2008-04-13 15:33:48 +02:00
Michael Adam
80b6d7b1d6
registry: change reghook_cache_add() to return WERROR instead of bool
...
Michael
(This used to be commit e65a999989
)
2008-04-13 15:33:48 +02:00
Michael Adam
5166d562ea
registry cachehook: change helper function keyname_to_path() to return WERROR.
...
Michael
(This used to be commit 78bb005ee4
)
2008-04-13 15:33:47 +02:00
Michael Adam
01f4bd4f4d
adt_tree: change pathtree_add to return WERR instead of bool.
...
Michael
(This used to be commit da45fb92f6
)
2008-04-13 15:33:47 +02:00
Michael Adam
84c5da2ff4
registry cachehook: revert logic to make fast path more obvious and reduce indent.
...
Michael
(This used to be commit e97d558c56
)
2008-04-13 15:33:47 +02:00
Michael Adam
4b4306eb4a
registry: change reghook_cache_init() to return WERROR and use it in the callers.
...
Michael
(This used to be commit 2f4ca62dce
)
2008-04-13 15:33:47 +02:00
Michael Adam
2ffe46e24d
registry cachehook: compare cache_tree against NULL, not 0.
...
Michael
(This used to be commit 4bfc0be55f
)
2008-04-13 15:33:47 +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
cb624c4057
registry: unify debug output in the registry init functions.
...
Michael
(This used to be commit 4fd9b45ffc
)
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
Michael Adam
bcb19766d6
registry: make registry_init_smbconf() hook the registry ops onto given key.
...
This still defaults to HKLM\Software\Samba\smbconf, but is interchangeable now.
This allows us to open the libsmbconf registry backend on different registry keys.
Michael
(This used to be commit 8fe1a2f567
)
2008-04-13 15:33:47 +02:00
Michael Adam
b5a75ec402
registry cachehook: add talloc failed debug messages.
...
Michael
(This used to be commit 9841ee7fd4
)
2008-04-13 01:47:16 +02:00
Michael Adam
a721f0a729
registry cachehook: eliminate a couple trailing spaces (empty lines).
...
Michael
(This used to be commit c9f01aee37
)
2008-04-13 01:44:57 +02:00
Michael Adam
0fa8845fa0
registry cachehook: fix memleak (to talloc_tos()): free key at the end.
...
Michael
(This used to be commit 3f5955d361
)
2008-04-13 01:43:43 +02:00
Michael Adam
227904434a
registry cachehook: refactor normalization of keyname out.
...
Michael
(This used to be commit acb9c98dff
)
2008-04-13 01:43:42 +02:00
Michael Adam
bbca983507
registry: adapt copied function header comments.
...
Michael
(This used to be commit 2e762be0db
)
2008-04-13 01:43:42 +02:00
Michael Adam
413c2e9b0a
registry: remove the REGISTRY_HOOKS layer from the reghook cache.
...
There is no need to save the keyname again, we only need to
get the REGISTRY_OPS out of the pathtree.
Furthermore, this makes life easier, since we can now pass
in keynames as temporarily allocated strings.
Michael
(This used to be commit 2f9ee2f782
)
2008-04-13 01:43:42 +02:00
Michael Adam
c890aef164
registry: move normalize_dbkey() from lib/util_reg.c to registry/reg_util.c
...
This function is only used inside registry code.
Michael
(This used to be commit 48745e3fbd
)
2008-04-12 02:41:20 +02:00
Michael Adam
2830626877
registry: remove parameter checks from smbconf backend: they are in libsmbconf.
...
Michael
(This used to be commit 118cf38133
)
2008-04-03 15:43:04 +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
0bf8ba9f26
registry: reg_deletevalue should return error, when the value does not exist.
...
Michael
(This used to be commit 04b48984bb
)
2008-03-31 17:22:02 +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
Volker Lendecke
fac2d8546b
Fix Coverity ID 471
...
(This used to be commit d3b6df67fe
)
2008-03-23 18:28:24 +01:00
Volker Lendecke
2e2f1d57b1
Fix Coverity ID 477
...
(This used to be commit f17b1b0fc6
)
2008-03-23 18:28:24 +01:00
Volker Lendecke
988cffe9ca
Fix Coverity ID 478
...
(This used to be commit 5f77938dc4
)
2008-03-23 18:28:23 +01:00
Michael Adam
178c430821
registry: add reg_init_basic() - init registry with only the db backend.
...
Michael
(This used to be commit 1831042bdc
)
2008-03-22 02:05:53 +01:00
Michael Adam
4825cef8bc
registry: close registry in exit path in registry_init_smbconf().
...
Michael
(This used to be commit 5aa3141bff
)
2008-03-22 01:54:18 +01:00
Michael Adam
b8a949b566
registry: some whitespace cleanup in init_registry().
...
Michael
(This used to be commit f33095e44b
)
2008-03-22 01:53:44 +01:00
Michael Adam
88d46f4ea4
registry: remove unneeded talloc stackframe variable.
...
Michael
(This used to be commit 81993db828
)
2008-03-22 01:52:03 +01:00