summaryrefslogtreecommitdiff
path: root/source3/registry
AgeCommit message (Collapse)AuthorFilesLines
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
2009-03-25s3-registry: remove last sec_io_desc() caller.Günther Deschner1-2/+24
This is a temporary solution while waiting for the regf merge from s4. Guenther
2009-03-17s3-spoolss: rename construct_dev_mode_new to construct_dev_mode.Günther Deschner1-1/+1
Guenther
2009-03-17s3-spoolss/registry: use libndr to push a spoolss_DeviceMode in ↵Günther Deschner1-22/+15
fill_in_printer_values(). Guenther
2009-03-17s3-spoolss/registry: use marshall_sec_desc in fill_in_printer_values().Günther Deschner1-7/+12
Guenther
2009-03-17s3-spoolss: move SYSTEMTIME parsing to a more generic place, as suggested.Günther Deschner1-1/+1
Guenther
2009-02-27Use talloc_tos() in regkey_access_check()Volker Lendecke1-13/+2
2009-02-26s3:registry: tighten the subkey loop in reg_deletekey_recursive()Michael Adam1-16/+13
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-26s3:registry: use delete_reg_subkey() in reg_deletekey()Michael Adam1-15/+1
This further speeds up net conf drop. Michael
2009-02-26s3:registry: implement delete_subkey in the smbconf backendMichael Adam1-0/+6
delegating the call to the db backend Michael
2009-02-26s3:registry: implement delete_subkey in the db backendMichael Adam1-0/+68
Michael
2009-02-26s3:registry: add a delete_subkey method to the backend ops.Michael Adam1-0/+9
This is to provide a more atomic means of deleting a subkey of a key. Michael
2009-02-26s3:registry: refactor deletion of various subkey lists out of regdb_store_keys()Michael Adam1-30/+31
Micheal
2009-02-26s3:registry: streamline and cleanup regdb_set_secdesc() somewhat.Michael Adam1-15/+5
Michael
2009-02-26s3:registry: refactor deletion of value/secdesc/subkey list tdb records outMichael Adam1-43/+73
of regdb_store_values(). Michael
2009-02-26s3:registry: streamline reg_deletekey() somewhat.Michael Adam1-25/+19
use W_ERROR_... macros and separate assignments from checks Michael
2009-02-26s3:registry: use create_reg_subkey() in reg_createkey().Michael Adam1-8/+2
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-26s3:registry: implement create_subkey for the smbconf backendMichael Adam1-0/+6
by delegating to the db backend Michael
2009-02-26s3:registry: implement create_subkey for the db backend.Michael Adam1-0/+67
Michael
2009-02-26s3:registry: add a create_subkey method to the backend ops.Michael Adam1-0/+9
This is to provide a more atomic means of adding a subkey of a key. Michael
2009-02-26s3:registry: hash the list of subkeys in the regsubkey_ctrMichael Adam2-26/+107
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-26s3:registry: remove definition of regsubkey_ctr from the surface.Michael Adam1-0/+6
All access is now through accessor functions in reg_objects.c This allows for performance tuning under the hood in the next step. Michael