Age | Commit message (Collapse) | Author | Files | Lines |
|
If restoring a backup fails due to lack of space, remove the
corrupt tdb previously moved away to "name.corrupt", and retry.
If restoring still fails, move the backup in place instead of
copying it.
Michael
(This used to be commit f81f2bf480a955213be8461636ee6f81643f17b8)
|
|
(This used to be commit 909172839a512b60db075fb1a7488345a2e48eb0)
|
|
Michael
(This used to be commit efabd7fe03733d1fcb02d0d270c18ede7836f3a9)
|
|
- call tdb_validate on the given tdb.
- if validation is successful, create a backup
return 0 (success) even if the backup fails.
- if validation fails:
- move tdb to name.corrupt (don't exit if this fails)
- look for a valid backup
- if a valid backup is found, restore it, else return -1 (failure)
if restoring succeeds, return 0 (success), else -1 (failure)
Summing up:
If 0 is returned, there is a valid tdb at the given location:
either the original one ore one restrored from a backup.
If -1 is returned, there is no valid tdb at the given location:
Either there is no file at all, or the original file is still
in place (if moving it away failed).
Michael
(This used to be commit 1c36ccd86d85b02f27ec66d37bdf7f04ad760901)
|
|
(This used to be commit 6bd2c48921dd8dbf2885a8135ba01a1324e020c8)
|
|
functions did not do so but returned an error. (This is the case when
error occurred deeper than at the level of the content checking done by
the per entry validate_fn.)
Michael
(This used to be commit e56be59947a29d0a5692f3f3bc6c089dd8b4b5d9)
|
|
This is a wrapper around tdb_validate, that does backup handling:
* if the given tdb is valid, a backup is created (name.bak)
* if the tdb is invalid, if a valid bakup is found (validated
with the same validation function) under the name "name.bak"
the orignal tdb is moved to name.corrupt and the backup
is restored.
For the backup handling, a variant of the backup_tdb function
from lib/tdb/tools/tdbbackup.c is included in lib/util_tdb.c.
The copy function for the traverse action eliminates the need
to maintain a global success state by using a struct wrapping
the target tdb and a success flag as the private data.
Michael
(This used to be commit ca63a99b6188c0976603dc2852e478cc7a6b2f8b)
|
|
at a lower debug level.
Michael
(This used to be commit b636f8cdad72a9a9bc1d302d8d681dca2da6105a)
|
|
amount as in source code formatting...)
Michael
(This used to be commit 9794b94ebf79686da2e1b3ae343953581e3459a1)
|
|
from the validating child process down to the parent though the
pipe. All the parent evaluates is the overall success, so the exit
status should do.
Michael
(This used to be commit 9415ea0fde2ff0c801d043ce77b778fceedb6592)
|
|
(This used to be commit ef40ef67649c8793921619c128e2923e20aa68da)
|
|
(This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
|
|
Jeremy.
(This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
|
|
to the caller (winbindd_validate_cache in this case).
Next, there will be a backup handling for the tdb files.
Michael
(This used to be commit 821bc84109625c9d85edee38fa26d16f9f0a0fe2)
|
|
Michael
(This used to be commit b68856d9902f41079224ba11c7d0ab811b082201)
|
|
Michael
(This used to be commit d4accdbb5285216d532f57f545a846734a2fe774)
|
|
back to winbindd_cache.c. The generic mechanism
should open the cache tdb readonly and with default
flags.
Michael
(This used to be commit 062d8c61294a1e9f8588fa8af31954dd286c7bde)
|
|
code into a generic tdb validation code.
In lib/util_tdb.c for a start.
Michael
(This used to be commit 527edfa0cbcb233218ebabc395666d1d7228ee37)
|
|
failed expression in SMB_ASSERT.
(This used to be commit 171dc060e2a576d724eed1ca65636bdafffd7713)
|
|
this in your tree.
(This used to be commit c0f40eb5846f617d9c421136b0e1ea593c8d8458)
|
|
(This used to be commit 02beae81c8ecef7cfe300a29852d74813c9409bf)
|
|
and fix all compiler warnings in the users
metze
(This used to be commit 3a28443079c141a6ce8182c65b56ca210e34f37f)
|
|
metze
(This used to be commit d03094708378bde088bf6e90efe54deb83d3952e)
|
|
from a string
(the current string_tdb_data() creates a non-terminates tdb key from a string!)
- pass TDB_DATA instead of const char *, size_t len to some functions
metze
(This used to be commit 815ef8acdc7f89d30f3fd1812b12bd0e2dc62473)
|
|
(This used to be commit a2e27c443101a59ef3429a55e049af3ebd5ec1f2)
|
|
messaging wrapper
and tdb_wrap_open.
Volker
(This used to be commit c01f164dcaf88fb7f3bed8f69b210ba8fab326d1)
|
|
(This used to be commit 5ec737922041b723b9e60c08049ace5fa2fa5dec)
|
|
(This used to be commit c73d0815a3a1f58b951caa62fac601a8f4630894)
|
|
see discussion on samba-technical
(This used to be commit 1ad563286f00be0d72930b81b10cb74f13c5fbff)
|