1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-08 21:18:16 +03:00

r18868: just in case there is a disaster (with our code? never ...) use a

rename to group_mapping.tdb.upgraded rather than an unlink when
upgrading. So if we absolutely have to go back to the tdb, we can
change mapping_ldb.o to mapping_tdb.o in Makefile.in and recover
peoples group mappings.

We could go one step futher and make the backend configurable. Any
opinions on that?
This commit is contained in:
Andrew Tridgell 2006-09-24 02:58:58 +00:00 committed by Gerald (Jerry) Carter
parent 4ad1436cea
commit 203fc0b03c

View File

@ -643,6 +643,8 @@ static BOOL mapping_upgrade(const char *tdb_path)
{
static TDB_CONTEXT *tdb;
int ret, status=0;
pstring old_path;
pstring new_path;
tdb = tdb_open_log(tdb_path, 0, TDB_DEFAULT, O_RDWR, 0600);
if (tdb == NULL) goto failed;
@ -657,8 +659,11 @@ static BOOL mapping_upgrade(const char *tdb_path)
if (tdb) tdb_close(tdb);
if (unlink(tdb_path) != 0) {
DEBUG(0,("Failed to delete old group mapping database\n"));
pstrcpy(old_path, tdb_path);
pstrcpy(new_path, lock_path("group_mapping.tdb.upgraded"));
if (rename(old_path, new_path) != 0) {
DEBUG(0,("Failed to rename old group mapping database\n"));
goto failed;
}
return True;