summaryrefslogtreecommitdiff
path: root/source3/registry
AgeCommit message (Collapse)AuthorFilesLines
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
2009-02-26s3:registry: use regsubkey_ctr_init() in reg_eventlog.cMichael Adam1-4/+10
Michael
2009-02-26s3:registry: use regsubkey_ctr_get_seqnum() in reg_backend_db.cMichael Adam1-1/+1
Michael
2009-02-26s3:registry: use regsubkey_ctr_set_seqnum() in reg_backend_db.cMichael Adam1-1/+4
Michael
2009-02-26s3:registry: use regsubkey_ctr_init() in reg_backend_db.cMichael Adam1-8/+14
instead of using talloc directly. Michael
2009-02-26s3:registry: use regsubkey_ctr_init() in reg_api.cMichael Adam1-13/+10
instead of using talloc on struct regsubkey_ctr. Michael
2009-02-26s3:registry: add regsubkey_ctr_get_seqnum() to hide implementationMichael Adam1-0/+9
Michael
2009-02-26s3:registry: add regsubkey_ctr_set_seqnum to hide implementation from caller.Michael Adam1-0/+11
Michael
2009-02-26s3:registry: add a regsubkey_ctr_init function for allocating a regsubkey_ctrMichael Adam1-1/+15
Michael
2009-02-26s3:registry: fix a commentMichael Adam1-3/+3
Michael
2009-02-26s3:registry: don't directly access key->subkeys->subkeys[] in reg_backend_db.cMichael Adam1-3/+5
Use the reg_objects accessor regsubkey_ctr_specific_key() instead. Michael
2009-02-26s3:registry: don't directly access key->subkeys->subkeys[] in reg_api.cMichael Adam1-2/+5
Use the reg_objects accessor regsubkey_ctr_specific_key() instead. Michael
2009-02-26s3:registry: don't directly access key->subkeys->num_subkeys in reg_backend_db.Michael Adam1-12/+16
Use the reg_objects api instead. Michael
2009-02-26s3:registry: don't directly access key->subkeys->num_subkeys in reg_api.cMichael Adam1-5/+5
Use the reg_objects api instead. Michael
2009-02-26s3:registry: replace typedef "REGSUBKEY_CTR" by "struct regsubkey_ctr"Michael Adam15-56/+56
This paves the way for hiding the typedef and the implementation from the surface. Michael
2009-02-26Revert "Fix a O(n^2) algorithm in regdb_fetch_keys()"Michael Adam1-27/+5
This reverts commit a13f065bad0f4d21a67e68b743f17f45bf0a4691. 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-26s3:registry: wrap deletekey_recursive in one big transaction.Michael Adam1-2/+38
This speeds up "net conf drop" with 2000 shares on my box from 4m40s to 1m50s, leaving virtually only cpu load. Michael
2009-02-26s3:registry: provide transaction_start|commit|cancel fns for the registry tdbMichael Adam1-0/+18
Michael
2009-02-26Wrap creating the sorted subkey cache in a transactionVolker Lendecke1-3/+31
Signed-off-by: Michael Adam <obnox@samba.org>
2009-02-26Add a comment describing the sorted subkeysVolker Lendecke1-0/+23
Signed-off-by: Michael Adam <obnox@samba.org>