[SCM] Samba Shared Repository - branch master updated
Michael Adam
obnox at samba.org
Fri Jun 25 10:28:46 MDT 2010
The branch, master has been updated
via 6d97360... s3:registry: use regdb_store_regdb_version() in regdb_init().
via 2f44dcc... s3:registry: use regdb_store_regdb_version() in regdb_upgrade_v1_to_v2()
via 5641ee0... s3:registry: add a function regdb_store_regdb_version()
via a9bec6b... s3:registry: rename regdb_upgrade_to_version_2() -> regdb_upgrade_v1_to_v2()
from 36b95fe... s3:net [rpc] registry: be as user-friendly as possible wrt to the normalization change
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 6d973607c3bfec6d82347727b1bf800348c74202
Author: Michael Adam <obnox at samba.org>
Date: Fri Jun 25 18:13:06 2010 +0200
s3:registry: use regdb_store_regdb_version() in regdb_init().
commit 2f44dcc96b5a02379995c8ba6270ff8d89e56953
Author: Michael Adam <obnox at samba.org>
Date: Fri Jun 25 18:12:28 2010 +0200
s3:registry: use regdb_store_regdb_version() in regdb_upgrade_v1_to_v2()
commit 5641ee02fdbd768b90ca8de43ce2f14b007e4245
Author: Michael Adam <obnox at samba.org>
Date: Fri Jun 25 18:11:35 2010 +0200
s3:registry: add a function regdb_store_regdb_version()
commit a9bec6b779edd2feead5fae5cb25cf1f862eaaf2
Author: Michael Adam <obnox at samba.org>
Date: Fri Jun 25 18:04:52 2010 +0200
s3:registry: rename regdb_upgrade_to_version_2() -> regdb_upgrade_v1_to_v2()
-----------------------------------------------------------------------
Summary of changes:
source3/registry/reg_backend_db.c | 61 ++++++++++++++++++++-----------------
1 files changed, 33 insertions(+), 28 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/registry/reg_backend_db.c b/source3/registry/reg_backend_db.c
index 9a0e632..a31f7fb 100644
--- a/source3/registry/reg_backend_db.c
+++ b/source3/registry/reg_backend_db.c
@@ -439,10 +439,32 @@ static int regdb_normalize_keynames_fn(struct db_record *rec,
return 0;
}
-static WERROR regdb_upgrade_to_version_2(void)
+static WERROR regdb_store_regdb_version(uint32_t version)
+{
+ NTSTATUS status;
+ const char *version_keyname = "INFO/version";
+
+ if (!regdb) {
+ return WERR_CAN_NOT_COMPLETE;
+ }
+
+ status = dbwrap_trans_store_int32(regdb, version_keyname, version);
+ if (!NT_STATUS_IS_OK(status)) {
+ DEBUG(1, ("regdb_init: error storing %s = %d: %s\n",
+ version_keyname, version, nt_errstr(status)));
+ return ntstatus_to_werror(status);
+ } else {
+ DEBUG(10, ("regdb_init: stored %s = %d\n",
+ version_keyname, version));
+ return WERR_OK;
+ }
+}
+
+static WERROR regdb_upgrade_v1_to_v2(void)
{
TALLOC_CTX *mem_ctx;
int rc;
+ WERROR werr;
mem_ctx = talloc_stackframe();
if (mem_ctx == NULL) {
@@ -452,7 +474,13 @@ static WERROR regdb_upgrade_to_version_2(void)
rc = regdb->traverse(regdb, regdb_normalize_keynames_fn, mem_ctx);
talloc_destroy(mem_ctx);
- return (rc == -1 ? WERR_REG_IO_FAILURE : WERR_OK);
+
+ if (rc == -1) {
+ return WERR_REG_IO_FAILURE;
+ }
+
+ werr = regdb_store_regdb_version(REGVER_V2);
+ return werr;
}
/***********************************************************************
@@ -493,23 +521,12 @@ WERROR regdb_init(void)
vers_id = dbwrap_fetch_int32(regdb, vstring);
if (vers_id == -1) {
- NTSTATUS status;
-
DEBUG(10, ("regdb_init: registry version uninitialized "
"(got %d), initializing to version %d\n",
vers_id, expected_version));
- status = dbwrap_trans_store_int32(regdb, vstring, REGVER_V2);
- if (!NT_STATUS_IS_OK(status)) {
- DEBUG(1, ("regdb_init: error storing %s = %d: %s\n",
- vstring, expected_version, nt_errstr(status)));
- return ntstatus_to_werror(status);
- } else {
- DEBUG(10, ("regdb_init: stored %s = %d\n",
- vstring, expected_version));
- }
-
- return WERR_OK;
+ werr = regdb_store_regdb_version(expected_version);
+ return werr;
}
if (vers_id > expected_version || vers_id == 0) {
@@ -520,8 +537,6 @@ WERROR regdb_init(void)
}
if (vers_id == REGVER_V1) {
- NTSTATUS status;
-
DEBUG(10, ("regdb_init: got registry db version %d, upgrading "
"to version %d\n", REGVER_V1, REGVER_V2));
@@ -529,22 +544,12 @@ WERROR regdb_init(void)
return WERR_REG_IO_FAILURE;
}
- werr = regdb_upgrade_to_version_2();
+ werr = regdb_upgrade_v1_to_v2();
if (!W_ERROR_IS_OK(werr)) {
regdb->transaction_cancel(regdb);
return werr;
}
- status = dbwrap_trans_store_int32(regdb, vstring, REGVER_V2);
- if (!NT_STATUS_IS_OK(status)) {
- DEBUG(1, ("regdb_init: error storing %s = %d: %s\n",
- vstring, REGVER_V2, nt_errstr(status)));
- regdb->transaction_cancel(regdb);
- return ntstatus_to_werror(status);
- } else {
- DEBUG(10, ("regdb_init: stored %s = %d\n",
- vstring, REGVER_V2));
- }
if (regdb->transaction_commit(regdb) != 0) {
return WERR_REG_IO_FAILURE;
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list