Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
(This used to be commit f91a3e0f7b7737c1d0667cd961ea950e2b93e592)
|
|
Michael
(This used to be commit 103ce6c9e94ce74e616fe922f2584fd46ae1f3f8)
|
|
Higher level callers should take care of level 0 messages.
Michael
(This used to be commit b5829e04eaf2408858b34f53b849aaf8b969a925)
|
|
Higher level callers take care of level 0 messages or more drastic measures.
Michael
(This used to be commit 111d802b5c0dfdf556f736b6c53df74e077a6238)
|
|
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)
|
|
Don't ignore all errors from dbwrap_delete_bystring() but
only NT_STATUS_NOT_FOUND.
Michael
(This used to be commit d7ec9b2d52d1eddd98eba222f723fb6cdff4541f)
|
|
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)
|
|
Michael
(This used to be commit a01d8fe5e89ca9620d23198b11e5ae605a97e5a6)
|
|
Michael
(This used to be commit 3e89217e7edea5d7ec707de065d38b1921ed09af)
|
|
Next step in the plan to make store_keys safer without transactions.
Michael
(This used to be commit f7c8718dead63964481954a86427b8c05d15452c)
|
|
Michael
(This used to be commit 97592db08a109ffbea8c85b17686fa565c5cf8c9)
|
|
adding number (3) ....
Michael
(This used to be commit a03a17365d64f7fe83a9f2e866c4f069a1dd1682)
|
|
values.
Michael
(This used to be commit 986030cdda828f7f87c5464d1837324b7033e27e)
|
|
transactions
/*
* Make the store operation as safe as possible without transactions:
*
* (1) For each subkey removed from ctr compared with old_subkeys:
*
* (a) First delete the value db entry.
*
* (b) Next delete the secdesc db record.
*
* (c) Then delete the subkey list entry.
*
* (2) Now write the list of subkeys of the parent key,
* deleting removed entries and adding new ones.
*
* (3) Finally create the subkey list entries for the added keys.
*
* This way if we crash half-way in between deleting the subkeys
* and storing the parent's list of subkeys, no old data can pop up
* out of the blue when re-adding keys later on.
*/
The workflow is going to be modified to meet this agendain the next commits.
Michael
(This used to be commit 55dd9bdd148fc942e15aacfe9f6b38b1a5c53158)
|
|
proceeding.
Michael
(This used to be commit 52413c94fcc56c4055de4d35bea8a00646352122)
|
|
This partly duplicates code from regdb_key_exists(). Maybe refactor later.
Michael
(This used to be commit c27d03bba842ecf99f23b22dc40fa7df33392fa0)
|
|
Michael
(This used to be commit 347bab7f4aca7f26a88affea954a514c25735abf)
|
|
Michael
(This used to be commit 727e5a87c0ed3e0a2b9c2b508b1f81e6a6d26732)
|
|
Michael
(This used to be commit 8a2c9d965d332ccd290089b92e9cfbba2413067c)
|
|
Michael
(This used to be commit cf653e101d1b2c38b5e9de35732421a120213170)
|
|
This uses the new semantics for existence of a key.
Michael
(This used to be commit 56a58690d3ab2e01ed28388bd59424d3abc7a0d3)
|
|
Michael
(This used to be commit 978aef3a862065be856b36b38d72d581c3ac0ba1)
|
|
Existence of a key is defined as follows:
* If the key is a base key (without separator), the key exists
iff the corresponding entry exist in the registry tdb.
* If the key is not a base key, the key exists, iff it exists
in the list of subkeys of it's parent keyname's tdb entry.
Michael
(This used to be commit 477008367f0ac90624b4b751955cd3235b2c9cc6)
|
|
Michael
(This used to be commit 2b25f480ba13ae125d081bab55ee3cbd3c4f425a)
|
|
list talloc context first.
Michael
(This used to be commit 23d7002b22ddcd2c52650463f31b72449aecaaaa)
|
|
Michael
(This used to be commit 37dabf931727f00569725af0e34677d36bb7df99)
|
|
This is done by first checking if all data (keys and values) exists
(using new regdb_key_exists()) and kompletely skipping all writes if it does.
Michael
(This used to be commit 7c5f1583cb43d473544f161aa9c864e1d78944e5)
|
|
write.
Michael
(This used to be commit 3ab5a2f1b3cf37c380ff3e45a957e62a8017814a)
|
|
The existence of the registry key entry (and not the values entry!) is
taken as the criterion for existence.
Michael
(This used to be commit 207a0ece45d947608df3f764e6bd9b4525d41011)
|
|
Michael
(This used to be commit 3316541ac9f1441294405fdd98f0ffafdec8bc2f)
|
|
Michael
(This used to be commit 78f924ca05ecef9f586254c00908c1f12272c30c)
|
|
regdb_fetch_key_internal()
Michael
(This used to be commit 97bed9a23608248f1a590c99fe40564d2fbfa3cc)
|
|
regdb_fetch_keys().
the talloc_strdup() call is just and extra allocation here.
Michael
(This used to be commit 217233349b2d98d2506fcca47858373150e89924)
|
|
instead of handcrafting normalization.
Michael
(This used to be commit 1e4d2310d077c4d18470fd76f5ff9c010aadd3f0)
|
|
Michael
(This used to be commit 569f9844e9d35324cf9a3a3094cd9791918a1441)
|
|
instead of using regdb->fetch and constructing tdb data
from the registry key string by hand.
Michael
(This used to be commit 87a58140f0073dfb5b18fb43655b255aebafbd02)
|
|
Michael
(This used to be commit 7dd7471da7eca2671b4aa62e8790973e3ff14177)
|
|
Michael
(This used to be commit e0718f04a7392695eed6cd1bf888d3af1d5d6177)
|
|
Michael
(This used to be commit c312852abce72bc167abee8b29fc699c4a643ca7)
|
|
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit dead193f46c2b19955ab3e5ac5ba343694f4858a)
|
|
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit 5f4de856af1abe63b13059bbe1615cb5877770d0)
|
|
and return -1
metze
(This used to be commit 983fd58805a429792fc8eaa816e2dd908643414e)
|
|
metze
(This used to be commit c214107bd9bbf9b17936757437ec211d7de3048e)
|
|
This is the fixed version of commit 5c28c74aa06a82559f498373b3d6e9892d5c2cbe.
metze
(This used to be commit 924acd7f695d7514b1a4628468137cf632c8f1f0)
|
|
access"
This reverts commit 4e2be189e97f653b75bd88135a631ce0f42db267.
Metze, this broke the registry (reg_api layer), but I don't yet know
exactly how and why. By the way, the locks there had the purpose of
fetching the seqnum that really matches the data.
This needs some more thought / debugging. But I wanted to have
the tree in a working state again.
Michael
(This used to be commit 5c28c74aa06a82559f498373b3d6e9892d5c2cbe)
|
|
dbwrap_trans_[delete|store]()
Michael
(This used to be commit 7dcd0c1e539df9ff1768a9c878b6687b9e1bfeac)
|
|
Michael
(This used to be commit b6ceeaabae94b86fe79d6a60e497fb472ca23021)
|
|
metze
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit a77b5b91dd439b5965fef17f2b2ff98fefd77dbb)
|
|
metze
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit 093c3bced96c934419af69cc065a240368027dcf)
|