diff options
author | Jeremy Allison <jra@samba.org> | 2002-01-09 05:24:07 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2002-01-09 05:24:07 +0000 |
commit | 3dec9cf99a82bd15626eb99e7d937ff00183cc05 (patch) | |
tree | e9c018cc1cfcc92f82e90fbb0cba14e54ff1403c /source/groupdb | |
parent | a57e13b8b661dd41e8036f862c708b5d3ced82e6 (diff) | |
download | samba-3dec9cf99a82bd15626eb99e7d937ff00183cc05.tar.gz samba-3dec9cf99a82bd15626eb99e7d937ff00183cc05.tar.xz samba-3dec9cf99a82bd15626eb99e7d937ff00183cc05.zip |
When re-writing tdb version numbers as little endian int32, we must
change the version number also.
Jeremy.
Diffstat (limited to 'source/groupdb')
-rw-r--r-- | source/groupdb/mapping.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/source/groupdb/mapping.c b/source/groupdb/mapping.c index 7093f14ecae..e732f26c156 100644 --- a/source/groupdb/mapping.c +++ b/source/groupdb/mapping.c @@ -26,7 +26,9 @@ extern DOM_SID global_sam_sid; static TDB_CONTEXT *tdb; /* used for driver files */ -#define DATABASE_VERSION 1 +#define DATABASE_VERSION_V1 1 /* native byte format. */ +#define DATABASE_VERSION_V2 2 /* le format. */ + #define GROUP_PREFIX "UNIXGROUP/" PRIVS privs[] = { @@ -166,15 +168,15 @@ BOOL init_group_mapping(void) /* Cope with byte-reversed older versions of the db. */ vers_id = tdb_fetch_int32(tdb, vstring); - if ((vers_id != DATABASE_VERSION) && (IREV(vers_id) == DATABASE_VERSION)) { + if ((vers_id == DATABASE_VERSION_V1) || (IREV(vers_id) == DATABASE_VERSION_V1)) { /* Written on a bigendian machine with old fetch_int code. Save as le. */ - tdb_store_int32(tdb, vstring, DATABASE_VERSION); - vers_id = DATABASE_VERSION; + tdb_store_int32(tdb, vstring, DATABASE_VERSION_V2); + vers_id = DATABASE_VERSION_V2; } - if (vers_id != DATABASE_VERSION) { + if (vers_id != DATABASE_VERSION_V2) { tdb_traverse(tdb, tdb_traverse_delete_fn, NULL); - tdb_store_int32(tdb, vstring, DATABASE_VERSION); + tdb_store_int32(tdb, vstring, DATABASE_VERSION_V2); } tdb_unlock_bystring(tdb, vstring); |