summaryrefslogtreecommitdiff
path: root/source3/registry
AgeCommit message (Collapse)AuthorFilesLines
2009-07-15s3:registry: db backend: add my CMichael Adam1-0/+1
Michael
2009-07-15s3:registry: flush the provided subkey_ctr in regdb_fetch_keys_internal()Michael Adam1-0/+3
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-15s3:registry: add function regsubkey_ctr_reinit()Michael Adam1-0/+23
This reinitializes an already allocated regsubkey_ctr structure, emptying out the subkey array and hash table. Michael
2009-07-15s3:registry: turn regdb_fetch_keys_internal() from int to WERROR return typeMichael Adam1-32/+53
This way, more error information is propagated to the callers. Michael
2009-07-15s3:registry: use transaction wrapper in create_sorted_subkeys()Michael Adam1-48/+51
Michael
2009-07-15s3:registry: restructure logic of create_sorted_subkes() slightlyMichael Adam1-14/+19
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-15s3:registry: use transaction wrapper in regdb_delete_subkey().Michael Adam1-37/+49
Michael
2009-07-15s3:registry: add a comment header for the delete_subkey set of commands.Michael Adam1-0/+4
Michael
2009-07-15s3:registry: add a comment header for the create_subkey set of functionsMichael Adam1-0/+4
Michael
2009-07-15s3:registry: use transaction wrapper in regdb_create_subkey()Michael Adam1-31/+42
Michael
2009-07-15s3:registry: use transaction wrapper in regdb_store_keys_internal().Michael Adam1-96/+102
Michael
2009-07-15s3:registry: don't leak to talloc_stack in regdb_store_keys_internal2()Michael Adam1-2/+9
and catch one potential talloc failure. Michael
2009-07-15s3:registry: unify exit logic and remove leaking to talloc_stack in ↵Michael Adam1-10/+13
regdb_store_keys_internal() Michael
2009-07-15s3:registry: change regdb_store_keys_internal2() to return WERRORMichael Adam1-30/+41
instead of bool for better error propagation. Michael
2009-07-15s3:registry: refactor adding of builtin reg values outMichael Adam1-27/+27
into regdb_ctr_add_value(). For readability. Michael
2009-07-15s3:registry: use transaction wrapper in init_registry_data()Michael Adam1-72/+69
Michael
2009-07-15s3:registry: add regdb_store_values_internal() that takes a db_context argumentMichael Adam1-6/+15
Michael
2009-07-15s3:registry: add a regdb_fetch_values_internal() that takes a db_context ↵Michael Adam1-6/+18
argument Michael
2009-07-15s3:registry: use transaction wrapper in init_registry_key().Michael Adam1-23/+19
Michael
2009-07-15s3:registry: add db_context argument to init_registry_key_internal()Michael Adam1-5/+7
Michael
2009-07-15s3:registry: panic upon error at transaction_cancel in create_sorted_subkeysMichael Adam1-2/+2
Michael
2009-07-15s3:registry: fix a comment in create_sorted_subkeys()Michael Adam1-1/+1
Michael
2009-07-15s3:registry: don't loop transaction_commit in create_sorted_subkeys() upon errorMichael Adam1-1/+1
This would try to commit a higher level transaction upon commit-error. Michael
2009-07-15s3:registry: in regdb_delete_subkey(), don't use the transaction wrappers.Michael Adam1-9/+9
This way, the db handle gets used explicitly and the core of the function can be abstracted. Michael
2009-07-15s3:registry: in regdb_delete_subkey(), panic if transaction_cancel failsMichael Adam1-2/+1
Michael
2009-07-15s3:registry: panic upon failed transaction_cancel in regdb_create_subkey()Michael Adam1-2/+1
Michael
2009-07-15s3:registry: don't use exported transaction wrappers in regdb_create_subkey()Michael Adam1-10/+10
So that the regdb handle is again explicit and the core of the function can be abstracted. Michael
2009-07-15s3:registry: create regdb_store_keys_internal() with db_context argumentMichael Adam1-13/+21
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-15s3:registry: rename regdb_store_keys_internal() to regdb_store_keys_internal2()Michael Adam1-9/+9
Michael
2009-07-15s3:registry: create regdb_fetch_keys_internal() with db_context argumentMichael Adam1-27/+35
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-15s3:registry: add db_context argument to scan_parent_subkeys()Michael Adam1-6/+7
Michael
2009-07-15s3:registry: add db_context argument to regdb_fetch_key_internal()Michael Adam1-5/+6
Michael
2009-07-15s3:registry: add db_context argument to regdb_store_keys_internal()Michael Adam1-8/+10
Michael
2009-07-15s3:registry: add db_context argument to regdb_delete_key_lists()Michael Adam1-6/+6
Michael
2009-07-15s3:registry: add db_context argument to regdb_delete_subkeylist()Michael Adam1-3/+3
Michael
2009-07-15s3:registry: add db_context argument to regdb_delete_secdesc()Michael Adam1-3/+3
Michael
2009-07-15s3:registry: add db_context argument to regdb_delete_values()Michael Adam1-3/+3
Michael
2009-07-15s3:registry: add db_context argument to regdb_delete_key_with_prefix()Michael Adam1-5/+6
Michael
2009-07-15s3:registry: don't store differently cased entries for the same keys.Michael Adam1-3/+3
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-14s3-account_policy: add pdb_policy_type enum.Günther Deschner1-1/+1
Guenther
2009-05-26Introduce "struct stat_ex" as a replacement for SMB_STRUCT_STATVolker Lendecke1-2/+2
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-06s3-printing: fix debug statement in virtual registry layerGünther Deschner1-1/+1
(key_driver_fetch_keys). Guenther
2009-04-27s3:registry: replace typedef REGISTRY_OPS by struct registry_opsMichael Adam14-36/+36
Michael
2009-04-27s3:registry replace typedef REGISTRY_HOOK by struct registry_hook.Michael Adam1-3/+3
Michael
2009-04-27s3:registry: replace typedef REGISTRY_KEY by struct registry_key_handleMichael Adam3-25/+34
Michael
2009-04-27s3:registry: replace typedef REGISTRY_VALUE by struct regval_blobMichael Adam5-29/+33
Michael
2009-04-27s3:registry: replace typedef REGVAL_CTR by struct regval_ctr.Michael Adam15-59/+59
This paves the way for hiding the typedef and the implementation from the surface. Michael
2009-04-21s3: Use common security_descriptor_equal().Jelmer Vernooij1-1/+1
2009-04-21s3-secdesc: move all winreg access bits to IDL.Günther Deschner1-14/+14
Guenther
2009-04-17s3:registry: Prevent creation of keys containing the '/' character.Michael Adam1-0/+10
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