summaryrefslogtreecommitdiff
path: root/source3/utils
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-09-27 05:46:07 -0700
committerJeremy Allison <jra@samba.org>2010-09-27 17:18:54 -0700
commitf98d217514433cd06887f8c0217a7835392f0375 (patch)
treec7bf61f24c3381c9f7996a0a19045d36af3f0783 /source3/utils
parent66761423474edc9736a8a6eae6feaaf958d89d0e (diff)
downloadsamba-f98d217514433cd06887f8c0217a7835392f0375.tar.gz
samba-f98d217514433cd06887f8c0217a7835392f0375.tar.bz2
samba-f98d217514433cd06887f8c0217a7835392f0375.zip
Change to using TDB_INCOMPATIBLE_HASH (the jenkins hash) on all
TDB_CLEAR_IF_FIRST tdb's. For tdb's like gencache where we open without CLEAR_IF_FIRST and then with CLEAR_IF_FIRST if corrupt this is still safe to use as if opening an existing tdb the new hash will be ignored - it's only used on creating a new tdb not opening an old one. Jeremy.
Diffstat (limited to 'source3/utils')
-rw-r--r--source3/utils/dbwrap_torture.c2
-rw-r--r--source3/utils/smbcontrol.c3
-rw-r--r--source3/utils/status.c2
3 files changed, 4 insertions, 3 deletions
diff --git a/source3/utils/dbwrap_torture.c b/source3/utils/dbwrap_torture.c
index 1fdad0eb29..2d9761bac4 100644
--- a/source3/utils/dbwrap_torture.c
+++ b/source3/utils/dbwrap_torture.c
@@ -302,7 +302,7 @@ int main(int argc, const char *argv[])
}
if (no_trans) {
- tdb_flags |= TDB_CLEAR_IF_FIRST;
+ tdb_flags |= TDB_CLEAR_IF_FIRST|TDB_INCOMPATIBLE_HASH;
}
db = db_open(mem_ctx, db_name, 0, tdb_flags, O_RDWR | O_CREAT, 0644);
diff --git a/source3/utils/smbcontrol.c b/source3/utils/smbcontrol.c
index 7b5f8aaa55..f8b359d99f 100644
--- a/source3/utils/smbcontrol.c
+++ b/source3/utils/smbcontrol.c
@@ -918,7 +918,8 @@ static bool do_winbind_offline(struct messaging_context *msg_ctx,
tdb = tdb_open_log(cache_path("winbindd_cache.tdb"),
WINBINDD_CACHE_TDB_DEFAULT_HASH_SIZE,
- TDB_DEFAULT /* TDB_CLEAR_IF_FIRST */, O_RDWR|O_CREAT, 0600);
+ TDB_DEFAULT|TDB_INCOMPATIBLE_HASH /* TDB_CLEAR_IF_FIRST */,
+ O_RDWR|O_CREAT, 0600);
if (!tdb) {
fprintf(stderr, "Cannot open the tdb %s for writing.\n",
diff --git a/source3/utils/status.c b/source3/utils/status.c
index 12595236e7..053efab592 100644
--- a/source3/utils/status.c
+++ b/source3/utils/status.c
@@ -449,7 +449,7 @@ static int traverse_sessionid(const char *key, struct sessionid *session,
int result;
struct db_context *db;
db = db_open(NULL, lock_path("locking.tdb"), 0,
- TDB_CLEAR_IF_FIRST, O_RDONLY, 0);
+ TDB_CLEAR_IF_FIRST|TDB_INCOMPATIBLE_HASH, O_RDONLY, 0);
if (!db) {
d_printf("%s not initialised\n",