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