summaryrefslogtreecommitdiff
path: root/source3/registry
AgeCommit message (Collapse)AuthorFilesLines
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>
2009-02-26Add sorted subkey cacheVolker Lendecke1-19/+174
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-23Quieten down a boatload of shadowed variable warnings on Solaris.Jeremy Allison1-4/+4
Makes real problems easier to spot. Jeremy.
2009-02-19Fix printf type warning.Jeremy Allison1-2/+2
Jeremy.
2009-02-19Fix a O(n^2) algorithm in regdb_fetch_keys()Volker Lendecke1-5/+27
2009-02-19Fix a buffer handling bug when adding lots of registry keysVolker Lendecke1-9/+24
This is *ancient*... From 2002, and nobody noticed until someone added lots of shares using net conf... :-)
2009-02-14Remove a pointless NULL checkVolker Lendecke1-3/+0
2009-02-14Fix some nonempty blank linesVolker Lendecke1-22/+22
2009-01-28s3:registry: always provision the registry, not only in smbd.Michael Adam2-8/+8
This will make tools like "net registry" also fill the registry with the basic hives and keys. Michael
2009-01-01Add iconv_convenience argument to size functions.Jelmer Vernooij2-3/+3
2008-11-01Rename dos_errstr() to win_errstr() for consistency with Samba 4.Jelmer Vernooij4-6/+6
2008-10-31Unify se_access_check with the S4 code. Will makeJeremy Allison1-1/+2
calculation of SEC_FLAG_MAXIMUM_ALLOWED much easier for files. Jeremy.
2008-10-18Use separate make variables for libutil and libcrypto.Jelmer Vernooij1-1/+1
2008-10-14Use {u,}int64_t instead of SMB_BIG_{U,}INT.Jelmer Vernooij1-5/+5
2008-10-09Remove SEC_ACCESS. It's a uint32_t.Jeremy Allison1-7/+3
Jeremy.
2008-08-13first cut at adding full transactions for ctdb to samba3Andrew Tridgell1-3/+3
(This used to be commit f91a3e0f7b7737c1d0667cd961ea950e2b93e592)
2008-08-05registry: use _bystring wrappers to dbwrap_trans_(store|delete).Michael Adam1-6/+3
Michael (This used to be commit 103ce6c9e94ce74e616fe922f2584fd46ae1f3f8)
2008-07-15registry: bump debug level to 1 in regdb_init() if storing version string fails.Michael Adam1-1/+1
Higher level callers should take care of level 0 messages. Michael (This used to be commit b5829e04eaf2408858b34f53b849aaf8b969a925)
2008-07-15registry: bump debug level to 1 in regdb_init() if opening the registry fails.Michael Adam1-1/+1
Higher level callers take care of level 0 messages or more drastic measures. Michael (This used to be commit 111d802b5c0dfdf556f736b6c53df74e077a6238)
2008-07-09registry: fix logic in deleting subkeys record in regdb_fetch_keys().Michael Adam1-2/+6
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 75be2116ac2589aaf69038a4115197f40e4b16a5)
2008-07-09registry: improve logic for deleting value records in regdb_store_keys().Michael Adam1-2/+9
Don't ignore all errors from dbwrap_delete_bystring() but only NT_STATUS_NOT_FOUND. Michael (This used to be commit d7ec9b2d52d1eddd98eba222f723fb6cdff4541f)
2008-07-08registry: fetch regdb_fetch_keys() when a key exists but not its subkey-record.Michael Adam1-9/+10
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 f329aaf0452cc9bbad9fb6f67dac00bf8d1ef128)